Obsah:

Modifikátor správania dieťaťa: 5 krokov (s obrázkami)
Modifikátor správania dieťaťa: 5 krokov (s obrázkami)

Video: Modifikátor správania dieťaťa: 5 krokov (s obrázkami)

Video: Modifikátor správania dieťaťa: 5 krokov (s obrázkami)
Video: Простое и глубокое введение в Самоисследование от Шри Муджи 2024, November
Anonim
Modifikátor správania dieťaťa
Modifikátor správania dieťaťa

Modifikátor správania dieťaťa zaznamenáva, koľkokrát sa vaše dieťa dostalo do problémov (alias Údery), a keď dosiahnu tri, zaznie bzučiak a obrazovka LCD oznámi, že sú uzemnené.

Krok 1: Začnite jednoducho: Pridajte tlačidlo

Začnite jednoducho: Pridajte tlačidlo
Začnite jednoducho: Pridajte tlačidlo

Prvý krok v tomto projekte je jednoduchý. Pridať 1 tlačidlo. V tomto kroku potrebujete 4 mužské až mužské vodiče, 1 220 rezistor a tlačidlo.

  1. Pripojte 5 V na strane napájania k kladnému radu na doske
  2. Pripojte GND k zápornej strane nepájivého poľa

  3. Vložte tlačidlo na dosku na chlieb

  4. Pripojte napájanie na postivnom rade k ľavej spodnej časti tlačidla
  5. Uzemnite tlačidlo pomocou odporu v pravej dolnej časti tlačidla do záporného radu nepájivého poľa.
  6. Pripojte #13 na digitálnej strane Arduina k pravej hornej časti tlačidla.

Overte pomocou kódu, že sa tlačidlo registruje:

int child1ButtonPin = 13; // Toto je pin, ku ktorému je pripojené naše tlačidlo

int child1ButtonState = 0; // Číta stav tlačidla (zapnuté/vypnuté)

int dieťa1Strike = 0; // Koľko úderov má dieťa

// funkcia nastavenia sa spustí raz, keď stlačíte reset alebo napájate dosku

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // funkcia slučky beží znova a znova navždy neplatná slučka () {// čítanie stavu tlačidla (zapnuté alebo vypnuté) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // Tlačidlo je stlačené {Serial.println ("HIGH"); oneskorenie (5 000); }

if (child1ButtonState == LOW)

{Serial.println ("LOW"); oneskorenie (5 000); }}

Krok 2: Upravte kód tak, aby registroval stlačenia tlačidiel

Upravte kód tak, aby registroval stlačenia tlačidiel
Upravte kód tak, aby registroval stlačenia tlačidiel
Upravte kód tak, aby registroval stlačenia tlačidiel
Upravte kód tak, aby registroval stlačenia tlačidiel

Upravte kód, aby sa zaregistrovalo stlačenie tlačidla:

int child1ButtonPin = 13; // Toto je kolík, ku ktorému je naše tlačidlo pripojené, aby child1ButtonState = 0; // Číta stav tlačidla (zapnuté/vypnuté) int child1PreviousState = 0; // Predchádzajúci stav tlačidla int child1Strike = 0;

// funkcia nastavenia sa spustí raz, keď stlačíte reset alebo napájate dosku

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // funkcia slučky beží znova a znova navždy neplatná slučka () {// čítanie stavu tlačidla (zapnuté alebo vypnuté) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Tlačidlo je stlačené {child1Strike ++; Serial.println (child1Strike); oneskorenie (1000); }}

}

Ďalej Upravte kód tak, aby dieťa dostalo tri údery, po ktorých dostane správu, že sú uzemnené:

int child1ButtonPin = 13; // Toto je kolík, ku ktorému je naše tlačidlo pripojené, aby child1ButtonState = 0; // Číta stav tlačidla (zapnuté/vypnuté) int child1PreviousState = 0; int dieťa1Strike = 0;

// funkcia nastavenia sa spustí raz, keď stlačíte reset alebo napájate dosku

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // funkcia slučky beží znova a znova navždy neplatná slučka () {// čítanie stavu tlačidla (zapnuté alebo vypnuté) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Tlačidlo je stlačené {child1Strike ++; Serial.println (child1Strike);

ak (child1Strike> = 3)

{Serial.println ("Dieťa 1 je uzemnené!"); } oneskorenie (3000); }}

}

Sériový monitor by mal vyzerať ako na obrázku vyššie.

Poznámka: Uistite sa, že vám oneskorenie vyhovuje. S malým oneskorením a zaregistruje sa 1 stlačenie tlačidla ako viac ako jedno!

Krok 3: Pridajte toľko tlačidiel, koľko budete mať detí

Pridajte toľko tlačidiel, koľko máte detí
Pridajte toľko tlačidiel, koľko máte detí
Pridajte toľko tlačidiel, koľko máte detí
Pridajte toľko tlačidiel, koľko máte detí

V tomto kroku jednoducho skopírujeme posledných pár krokov. Pridajte toľko tlačidiel, koľko detí. V mojom prípade pridávam štyri. Nezabudnite zmeniť kód digitálneho pinu, ku ktorému je tlačidlo zapojené. V mojom prípade som na pridanie svojich tlačidiel použil kolíky 12 až 10. V prípade, že potrebujete pripomenúť, je tu krok 1:

  1. Pripojte 5 V na strane napájania k kladnému radu na doske
  2. Pripojte GND k zápornej strane nepájivého poľa

  3. Vložte tlačidlo na nepájivú dosku Pripojte napájanie v rade postive k ľavej spodnej časti tlačidla
  4. Uzemnite tlačidlo pomocou odporu v pravej dolnej časti tlačidla do záporného radu nepájivého poľa.

  5. Pripojte (svoje číslo PIN) na digitálnej strane Arduina k pravej hornej časti tlačidla.

Budete tiež musieť upraviť kód, aby zvládol všetky vaše tlačidlá. Majte na pamäti, že ak si musíte dávať pozor na struny, ktoré ste použili. Nemôžete pridávať do malých písmen spoločne. Najlepšie je deklarovať 1 ako objekt typu String.

int child1ButtonPin = 13; // Toto je kolík, ku ktorému je naše tlačidlo pripojené, aby child2ButtonPin = 12; int dieťa3ButtonPin = 11; int dieťa4ButtonPin = 10; int child1ButtonState = 0; // Číta stav tlačidla (zapnuté/vypnuté) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int dieťa1PreviousState = 0; int child2PreviousState = 0; int dieťa3PreviousState = 0; int child4PreviousState = 0; int dieťa1Strike = 0; int dieťa2Strike = 0; int dieťa3Strike = 0; int dieťa4Strike = 0;

// funkcia nastavenia sa spustí raz, keď stlačíte reset alebo napájate dosku

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // funkcia slučky beží znova a znova navždy neplatná slučka () {// čítanie stavu tlačidla (zapnuté alebo vypnuté) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Tlačidlo je stlačené {child1Strike ++; Serial.println (Reťazec („Dieťa 1 má:“) + dieťa1Strike + „štrajky“);

ak (child1Strike> = 3)

{Serial.println („Dieťa 1 je uzemnené!“); } oneskorenie (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Tlačidlo je stlačené {child2Strike ++; Serial.println (Reťazec („Dieťa 2 má:“) + dieťa2Strike + „štrajky“);

ak (child2Strike> = 3)

{Serial.println („Dieťa 2 je uzemnené!“); } oneskorenie (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Tlačidlo je stlačené {child3Strike ++; Serial.println (Reťazec („Dieťa 3 má:“) + dieťa3Strike + „štrajky“);

ak (child3Strike> = 3)

{Serial.println („Dieťa 3 je uzemnené!“); } oneskorenie (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Tlačidlo je stlačené {child4Strike ++; Serial.println (Reťazec („Dieťa 4 má:“) + dieťa4Strike + „štrajky“);

ak (child4Strike> = 3)

{Serial.println („Dieťa 4 je uzemnené!“); } oneskorenie (3000); }}}

Krok 4: Pridajte bzučiak

Pridajte bzučiak
Pridajte bzučiak
Pridajte bzučiak
Pridajte bzučiak

Teraz sa uistite, že vaše deti vedia, že sú uzemnené. Pridajme bzučiak. Ak chcete pripojiť bzučiak, postupujte podľa týchto jednoduchých krokov.

  1. Pridajte na svoj prkénko bzučiak a naplánujte si miesto, pretože sa blíži LCD obrazovka.
  2. Pripojte postívnu stranu (bzučiak by mal mať na kladnej strane +) k pinu podľa vášho výberu. Urobil som 9.
  3. Pripojte druhú stranu k uzemnenej koľajnici vášho nepájivého poľa.

Potom upravte svoj kód a vypnite bzučiak, keď sa dieťa uzemní. Existuje niekoľko rôznych spôsobov kódovania bzučiaka, ale páči sa mi tón (buzzerName, hertz, trvanie) pre jeho jednoduchosť. Príkladom by bol tón (bzučiak, 4000, 300).

int child1ButtonPin = 13; // Toto je kolík, ku ktorému je naše tlačidlo pripojené, aby child2ButtonPin = 12; int dieťa3ButtonPin = 11; int dieťa4ButtonPin = 10; int child1ButtonState = 0; // Číta stav tlačidla (zapnuté/vypnuté) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int dieťa1PreviousState = 0; int child2PreviousState = 0; int dieťa3PreviousState = 0; int child4PreviousState = 0; int dieťa1Strike = 0; int dieťa2Strike = 0; int dieťa3Strike = 0; int dieťa4Strike = 0; bzučiak const int = 2;

// funkcia nastavenia sa spustí raz, keď stlačíte reset alebo napájate dosku

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (bzučiak, VÝSTUP); } // funkcia slučky beží znova a znova navždy neplatná slučka () {// čítanie stavu tlačidla (zapnuté alebo vypnuté) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Tlačidlo je stlačené {child1Strike ++; Serial.println (Reťazec („Dieťa 1 má:“) + dieťa1Strike + „štrajky“);

ak (child1Strike> = 3)

{Serial.println („Dieťa 1 je uzemnené!“); tón (bzučiak, 5000, 500); // Odošle zvuk 5 hertzov na 5 milisekúnd

}

oneskorenie (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Tlačidlo je stlačené {child2Strike ++; Serial.println (Reťazec („Dieťa 2 má:“) + dieťa2Strike + „štrajky“);

ak (child2Strike> = 3)

{Serial.println („Dieťa 2 je uzemnené!“); tón (bzučiak, 5000, 500); } oneskorenie (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Tlačidlo je stlačené {child3Strike ++; Serial.println (Reťazec („Dieťa 3 má:“) + dieťa3Strike + „štrajky“);

ak (child3Strike> = 3)

{Serial.println („Dieťa 3 je uzemnené!“); tón (bzučiak, 5000, 500); } oneskorenie (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Tlačidlo je stlačené {child4Strike ++; Serial.println (Reťazec („Dieťa 4 má:“) + dieťa4Strike + „štrajky“);

ak (child4Strike> = 3)

{Serial.println („Dieťa 4 je uzemnené!“); tón (bzučiak, 5000, 500); } oneskorenie (3000); }}}

Krok 5: Pridajte obrazovku LCD

Image
Image
Pridajte obrazovku LCD
Pridajte obrazovku LCD

Teraz umožňuje obrazovka LCD jasné a ľahké čítanie.

  1. Najskôr pridajte na svoju dosku potenciometer na ovládanie obrazovky LCD. Dávajte si pozor na to, kam ho umiestnite, pretože vám pravdepodobne už dôjde miesto.
  2. Pomocou ľavého predného rohu pripojte potenciometer k napájacej lište
  3. Použite pravý predný uzemnenie potenciometra.
  4. Zadná strana bude spojená s obrazovkou LCD.
  5. Pridajte obrazovku LCD na svoj breadboard
  6. Uzemnite prvý kolík obrazovky k uzemňovacej lište
  7. Druhý kolík zapojte do napájacej lišty.
  8. Tretí pin LCD smeruje k pinu 8 na Arduine
  9. Štvrtý kolík LCD ide na pin 7 na Arduine
  10. Piaty ide na Pin 6 na Arduine
  11. Šiesty pin ide na pin 5 na Arduine
  12. Piny 7 až 10 na LCD obrazovke sú prázdne
  13. Pin 11 ide na pin 5 na Arduino
  14. Kolík 12 smeruje k uzemnenej koľajnici
  15. Pin 13 ide na Pin 4 na Arduino
  16. Kolík 14 smeruje do zadnej časti potenciometra
  17. Kolík 15 smeruje k napájacej lište
  18. Kolík 16 smeruje k pozemnej koľajnici.

Teraz budete musieť aktualizovať svoj kód, aby ste mohli používať obrazovku LCD. Na to použijete knižnicu Liquid Crystal. Dávajte si pozor na tlačové vyhlásenia na LCD. Keď potrebujete novú správu, nezabudnite vymazať obrazovku. Nezabudnite tiež nastaviť kurzor, ak chcete použiť dva riadky.

#zahrnúť

LiquidCrystal lcd (3, 4, 5, 6, 7, 8); // Nastaví obrazovku LCD

int child1ButtonPin = 13; // Toto je kolík, ku ktorému je naše tlačidlo pripojené k int child2ButtonPin = 12; int dieťa3ButtonPin = 11; int dieťa4ButtonPin = 10; int child1ButtonState = 0; // Číta stav tlačidla (zapnuté/vypnuté) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int dieťa1PreviousState = 0; // Predchádzajúci stav stlačeného tlačidla int child2PreviousState = 0; int dieťa3PreviousState = 0; int child4PreviousState = 0; int dieťa1Strike = 0; // Koľko úderov má dieťa int child2Strike = 0; int dieťa3Strike = 0; int dieťa4Strike = 0; bzučiak const int = 9; // Bzučiak

// funkcia nastavenia sa spustí raz, keď stlačíte reset alebo napájate dosku

void setup () {Serial.begin (9600); lcd.begin (16, 2); lcd.print („Dieťa“); lcd.setCursor (0, 1); lcd.print ("Modifikátor správania"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (bzučiak, VÝSTUP); } // funkcia slučky beží znova a znova navždy neplatná slučka () {lcd.setCursor (0, 0); // prečítanie stavu tlačidla (zapnuté alebo vypnuté) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Tlačidlo je stlačené {lcd.clear (); child1Strike ++; Serial.println (Reťazec („Dieťa 1 má:“) + dieťa1Strike + „štrajky“); lcd.print („Dieťa 1 má:“); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print („Štrajky!“);

ak (child1Strike> = 3)

{Serial.println ("Dieťa 1 je uzemnené!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Dieťa 1 je“); lcd.setCursor (0, 1); lcd.print („Uzemnený!“);

tón (bzučiak, 5000, 500); // Odošle zvuk 5 hertzov na 5 milisekúnd

}

oneskorenie (3000); }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == HIGH) // Tlačidlo je stlačené {child2Strike ++; Serial.println (Reťazec („Dieťa 2 má:“) + dieťa2Strike + „štrajky“); lcd.print („Dieťa 2 má:“); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print („Štrajky!“); if (child2Strike> = 3) {Serial.println ("Dieťa 2 je uzemnené!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Dieťa 2 je“); lcd.setCursor (0, 1); lcd.print („Uzemnený!“); tón (bzučiak, 5000, 500); } oneskorenie (3000); }}

if (child3ButtonState! = child3PreviousState)

{lcd.clear (); if (child3ButtonState == HIGH) // Tlačidlo je stlačené {child3Strike ++; Serial.println (Reťazec („Dieťa 3 má:“) + dieťa3Strike + „štrajky“); lcd.print („Dieťa 3 má:“); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print („Štrajky!“); if (child3Strike> = 3) {Serial.println ("Dieťa 3 je uzemnené!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Dieťa 3 je“); lcd.setCursor (0, 1); lcd.print („Uzemnený!“); tón (bzučiak, 5000, 500); } oneskorenie (3000); }}

if (child4ButtonState! = child4PreviousState)

{lcd.clear (); if (child4ButtonState == HIGH) // Tlačidlo je stlačené {child4Strike ++; Serial.println (Reťazec („Dieťa 4 má:“) + dieťa4Strike + „štrajky“); lcd.print („Dieťa 4 má:“); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print („Štrajky!“);

ak (child4Strike> = 3)

{Serial.println ("Dieťa 4 je uzemnené!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Dieťa 4 je“); lcd.setCursor (0, 1); lcd.print („Uzemnený!“); tón (bzučiak, 5000, 500); } oneskorenie (3000); }}} A to je všetko, to je všetko, čo potrebujete na zostavenie vlastného modifikátora správania dieťaťa

Odporúča: