Բովանդակություն:

Երեխայի վարքագծի փոփոխիչ. 5 քայլ (նկարներով)
Երեխայի վարքագծի փոփոխիչ. 5 քայլ (նկարներով)

Video: Երեխայի վարքագծի փոփոխիչ. 5 քայլ (նկարներով)

Video: Երեխայի վարքագծի փոփոխիչ. 5 քայլ (նկարներով)
Video: Երեխայի զարգացումը 0-3 տարիքային խմբում 2024, Նոյեմբեր
Anonim
Երեխայի վարքագծի փոփոխիչ
Երեխայի վարքագծի փոփոխիչ

Երեխայի վարքագծի փոփոխիչը գրանցում է, թե քանի անգամ է ձեր երեխան դժվարության մեջ ընկել (նույնը ՝ հարվածներ), և երբ նրանք հասնում են երեքի, բզզոցը անջատվում է, և LCD էկրանը հայտարարում է, որ դրանք հիմնավորված են:

Քայլ 1: Սկսեք պարզ. Ավելացնել կոճակ

Սկսեք պարզ ՝ ավելացնել կոճակ
Սկսեք պարզ ՝ ավելացնել կոճակ

Այս ծրագրի առաջին քայլը պարզ է: Ավելացնել 1 կոճակ: Այս քայլում ձեզ հարկավոր է ՝ 4 Արականից արական լարեր, 1 220 Resisitor և մեկ կոճակ:

  1. Միացրեք Power- ի 5V- ը հացահատիկի դրական շարքին
  2. GND- ը միացրեք տախտակի բացասական կողմին

  3. Տեղադրեք կոճակը սեղանի վրա
  4. Կապի կոճակի ձախ ներքևի մասին միացրեք պոստիվ տողի հոսանքը

  5. Հիմնավորեք կոճակը ՝ դիմադրիչի միջոցով սեղմելով կոճակի ներքևի աջ մասում մինչև տախտակի բացասական շարանը:
  6. Միացրեք Arduino- ի թվային կողմի թիվ 13 կոճակի վերին աջ կողմը:

Ձեր ծածկագրով հաստատեք, որ կոճակը գրանցում է.

int child1ButtonPin = 13; // Սա այն քորոցն է, որին միացված է մեր կոճակը

int child1ButtonState = 0; // Կարդում է կոճակի վիճակը (միացված/անջատված)

int child1Strike = 0; // Քանի հարված է հասցնում երեխային

// կարգաբերման գործառույթը գործարկվում է մեկ անգամ, երբ սեղմում եք վերականգնել կամ միացնել տախտակը

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // loop գործառույթը անընդհատ գործարկում է անվերջ void loop () {// կարդալ կոճակի վիճակը (միացված կամ անջատված) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // կոճակը սեղմված է {Serial.println ("HIGH"); ուշացում (5000); }

եթե (child1ButtonState == OWԱOWՐ)

{Serial.println ("OWԱOWՐ"); ուշացում (5000); }}

Քայլ 2. Փոփոխեք ծածկագիրը ՝ կոճակների սեղմումները գրանցելու համար

Փոփոխել կոդը ՝ կոճակների սեղմումները գրանցելու համար
Փոփոխել կոդը ՝ կոճակների սեղմումները գրանցելու համար
Փոփոխել ծածկագիրը ՝ կոճակների սեղմումները գրանցելու համար
Փոփոխել ծածկագիրը ՝ կոճակների սեղմումները գրանցելու համար

Փոփոխեք ծածկագիրը ՝ կոճակը սեղմելու համար գրանցելու համար.

int child1ButtonPin = 13; // Սա այն քորոցն է, որին միացված է մեր կոճակը child1ButtonState = 0; // Կարդում է կոճակի վիճակը (միացված/անջատված) int child1PreviousState = 0; // Նախորդ կոճակի վիճակը int child1Strike = 0;

// կարգաբերման գործառույթը գործում է մեկ անգամ, երբ սեղմում եք վերականգնել կամ միացնել տախտակը

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // loop գործառույթը անընդհատ գործարկում է անվերջ void loop () {// կարդալ կոճակի վիճակը (միացված կամ անջատված) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // կոճակը սեղմված է {child1Strike ++; Serial.println (child1Strike); ուշացում (1000); }}

}

Հաջորդը Փոփոխեք օրենսգիրքը, որպեսզի երեխան 3 հարված ստանա, որից հետո նրանք կստանան հաղորդագրություն, որ հիմնավորված են.

int child1ButtonPin = 13; // Սա այն քորոցն է, որին միացված է մեր կոճակը երեխայի համար int child1Strike = 0;

// կարգաբերման գործառույթը գործում է մեկ անգամ, երբ սեղմում եք վերականգնել կամ միացնել տախտակը

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // loop գործառույթը անընդհատ գործարկում է անվերջ void loop () {// կարդալ կոճակի վիճակը (միացված կամ անջատված) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // կոճակը սեղմված է {child1Strike ++; Serial.println (child1Strike);

եթե (child1Strike> = 3)

{Serial.println («Երեխան 1 -ը հիմնավորված է»); } ուշացում (3000); }}

}

Serial Moniter- ը պետք է նման լինի վերևի պատկերին:

Նշում. Համոզվեք, որ ձեզ հարմար է ուշացումը: Չնչին ուշացումով, և այն կգրանցի 1 կոճակի սեղմում մեկից ավելին:

Քայլ 3: Ավելացրեք այնքան կոճակ, որքան երեխաներ ունեք

Ավելացրեք այնքան կոճակ, որքան երեխաներ ունեք
Ավելացրեք այնքան կոճակ, որքան երեխաներ ունեք
Ավելացրեք այնքան կոճակ, որքան երեխաներ ունեք
Ավելացրեք այնքան կոճակ, որքան երեխաներ ունեք

Այս քայլում մենք պարզապես պատճենում ենք վերջին երկու քայլերը: Ավելացրեք այնքան կոճակ, որքան երեխաներին: Իմ դեպքում ես ավելացնում եմ չորսը: Համոզվեք, որ ձեր կոդը փոխեք թվային քորոցը, որի կոճակը միացված է: Իմ դեպքում ես կոճակներ ավելացնելու համար օգտագործել եմ 12 -ից 10 -ի կապում: Այն դեպքում, երբ ձեզ հարկավոր է հիշեցնել, այստեղ քայլ 1 -ն է.

  1. Միացրեք Power- ի 5V- ը հացահատիկի դրական շարքին
  2. GND- ը միացրեք տախտակի բացասական կողմին

  3. Տեղադրեք կոճակը սեղանի վրա
  4. Հիմնավորեք կոճակը ՝ դիմադրիչի միջոցով սեղմելով կոճակի ներքևի աջ մասում մինչև տախտակի բացասական շարանը:

  5. Միացրեք (ձեր PIN- ի համարը) Arduino- ի թվային կողմում `կոճակի վերին աջ կողմում:

Դուք նաև պետք է փոփոխեք ծածկագիրը ՝ ձեր բոլոր կոճակները կարգավորելու համար: Խնդրում ենք նկատի ունենալ, որ եթե անհրաժեշտ է զգույշ լինել ձեր օգտագործած լարերի նկատմամբ: Դուք չեք կարող միասին փոքրատառ ավելացնել: Լավագույնն այն է, որ 1 -ը հայտարարվի որպես Լարային օբյեկտ:

int child1ButtonPin = 13; // Սա այն քորոցն է, որին միացված է մեր կոճակը երեխայի մեջ 2 ButtonPin = 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); } // loop գործառույթը անընդհատ գործարկում է անվերջ void loop () {// կարդալ կոճակի վիճակը (միացված կամ անջատված) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

եթե (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // կոճակը սեղմված է {child1Strike ++; Serial.println (Լարային («Երեխան 1 -ն ունի.») + Child1Strike + «հարվածներ»);

եթե (child1Strike> = 3)

{Serial.println («Երեխան 1 -ը հիմնավորված է»); } ուշացում (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // կոճակը սեղմված է {child2Strike ++; Serial.println (Լարային («Երեխան 2 ունի.») + Child2Strike + «հարվածներ»);

եթե (child2Strike> = 3)

{Serial.println («Երեխան 2 հիմնավորված է»); } ուշացում (3000); }}

եթե (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // կոճակը սեղմված է {child3Strike ++; Serial.println (լարային («Երեխան 3 -ն ունի.») + Child3Strike + «հարվածներ»);

եթե (child3Strike> = 3)

{Serial.println («Երեխան 3 -ը հիմնավորված է»); } ուշացում (3000); }}

եթե (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // կոճակը սեղմված է {child4Strike ++; Serial.println (լարային («Երեխան 4 -ն ունի.») + Child4Strike + «հարվածներ»);

եթե (child4Strike> = 3)

{Serial.println («Երեխան 4 -ը հիմնավորված է»); } ուշացում (3000); }}}

Քայլ 4: Ավելացրեք ազդանշան

Ավելացնել Buzzer
Ավելացնել Buzzer
Ավելացնել Buzzer
Ավելացնել Buzzer

Այժմ եկեք համոզվենք, որ ձեր երեխաները գիտեն, որ հիմնավորված են: Եկեք ավելացնենք ազդանշան: Theանգիչը միացնելու համար հետևեք այս հեշտ քայլերին:

  1. Ձեր սեղանի սեղանին ավելացրեք Buzzer, պլանավորեք տարածություն, քանի որ LCD էկրան է գալիս:
  2. Միացրեք Postive կողմը (ազդանշանը պետք է ունենա + + postive կողմում) ձեր ընտրած Pin- ին: Ես արեցի 9 -ը:
  3. Միացրեք մյուս կողմը ձեր տախտակի հիմնավորված ռելսին:

Հաջորդը, փոփոխեք ձեր ծածկագիրը `ազդանշանը անջատելու համար, երբ երեխան հիմնավորված է դառնում: Ձեր ազդանշանի համար կոդավորելու մի քանի տարբեր եղանակներ կան, բայց ինձ դուր է գալիս հնչերանգը (buzzerName, hertz, duration) իր պարզության համար: Այսպիսով, դրա օրինակը կլինի հնչերանգը (buzzer, 4000, 300):

int child1ButtonPin = 13; // Սա այն քորոցն է, որին միացված է մեր կոճակը երեխայի մեջ 2 ButtonPin = 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); } // loop գործառույթը անընդհատ գործարկում է անվերջ void loop () {// կարդալ կոճակի վիճակը (միացված կամ անջատված) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

եթե (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // կոճակը սեղմված է {child1Strike ++; Serial.println (Լարային («Երեխան 1 -ն ունի.») + 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); }}

եթե (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // կոճակը սեղմված է {child3Strike ++; Serial.println (լարային («Երեխան 3 -ն ունի.») + Child3Strike + «հարվածներ»);

եթե (child3Strike> = 3)

{Serial.println («Երեխան 3 -ը հիմնավորված է»); տոն (ազդանշան, 5000, 500); } ուշացում (3000); }}

եթե (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // կոճակը սեղմված է {child4Strike ++; Serial.println (լարային («Երեխան 4 -ն ունի.») + Child4Strike + «հարվածներ»);

եթե (child4Strike> = 3)

{Serial.println («Երեխան 4 -ը հիմնավորված է»); տոն (ազդանշան, 5000, 500); } ուշացում (3000); }}}

Քայլ 5: Ավելացրեք LCD էկրան

Image
Image
Ավելացնել LCD էկրան
Ավելացնել LCD էկրան

Այժմ թույլ է տալիս LCD էկրան պարզ և հեշտ ընթերցման համար:

  1. Սկզբում պոտենցիոմետր ավելացրեք ձեր տախտակին ՝ LCD էկրանը կառավարելու համար: Carefulգույշ եղեք, թե որտեղ եք այն դնում, քանի որ, հավանաբար, այժմ ձեր տարածքը սպառվում է:
  2. Օգտագործեք առջևի ձախ մասը ՝ ձեր պոտենցիոմետրը հոսանքի ռելսին միացնելու համար
  3. Օգտագործեք առջևի աջ մասը ՝ ձեր պոտենցիոմետրը հիմնավորելու համար:
  4. Հետևը միացված կլինի LCD էկրանին:
  5. Ավելացրեք LCD էկրանը ձեր տախտակին
  6. Հիմնադրեք առաջին էկրանի քորոցը դեպի հիմնավորման ռելս
  7. Լարացրեք երկրորդ կապը հոսանքի ռելսին:
  8. Երրորդ LCD կապը անցնում է Arduino- ի Pin 8 -ին
  9. Չորրորդ LCD կապն անցնում է Arduino- ի Pin 7 -ին
  10. Հինգերորդը անցնում է Arduino- ի 6 -րդ կապին
  11. Sixth Pin- ը անցնում է Arduino- ի 5 -րդ կապին
  12. LCD էկրանին 7 -ից 10 -րդ կապումներն դատարկ են
  13. Պին 11 -ը անցնում է Arduino- ի 5 -րդ կապին
  14. Պին 12 -ը գնում է դեպի հիմնավորված երկաթուղի
  15. 13 -րդ կապը անցնում է Arduino- ի 4 -րդ կապին
  16. Պին 14 -ը գնում է պոտենցիոմետրի հետևի մասում
  17. Պին 15 -ը գնում է Power երկաթուղու վրա
  18. 16 -րդ կապը գնում է Ground Rail:

Այժմ դուք պետք է թարմացնեք ձեր ծածկագիրը ՝ LCD էկրանն օգտագործելու համար: Դրա համար դուք կօգտագործեք libary Liquid Crystal- ը: Beգույշ եղեք ձեր LCD տպագիր հայտարարություններից: Հիշեք, որ նոր հաղորդագրության կարիք ունենալու դեպքում մաքրեք էկրանը: Նաև հիշեք, որ կուրսորը տեղադրեք, երբ ցանկանում եք օգտագործել երկու տող:

#ներառում

LiquidCrystal LCD (3, 4, 5, 6, 7, 8); // Կարգավորում է LCD էկրանը

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. սկսել (16, 2); lcd.print («Երեխան»); lcd.setCursor (0, 1); lcd.print («Վարքագծի փոփոխիչ»); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (ազդանշանային, OUTPUT); } // loop գործառույթը անընդհատ գործարկում է ընդմիշտ void loop () {lcd.setCursor (0, 0); // կարդալ կոճակի վիճակը (միացված կամ անջատված) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

եթե (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // կոճակը սեղմված է {lcd.clear (); child1Strike ++; Serial.println (Լարային («Երեխան 1 -ն ունի.») + Child1Strike + «հարվածներ»); lcd.print («Երեխան 1 -ն ունի.»); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print («Հարվածներ»);

եթե (child1Strike> = 3)

{Serial.println («Երեխան 1 -ը հիմնավորված է»); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Երեխան 1 -ն է»); lcd.setCursor (0, 1); lcd.print ("Grounded!");

տոն (ազդանշան, 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. հստակ (); lcd.setCursor (0, 0); lcd.print («Երեխան 2 -ն է»); lcd.setCursor (0, 1); lcd.print ("Grounded!"); տոն (ազդանշան, 5000, 500); } ուշացում (3000); }}

եթե (child3ButtonState! = child3PreviousState)

{lcd.clear (); if (child3ButtonState == HIGH) // կոճակը սեղմված է {child3Strike ++; Serial.println (լարային («Երեխան 3 -ն ունի.») + Child3Strike + «հարվածներ»); lcd.print («Երեխան 3 -ն ունի.»); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print («Հարվածներ»); if (child3Strike> = 3) {Serial.println ("Երեխան 3 -ն հիմնավորված է"); lcd. հստակ (); lcd.setCursor (0, 0); lcd.print («Երեխան 3 -ն է»); lcd.setCursor (0, 1); lcd.print ("Grounded!"); տոն (ազդանշան, 5000, 500); } ուշացում (3000); }}

եթե (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. հստակ (); lcd.setCursor (0, 0); lcd.print («Երեխան 4 տարեկան է»); lcd.setCursor (0, 1); lcd.print ("Grounded!"); տոն (ազդանշան, 5000, 500); } ուշացում (3000); }}} Եվ վերջ, դա այն ամենն է, ինչ անհրաժեշտ է ձեր սեփական երեխայի վարքագծի փոփոխիչ ստեղծելու համար

Խորհուրդ ենք տալիս: