Мазмұны:

Баланың мінез -құлқын өзгертуші: 5 қадам (суреттермен)
Баланың мінез -құлқын өзгертуші: 5 қадам (суреттермен)
Anonim
Баланың мінез -құлқын өзгертуші
Баланың мінез -құлқын өзгертуші

Баланың мінез -құлқын өзгертуші сіздің балаңыздың қанша рет қиындыққа тап болғанын жазады (мысалы, ереуілдер) және олар үшке жеткенде, дыбыстық сигнал естіледі және дисплей олардың негізделмегені туралы хабарлайды.

1 -қадам: Қарапайым бастаңыз: түймені қосыңыз

Қарапайым бастаңыз: түймені қосыңыз
Қарапайым бастаңыз: түймені қосыңыз

Бұл жобаның бірінші қадамы қарапайым. 1 түймені қосыңыз. Бұл қадамда сізге 4 еркектен ерге дейінгі сымдар, 1 220 резистор және басу түймесі қажет.

  1. Қуат жағындағы 5В кернеу тақтасындағы оң қатарға қосыңыз
  2. GND тақтасының теріс жағына қосыңыз

  3. Түймені тақтаға салыңыз
  4. Позитивті жолдағы қуатты батырманың төменгі сол жағына қосыңыз

  5. Резисторды пайдаланып, батырманың оң жақ төменгі бөлігіне нан тақтасының теріс қатарына қосыңыз.
  6. Ардуиноның цифрлық жағындағы № 13 түйменің жоғарғы оң жағына қосыңыз.

Батырманың тіркелгенін кодыңызбен растаңыз:

int child1ButtonPin = 13; // Бұл түйме түймені байланыстыратын түйреуіш

int child1ButtonState = 0; // Түйменің күйін оқиды (қосу/өшіру)

int child1Strike = 0; // Баланың қанша соққысы бар

// орнату функциясы тақтаны қалпына келтіру немесе қуат түймесін басқан кезде бір рет іске қосылады

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // цикл функциясы қайта -қайта іске қосылады мәңгі void loop () {// батырманың күйін оқу (қосу немесе өшіру) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // Түйме басылады {Serial.println («HIGH»); кешіктіру (5000); }

if (child1ButtonState == LOW)

{Serial.println («ТӨМЕН»); кешіктіру (5000); }}

2 -қадам: батырмаларды басу үшін кодты өзгертіңіз

Түймешікті басу үшін кодты өзгертіңіз
Түймешікті басу үшін кодты өзгертіңіз
Түймешікті басу үшін кодты өзгертіңіз
Түймешікті басу үшін кодты өзгертіңіз

Түймені басу үшін кодты өзгертіңіз:

int child1ButtonPin = 13; // Бұл түйме түйменің child1ButtonState = 0 -ге қосылған түйреуіш; // түйменің күйін оқиды (қосу/өшіру) int child1PreviousState = 0; // Алдыңғы түйме күйі int child1Strike = 0;

// орнату функциясы тақтаны қалпына келтіру немесе қуат түймесін басқан кезде бір рет іске қосылады

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // цикл функциясы қайта -қайта іске қосылады мәңгі void loop () {// батырманың күйін оқу (қосу немесе өшіру) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Түйме басылады {child1Strike ++; Serial.println (child1Strike); кешіктіру (1000); }}

}

Келесіде балаға 3 ереуіл алатындай етіп кодты өзгертіңіз, содан кейін олар негізсіз деген хабарды алады:

int child1ButtonPin = 13; // Бұл түйме түйменің child1ButtonState = 0 -ге қосылған түйреуіш; // түйменің күйін оқиды (қосу/өшіру) int child1PreviousState = 0; int child1Strike = 0;

// орнату функциясы тақтаны қалпына келтіру немесе қуат түймесін басқан кезде бір рет іске қосылады

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // цикл функциясы қайта -қайта іске қосылады мәңгі void loop () {// батырманың күйін оқу (қосу немесе өшіру) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Түйме басылады {child1Strike ++; Serial.println (child1Strike);

егер (child1Strike> = 3)

{Serial.println («1 -бала негізделеді!»); } кешіктіру (3000); }}

}

Сериялық монитор жоғарыдағы суретке ұқсас болуы керек.

Ескерту: Кешіктіру сізге ыңғайлы екеніне көз жеткізіңіз. Кідіріс болмас үшін, ол 1 түймені бір рет басады!

3 -қадам: Балалы болғаныңызша түймелерді қосыңыз

Сізде қанша бала болса, сонша түйме қосыңыз
Сізде қанша бала болса, сонша түйме қосыңыз
Сізде қанша бала болса, сонша түйме қосыңыз
Сізде қанша бала болса, сонша түйме қосыңыз

Бұл қадамда біз соңғы екі қадамды көшіреміз. Балаларға қанша түйме қоссаңыз, сонша қосыңыз. Менің жағдайда, мен төрт қосамын. Түйме қосылған цифрлық түйреуіш кодын өзгертуді ұмытпаңыз. Менің жағдайда түймелерді қосу үшін мен 12 -ден 10 -ға дейінгі түйреуіштерді қолдандым. Егер сізге еске салу қажет болса, 1 -қадам:

  1. Қуат жағындағы 5В кернеу тақтасындағы оң қатарға қосыңыз

  2. GND тақтасының теріс жағына қосыңыз
  3. Түймені тақтаға салыңыз Позитивті жолдағы қуатты басу түймесінің төменгі сол жағына қосыңыз

  4. Резисторды пайдаланып, батырманың оң жақ төменгі бөлігіне нан тақтасының теріс қатарына қосыңыз.
  5. Ардуиноның сандық жағындағы (PIN нөміріңізді) түйменің жоғарғы оң жағына қосыңыз.

Сондай -ақ, барлық түймелерді басқару үшін кодты өзгерту қажет болады. Есіңізде болсын, егер сіз қолданған жолдарға абай болу қажет болса. Сіз кіші әріптерді бірге қоса алмайсыз. String объектісі ретінде 1 деп жариялау жақсы.

int child1ButtonPin = 13; // Бұл түйме түйменің child2ButtonPin = 12 -ге қосылған түйреуіш; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Түйменің күйін оқиды (қосу/өшіру) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; int child2Strike = 0; int child3Strike = 0; int child4Strike = 0;

// орнату функциясы тақтаны қалпына келтіру немесе қуат түймесін басқан кезде бір рет іске қосылады

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // цикл функциясы қайта -қайта іске қосылады мәңгі void loop () {// батырманың күйін оқу (қосу немесе өшіру) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Түйме басылады {child1Strike ++; Serial.println (String («Child 1 has has:») + child1Strike + «соққылар»);

егер (child1Strike> = 3)

{Serial.println («1 -бала негізделеді!»); } кешіктіру (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Түйме басылады {child2Strike ++; Serial.println (Жол («2 -бала:») + child2Strike + «соққылар»);

егер (child2Strike> = 3)

{Serial.println («2 -бала жерге тұйықталған!»); } кешіктіру (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Түйме басылады {child3Strike ++; Serial.println (String («3 -бала:») + child3Strike + «соққылар»);

егер (child3Strike> = 3)

{Serial.println («3 -бала жерге тұйықталған!»); } кешіктіру (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Түйме басылады {child4Strike ++; Serial.println (Жол («4 -ші бала:») + child4Strike + «соққылар»);

егер (child4Strike> = 3)

{Serial.println («4 -бала жерге тұйықталған!»); } кешіктіру (3000); }}}

4 -қадам: Дабыл сигналын қосыңыз

Дыбыстық сигналды қосыңыз
Дыбыстық сигналды қосыңыз
Дыбыстық сигналды қосыңыз
Дыбыстық сигналды қосыңыз

Енді сіздің балаларыңыз олардың жерге қосылғанын білетініне көз жеткізейік. Дыбыстық сигналды қосайық. Дыбыстық сигналды қосу үшін мына қарапайым қадамдарды орындаңыз.

  1. Нан тақтасына дыбыстық сигналды қосыңыз, кеңістікті жоспарлаңыз, өйткені СКД экраны шығады.
  2. Постивті жағын (дыбыстық сигналда позитивті жағында + белгісі болуы керек) өзіңіз қалаған түйреуішке қосыңыз. Мен 9 жасадым.
  3. Екінші жағын тақтаның жерге тұйықталған рельсіне қосыңыз.

Содан кейін, бала жерге қосылған кезде дыбыстық сигналды өшіру үшін кодты өзгертіңіз. Дыбыстық сигналды кодтаудың бірнеше түрлі әдістері бар, бірақ маған оның үнділігі (buzzerName, hertz, ұзақтығы) қарапайымдылығы үшін ұнайды, сондықтан бұған мысал тон болады (баззер, 4000, 300).

int child1ButtonPin = 13; // Бұл түйме түйменің child2ButtonPin = 12 -ге қосылған түйреуіш; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Түйменің күйін оқиды (қосу/өшіру) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int buzzer = 2;

// орнату функциясы тақтаны қалпына келтіру немесе қуат түймесін басқан кезде бір рет іске қосылады

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (дыбыстық сигнал, OUTPUT); } // цикл функциясы қайта -қайта іске қосылады мәңгі void loop () {// батырманың күйін оқу (қосу немесе өшіру) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Түйме басылады {child1Strike ++; Serial.println (String («Child 1 has has:») + child1Strike + «соққылар»);

егер (child1Strike> = 3)

{Serial.println («1 -бала негізделеді!»); тон (дыбыстық сигнал, 5000, 500); // 5 герц дыбысын 5 миллисекундқа жібереді

}

кешіктіру (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Түйме басылады {child2Strike ++; Serial.println (Жол («2 -бала:») + child2Strike + «соққылар»);

егер (child2Strike> = 3)

{Serial.println («2 -бала жерге тұйықталған!»); тон (дыбыстық сигнал, 5000, 500); } кешіктіру (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Түйме басылады {child3Strike ++; Serial.println (Жол («3 -балада:») + child3Strike + «соққылар»);

егер (child3Strike> = 3)

{Serial.println («3 -бала жерге тұйықталған!»); тон (дыбыстық сигнал, 5000, 500); } кешіктіру (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Түйме басылады {child4Strike ++; Serial.println (Жол («4 -ші бала:») + child4Strike + «соққылар»);

егер (child4Strike> = 3)

{Serial.println («4 -бала жерге тұйықталған!»); тон (дыбыстық сигнал, 5000, 500); } кешіктіру (3000); }}}

5 -қадам: СКД экранын қосыңыз

Image
Image
СКД экранын қосыңыз
СКД экранын қосыңыз

Енді анық және оңай оқуға арналған СКД экранына мүмкіндік береді.

  1. Алдымен, дисплей экранын басқару үшін тақтаға потенциометрді қосыңыз. Қайда қойғаныңызға абай болыңыз, өйткені сізде бос орын жоқ шығар.
  2. Потенциометрді электр рельсіне қосу үшін сол жақ алдыңғы жағын пайдаланыңыз
  3. Потенциометрді жерге қосу үшін алдыңғы оң жағын пайдаланыңыз.
  4. Артқы жағы LCD экранына қосылады.
  5. СКД экранын тақтаға қосыңыз
  6. Бірінші экран штырын жерге тұйықтау рельсіне қосыңыз
  7. Екінші түйреуішті электр рельсіне жалғаңыз.
  8. Үшінші СКД түйреуіші Arduino -дегі 8 -пинге өтеді
  9. Төртінші СКД түйреуіші Arduino 7 -ші пинге өтеді
  10. Бесінші Arduino -дағы 6 -пинге өтеді
  11. Алтыншы түйін Arduino 5 -ші пинге өтеді
  12. СКД экранындағы 7 -ден 10 -ға дейінгі түйреуіштер бос
  13. 11 -пин Arduino -дағы 5 -ші пинге өтеді
  14. 12 түйреуіш жерге тұйықталған рельске түседі
  15. 13 -ші түйін Arduino -дағы 4 -ші пинге өтеді
  16. 14 түйреуіш потенциометрдің артқы жағына өтеді
  17. 15 түйреуіш қуат рельсіне түседі
  18. 16 -штырь жер үсті рельсіне түседі.

Енді сіз экранды пайдалану үшін кодты жаңартуыңыз керек. Ол үшін сіз libary Liquid Crystal қолданасыз. СКД басып шығару мәлімдемелеріне абай болыңыз. Жаңа хабар қажет болғанда экранды тазалауды ұмытпаңыз. Сондай -ақ, екі жолды қолданғыңыз келгенде курсорды орнатуды ұмытпаңыз.

#қосу

LiquidCrystal lcd (3, 4, 5, 6, 7, 8); // СКД экранын орнатады

int child1ButtonPin = 13; // Бұл түйме біздің түйме int child2ButtonPin = 12 -ге қосылған түйреуіш; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Түйменің күйін оқиды (қосу/өшіру) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; // Батырманың алдыңғы күйі int child2PreviousState = 0 басылды; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; // Баланың int child2Strike = 0 қанша соққысы бар; int child3Strike = 0; int child4Strike = 0; const int buzzer = 9; // Зумер

// орнату функциясы тақтаны қалпына келтіру немесе қуат түймесін басқан кезде бір рет іске қосылады

void setup () {Serial.begin (9600); lcd.begin (16, 2); lcd.print («Бала»); lcd.setCursor (0, 1); lcd.print («Мінез -құлықты өзгертуші»); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (дыбыстық сигнал, OUTPUT); } // цикл функциясы қайта -қайта іске қосылады мәңгі void loop () {lcd.setCursor (0, 0); // түйменің күйін оқу (қосу немесе өшіру) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Түйме басылады {lcd.clear (); child1Strike ++; Serial.println (String («Child 1 has has:») + child1Strike + «соққылар»); lcd.print («1 -балада бар:»); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print («Ереуілдер!»);

егер (child1Strike> = 3)

{Serial.println («1 -бала негізделеді!»); lcd.clear (); lcd.setCursor (0, 0); lcd.print («1 -бала»); lcd.setCursor (0, 1); lcd.print («Жерлендірілген!»);

тон (дыбыстық сигнал, 5000, 500); // 5 герц дыбысты 5 миллисекундқа жібереді

}

кешіктіру (3000); }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == HIGH) // Түйме басылады {child2Strike ++; Serial.println (Жол («2 -ші бала:») + child2Strike + «соққылар»); lcd.print («2 -бала бар:»); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print («Ереуілдер!»); if (child2Strike> = 3) {Serial.println («Бала 2 жерге қосылған!»); lcd.clear (); lcd.setCursor (0, 0); lcd.print («2 -бала»); lcd.setCursor (0, 1); lcd.print («Жерлендірілген!»); тон (дыбыстық сигнал, 5000, 500); } кешіктіру (3000); }}

if (child3ButtonState! = child3PreviousState)

{lcd.clear (); if (child3ButtonState == HIGH) // Түйме басылады {child3Strike ++; Serial.println (String («3 -бала:») + child3Strike + «соққылар»); lcd.print («3 -балада бар:»); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print («Ереуілдер!»); if (child3Strike> = 3) {Serial.println («Бала 3 жерге тұйықталған!»); lcd.clear (); lcd.setCursor (0, 0); lcd.print («3 -бала»); lcd.setCursor (0, 1); lcd.print («Жерлендірілген!»); тон (дыбыстық сигнал, 5000, 500); } кешіктіру (3000); }}

if (child4ButtonState! = child4PreviousState)

{lcd.clear (); if (child4ButtonState == HIGH) // Түйме басылады {child4Strike ++; Serial.println (Жол («4 -ші бала:») + child4Strike + «соққылар»); lcd.print («4 -ші бала бар:»); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print («Ереуілдер!»);

егер (child4Strike> = 3)

{Serial.println («4 -ші бала жерге тұйықталған!»); lcd.clear (); lcd.setCursor (0, 0); lcd.print («4 -бала»); lcd.setCursor (0, 1); lcd.print («Жерлендірілген!»); тон (дыбыстық сигнал, 5000, 500); } кешіктіру (3000); }}} Міне, баланың мінез -құлқын өзгерту құралын жасау үшін сізге осының бәрі қажет

Ұсынылған: