Tartalomjegyzék:

Gyermek viselkedésmódosító: 5 lépés (képekkel)
Gyermek viselkedésmódosító: 5 lépés (képekkel)

Videó: Gyermek viselkedésmódosító: 5 lépés (képekkel)

Videó: Gyermek viselkedésmódosító: 5 lépés (képekkel)
Videó: Nárcisztikus Szabadegyetem 5. - A nárcisztikus rumináció fogalma és kezelése (agyalás) 2024, November
Anonim
Gyermek viselkedésmódosító
Gyermek viselkedésmódosító

A gyermek viselkedésmódosító rögzíti, hogy gyermeke hányszor került bajba (más néven Strikes), és amikor eléri a három évet, egy hangjelzés megszólal, és egy LCD képernyő jelzi, hogy földeltek.

1. lépés: Kezdje egyszerűen: Adjon hozzá egy gombot

Kezdje egyszerűen: Adjon hozzá egy gombot
Kezdje egyszerűen: Adjon hozzá egy gombot

A projekt első lépése egyszerű. 1 gomb hozzáadása. Ebben a lépésben 4 db férfi -férfi vezetékre, 1 220 Resisitor -ra és egy nyomógombra van szüksége.

  1. Csatlakoztassa az 5 V -ot a tápellátás oldalára a kenyértábla pozitív sorához
  2. Csatlakoztassa a GND -t a kenyértábla negatív oldalához

  3. Illessze a nyomógombot a kenyértáblára
  4. Csatlakoztassa a tápellátást a nyomógomb bal alsó részéhez
  5. Földelje le a gombot egy ellenállás segítségével a nyomógomb jobb alsó részén a kenyértábla negatív sorához.

  6. Csatlakoztassa a #13 -at az Arduino digitális oldalán a gomb jobb felső sarkához.

Ellenőrizze kódjával, hogy a gomb regisztrál:

int child1ButtonPin = 13; // Ez a gomb, amelyhez a nyomógombunk csatlakozik

int child1ButtonState = 0; // Olvassa be a gomb állapotát (be/ki)

int child1Strike = 0; // Hány ütése van a gyermeknek

// a beállítási funkció egyszer fut, amikor megnyomja a reset gombot vagy bekapcsolja a táblát

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // a ciklusfüggvény újra és újra fut örökké void loop () {// olvassa el a gomb állapotát (be vagy ki) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // A gomb megnyomása {Serial.println ("HIGH"); késleltetés (5000); }

if (gyermek1ButtonState == LOW)

{Serial.println ("LOW"); késleltetés (5000); }}

2. lépés: Módosítsa a kódot a regisztrációs gomb megnyomására

Módosítsa a kódot a regisztrációhoz
Módosítsa a kódot a regisztrációhoz
Módosítsa a kódot a regisztrációhoz
Módosítsa a kódot a regisztrációhoz

Módosítsa a kódot egy gombnyomás regisztrálásához:

int child1ButtonPin = 13; // Ez az a gomb, amelyhez a nyomógombunk csatlakozik // Előző gomb állapota int child1Strike = 0;

// a beállítási funkció egyszer fut, amikor megnyomja a reset gombot vagy bekapcsolja a táblát

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // a ciklusfüggvény újra és újra fut örökké void loop () {// olvassa el a gomb állapotát (be vagy ki) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // A gomb megnyomása {child1Strike ++; Serial.println (gyermek1Strike); késleltetés (1000); }}

}

Ezután módosítsa a kódot úgy, hogy a gyermek 3 ütést kapjon, majd kapjon egy üzenetet arról, hogy megalapozott:

int child1ButtonPin = 13; // Ez az a gomb, amelyhez a nyomógombunk csatlakozik int child1Strike = 0;

// a beállítási funkció egyszer fut, amikor megnyomja a reset gombot vagy bekapcsolja a táblát

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // a ciklusfüggvény újra és újra fut örökké void loop () {// olvassa el a gomb állapotát (be vagy ki) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // A gomb megnyomása {child1Strike ++; Serial.println (gyermek1Strike);

ha (gyermek1ütés> = 3)

{Serial.println ("Az 1. gyermek megalapozott!"); } késleltetés (3000); }}

}

A soros monitornak úgy kell kinéznie, mint a fenti képen.

Megjegyzés: Győződjön meg arról, hogy jól érzi magát a késleltetéssel. Kicsit késik, és regisztrál 1 gombnyomást több mint egynél!

3. lépés: Adjon hozzá annyi gombot, amennyi gyermeke van

Adjon hozzá annyi gombot, amennyi gyermeke van
Adjon hozzá annyi gombot, amennyi gyermeke van
Adjon hozzá annyi gombot, amennyi gyermeke van
Adjon hozzá annyi gombot, amennyi gyermeke van

Ebben a lépésben egyszerűen lemásoljuk az utolsó pár lépést. Adjon hozzá annyi gombot, mint a gyerekek. Esetemben négyet adok hozzá. Győződjön meg arról, hogy megváltoztatta a kódot azon a digitális tűn, amelyhez a gomb csatlakozik. Esetemben a 12-10 -es csapokat használtam a gombok hozzáadásához. Ha emlékeztetni szeretne, itt van az 1. lépés:

  1. Csatlakoztassa az 5 V -ot a tápellátás oldalára a kenyértábla pozitív sorához
  2. Csatlakoztassa a GND -t a kenyértábla negatív oldalához

  3. Helyezze be a nyomógombot a kenyértáblára
  4. Földelje le a gombot egy ellenállással a nyomógomb jobb alsó részén a kenyértábla negatív sorához.
  5. Csatlakoztassa (PIN -kódját) az Arduino digitális oldalán a gomb jobb felső sarkához.

Ezenkívül módosítania kell a kódot, hogy kezelje az összes gombot. Kérjük, ne feledje, hogy ha óvatosnak kell lennie a használt húrokkal. Nem adhat hozzá kisbetűket együtt. A legjobb, ha az 1 -t String objektumként deklaráljuk.

int child1ButtonPin = 13; // Ez az a gomb, amelyhez a nyomógombunk csatlakozik a child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Olvassa be a gomb állapotát (be/ki) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int gyermek1Előzőállapot = 0; int gyermek2Előzőállapot = 0; int gyermek3Előzőállapot = 0; int child4PreviousState = 0; int child1Strike = 0; int gyermek2Strike = 0; int child3Strike = 0; int child4Strike = 0;

// a beállítási funkció egyszer fut, amikor megnyomja a reset gombot vagy bekapcsolja a táblát

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // a ciklusfüggvény újra és újra fut örökké void loop () {// olvassa el a gomb állapotát (be vagy ki) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // A gomb megnyomása {child1Strike ++; Serial.println (String ("Az 1. gyermeknek van:") + child1Strike + "ütések");

ha (gyermek1ütés> = 3)

{Serial.println ("Az 1. gyermek megalapozott!"); } késleltetés (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // A gomb megnyomása {child2Strike ++; Serial.println (String ("A 2. gyermeknek van:") + child2Strike + "ütések");

ha (child2Strike> = 3)

{Serial.println ("A 2. gyermek földelve van!"); } késleltetés (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // A gomb megnyomása {child3Strike ++; Serial.println (String ("A 3. gyermeknek van:") + child3Strike + "ütések");

ha (child3Strike> = 3)

{Serial.println ("A 3. gyermek földelve van!"); } késleltetés (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // A gomb megnyomása {child4Strike ++; Serial.println (String ("A 4. gyermek rendelkezik:") + child4Strike + "ütések");

ha (child4Strike> = 3)

{Serial.println ("A 4. gyermek földelve van!"); } késleltetés (3000); }}}

4. lépés: Zümmögő hozzáadása

Zümmögő hozzáadása
Zümmögő hozzáadása
Zümmögő hozzáadása
Zümmögő hozzáadása

Most győződjön meg arról, hogy gyermekei tudják, hogy földelve vannak. Adjunk hozzá egy hangjelzőt. A hangjelző csatlakoztatásához kövesse ezeket az egyszerű lépéseket.

  1. Adjon hozzá egy zümmögőt a kenyértáblához, és tervezzen helyet, mivel megjelenik egy LCD képernyő.
  2. Csatlakoztassa a posztív oldalt (a zümmernek + -nak kell lennie a posztív oldalon) az Ön által választott csaphoz. 9 -et csináltam.
  3. Csatlakoztassa a másik oldalt a kenyértáblájának földelt sínjéhez.

Ezután módosítsa a kódot, hogy kikapcsolja a zümmögőt, amikor egy gyermek földel. Van néhány különböző módszer a zümmögő kódolására, de szeretem a hangot (buzzerName, hertz, duration) az egyszerűsége miatt. Tehát erre példa lehet a tone (zümmögő, 4000, 300).

int child1ButtonPin = 13; // Ez a gomb, amelyhez a nyomógombunk csatlakozik a child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Olvassa be a gomb állapotát (be/ki) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int gyermek1Előzőállapot = 0; int gyermek2Előzőállapot = 0; int gyermek3Előzőállapot = 0; int child4PreviousState = 0; int child1Strike = 0; int gyermek2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int zümmögő = 2;

// a beállítási funkció egyszer fut, amikor megnyomja a reset gombot vagy bekapcsolja a táblát

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (hangjelző, OUTPUT); } // a ciklusfüggvény újra és újra fut örökké void loop () {// olvassa el a gomb állapotát (be vagy ki) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // A gomb megnyomása {child1Strike ++; Serial.println (String ("Az 1. gyermeknek van:") + child1Strike + "ütések");

ha (gyermek1ütés> = 3)

{Serial.println ("Az 1. gyermek megalapozott!"); hangjelzés (zümmögő, 5000, 500); // 5 hertz hangot küld 5 ezredmásodpercig

}

késleltetés (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // A gomb megnyomása {child2Strike ++; Serial.println (String ("A 2. gyermeknek van:") + child2Strike + "ütések");

ha (child2Strike> = 3)

{Serial.println ("A 2. gyermek földelve van!"); hangjelzés (zümmögő, 5000, 500); } késleltetés (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // A gomb megnyomása {child3Strike ++; Serial.println (String ("A 3. gyermeknek van:") + child3Strike + "ütések");

ha (child3Strike> = 3)

{Serial.println ("A 3. gyermek földelve van!"); hangjelzés (zümmögő, 5000, 500); } késleltetés (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // A gomb megnyomása {child4Strike ++; Serial.println (String ("A 4. gyermek rendelkezik:") + child4Strike + "ütések");

ha (child4Strike> = 3)

{Serial.println ("A 4. gyermek földelve van!"); hangjelzés (zümmögő, 5000, 500); } késleltetés (3000); }}}

5. lépés: LCD képernyő hozzáadása

Image
Image
LCD képernyő hozzáadása
LCD képernyő hozzáadása

Most engedje meg az LCD képernyőt a tiszta és könnyű olvasáshoz.

  1. Először adjon hozzá egy potenciométert a kenyértáblájához az LCD képernyő vezérléséhez. Vigyázzon arra, hová tette, mert valószínűleg mostanra elfogy a hely.
  2. A bal oldali elülső oldalon csatlakoztassa a potenciométert az áramellátáshoz
  3. Használja a jobb első részt a potenciométer földeléséhez.
  4. A hátlap csatlakozik az LCD képernyőhöz.
  5. Adja hozzá az LCD -képernyőt a kenyértáblához
  6. Földelje le az első szitacsapot a földelő sínhez
  7. Csatlakoztassa a második tüskét a hálózati sínhez.
  8. A harmadik LCD -tű az Arduino 8 -as csapjához megy
  9. A negyedik LCD -tű az Arduino 7 -es csapjához kerül
  10. Az ötödik az Arduino 6 -os csapjára vonatkozik
  11. A hatodik tű az Arduino 5. tűje
  12. Az LCD -kijelző 7-10 -es csapjai üresek
  13. A 11 -es tű az Arduino 5 -ös csapjához megy
  14. A 12 -es csap a földelt sínhez megy
  15. A 13 -as tű az Arduino 4 -es csapjához kerül
  16. A 14 -es csap a potenciométer hátuljára megy
  17. A 15 -ös csap a tápegységhez kerül
  18. A 16 csap a földi sínhez megy.

Most frissítenie kell a kódot az LCD képernyő használatához. Ehhez a liberális folyékony kristályt fogja használni. Legyen óvatos az LCD nyomtatott nyilatkozatokkal. Ne felejtse el törölni a képernyőt, ha új üzenetre van szüksége. Ne felejtse el beállítani a kurzort, ha két sort szeretne használni.

#befoglalni

LiquidCrystal LCD (3, 4, 5, 6, 7, 8); // Beállítja az LCD képernyőt

int child1ButtonPin = 13; // Ez a gomb, amellyel a nyomógombunk az int child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Olvassa be a gomb állapotát (be/ki) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int gyermek1Előzőállapot = 0; // A gomb előző állapota megnyomva int child2PreviousState = 0; int gyermek3Előzőállapot = 0; int child4PreviousState = 0; int child1Strike = 0; // Hány sztrájk van egy gyermekben int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int zümmögő = 9; // a zümmögő

// a beállítási funkció egyszer fut, amikor megnyomja a reset gombot vagy bekapcsolja a táblát

void setup () {Serial.begin (9600); lcd. kezdet (16, 2); lcd.print ("A gyermek"); lcd.setCursor (0, 1); lcd.print ("Behavior Modifer"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (hangjelző, OUTPUT); } // a ciklusfüggvény újra és újra fut örökké void loop () {lcd.setCursor (0, 0); // olvassa el a gomb állapotát (be vagy ki) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // A gomb megnyomása {lcd.clear (); child1Strike ++; Serial.println (String ("Az 1. gyermeknek van:") + child1Strike + "ütések"); lcd.print ("Az 1. gyermek rendelkezik:"); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print ("Ütések!");

ha (gyermek1ütés> = 3)

{Serial.println ("Az 1. gyermek megalapozott!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Az 1. gyermek"); lcd.setCursor (0, 1); lcd.print ("Földelt!");

hangjelzés (zümmögő, 5000, 500); // 5 hertz hangot küld 5 ezredmásodpercig

}

késleltetés (3000); }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == HIGH) // A gomb megnyomása {child2Strike ++; Serial.println (String ("A 2. gyermeknek van:") + child2Strike + "ütések"); lcd.print ("A 2. gyermek rendelkezik:"); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print ("Ütések!"); if (child2Strike> = 3) {Serial.println ("A 2. gyermek földelve van!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("A 2. gyermek"); lcd.setCursor (0, 1); lcd.print ("Földelt!"); hangjelzés (zümmögő, 5000, 500); } késleltetés (3000); }}

if (child3ButtonState! = child3PreviousState)

{lcd.clear (); if (child3ButtonState == HIGH) // A gomb megnyomása {child3Strike ++; Serial.println (String ("A 3. gyermeknek van:") + child3Strike + "ütések"); lcd.print ("A 3. gyermek rendelkezik:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print ("Ütések!"); if (child3Strike> = 3) {Serial.println ("A 3. gyermek földelve van!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("3. gyermek"); lcd.setCursor (0, 1); lcd.print ("Földelt!"); hangjelzés (zümmögő, 5000, 500); } késleltetés (3000); }}

if (child4ButtonState! = child4PreviousState)

{lcd.clear (); if (child4ButtonState == HIGH) // A gomb megnyomása {child4Strike ++; Serial.println (String ("A 4. gyermek rendelkezik:") + child4Strike + "ütések"); lcd.print ("A 4. gyermek rendelkezik:"); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print ("Ütések!");

ha (child4Strike> = 3)

{Serial.println ("A 4. gyermek földelve van!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("A 4. gyermek"); lcd.setCursor (0, 1); lcd.print ("Földelt!"); hangjelzés (zümmögő, 5000, 500); } késleltetés (3000); }}} És ennyi, ennyi kell a saját gyermek viselkedésmódosító létrehozásához

Ajánlott: