Obsah:
- Krok 1: Začnite jednoducho: Pridajte tlačidlo
- Krok 2: Upravte kód tak, aby registroval stlačenia tlačidiel
- Krok 3: Pridajte toľko tlačidiel, koľko budete mať detí
- Krok 4: Pridajte bzučiak
- Krok 5: Pridajte obrazovku LCD
Video: Modifikátor správania dieťaťa: 5 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-02-01 14:42
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
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.
- Pripojte 5 V na strane napájania k kladnému radu na doske
-
Pripojte GND k zápornej strane nepájivého poľa
- Vložte tlačidlo na dosku na chlieb
- Pripojte napájanie na postivnom rade k ľavej spodnej časti tlačidla
- Uzemnite tlačidlo pomocou odporu v pravej dolnej časti tlačidla do záporného radu nepájivého poľa.
- 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, 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í
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:
- Pripojte 5 V na strane napájania k kladnému radu na doske
-
Pripojte GND k zápornej strane nepájivého poľa
- Vložte tlačidlo na nepájivú dosku Pripojte napájanie v rade postive k ľavej spodnej časti tlačidla
- Uzemnite tlačidlo pomocou odporu v pravej dolnej časti tlačidla do záporného radu nepájivého poľa.
- 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
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.
- Pridajte na svoj prkénko bzučiak a naplánujte si miesto, pretože sa blíži LCD obrazovka.
- Pripojte postívnu stranu (bzučiak by mal mať na kladnej strane +) k pinu podľa vášho výberu. Urobil som 9.
- 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
Teraz umožňuje obrazovka LCD jasné a ľahké čítanie.
- 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.
- Pomocou ľavého predného rohu pripojte potenciometer k napájacej lište
- Použite pravý predný uzemnenie potenciometra.
- Zadná strana bude spojená s obrazovkou LCD.
- Pridajte obrazovku LCD na svoj breadboard
- Uzemnite prvý kolík obrazovky k uzemňovacej lište
- Druhý kolík zapojte do napájacej lišty.
- Tretí pin LCD smeruje k pinu 8 na Arduine
- Štvrtý kolík LCD ide na pin 7 na Arduine
- Piaty ide na Pin 6 na Arduine
- Šiesty pin ide na pin 5 na Arduine
- Piny 7 až 10 na LCD obrazovke sú prázdne
- Pin 11 ide na pin 5 na Arduino
- Kolík 12 smeruje k uzemnenej koľajnici
- Pin 13 ide na Pin 4 na Arduino
- Kolík 14 smeruje do zadnej časti potenciometra
- Kolík 15 smeruje k napájacej lište
- 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:
No Pee Now, zariadenie na úpravu správania sa domácich zvierat, ktoré zastaví mačky, aby sa pocikávali vo vašom dome: 4 kroky
No Pee Now, Pet Behavior Adjustment Device that Stopps the Cats to Pee Around in your Home: Mne to tak vadilo, že moje mačiatko, že rada ciká na moju posteľ, skontrolovala som všetko, čo potrebuje, a tiež som ju zobrala k veterinárovi. Potom, čo som si robil problémy so všetkým, čo si môžem myslieť, a počúval som slovo doktorky, uvedomil som si, že sa len správa zle. Takže
Striedavo okluzívny dichoptický modifikátor stereoskopického prenosu 32 [STM32F103C8T6+STMAV340 VGA superimposer]: 6 krokov
Striedavo okluzívny dichoptický modifikátor stereoskopického prenosu 32 [STM32F103C8T6+STMAV340 VGA superimposer]: Už nejaký čas pracujem na nástupcovi pôvodného AODMoST. Nové zariadenie používa rýchlejší a lepší 32-bitový mikrokontrolér a rýchlejší analógový video prepínač. Umožňuje AODMoST 32 pracovať s vyšším rozlíšením a implementovať nové funkčné
Striedavo okluzívny dichoptický modifikátor stereoskopického prenosu [ATmega328P+HEF4053B VGA superimposer]: 7 krokov
Striedavo okluzívny dichoptický modifikátor stereoskopickej transmisie [ATmega328P+HEF4053B VGA superimposer]: Po mojich experimentoch s okuliarmi z tekutých kryštálov, ktorými sa zatvárali oči (tu a tam), som sa rozhodol postaviť niečo, čo je o niečo sofistikovanejšie a čo užívateľa nenúti. nosiť PCB na čele (ľudia sa niekedy môžu hanbiť
Ako vyrobiť stroj s hmotnosťou dieťaťa pomocou Arduino Nano, snímača zaťaženia HX-711 a OLED 128X64 -- Kalibrácia HX-711: 5 krokov
Ako vyrobiť stroj s hmotnosťou dieťaťa pomocou Arduino Nano, snímača zaťaženia HX-711 a OLED 128X64 || Kalibrácia HX-711: Dobrý deň, návod, pred niekoľkými dňami som sa stal otcom roztomilého dieťaťa? Keď som bol v nemocnici, zistil som, že hmotnosť dieťaťa je taká dôležitá pre sledovanie rastu dieťaťa. Takže mám nápad? aby som vyrobil stroj na hmotnosť dieťaťa. V tomto návode som
Ako prinútiť víly, aby sa objavili na narodeninovej párty vášho dieťaťa!: 4 kroky
Ako prinútiť víly, aby sa objavili na narodeninovej párty vášho dieťaťa!: Moja skoro 8 -ročná dcéra chcela narodeniny s rozprávkovou tematikou, a tak som sa rozhodol, že ich urobím mimoriadne špeciálnymi. Vytvoril som veľmi jednoduchý efekt, vďaka ktorému si všetci návštevníci večierkov mysleli, že skutočné víly sa objavili iba pre nich