Obsah:

Modifikátor chování dítěte: 5 kroků (s obrázky)
Modifikátor chování dítěte: 5 kroků (s obrázky)

Video: Modifikátor chování dítěte: 5 kroků (s obrázky)

Video: Modifikátor chování dítěte: 5 kroků (s obrázky)
Video: Pomozte mi lézt, aneb dítě neleze, jak mu pomoct? 2024, Listopad
Anonim
Modifikátor chování dítěte
Modifikátor chování dítěte

Modifikátor chování dítěte zaznamenává, kolikrát se vaše dítě dostalo do potíží (aka Strikes), a když dosáhnou tří, zazní bzučák a obrazovka LCD oznámí, že jsou uzemněny.

Krok 1: Začněte jednoduše: Přidejte tlačítko

Začněte jednoduše: Přidejte tlačítko
Začněte jednoduše: Přidejte tlačítko

První krok v tomto projektu je jednoduchý. Přidat 1 tlačítko. V tomto kroku potřebujete 4 dráty od muže k muži, 1 220 rezistorů a tlačítko.

  1. Připojte 5V na straně napájení k kladné řadě na desce
  2. Připojte GND k záporné straně prkénka

  3. Vložte tlačítko na prkénko

  4. Připojte napájení v řadě postive k levé spodní části tlačítka
  5. Uzemněte tlačítko pomocí odporu v pravé dolní části tlačítka na zápornou řadu prkénka.
  6. Připojte #13 na digitální straně Arduina k pravé horní straně tlačítka.

Ověřte pomocí kódu, že se tlačítko registruje:

int child1ButtonPin = 13; // Toto je pin, ke kterému je připojeno naše tlačítko

int child1ButtonState = 0; // Přečte stav tlačítka (zapnuto/vypnuto)

int dítě1Strike = 0; // Kolik úderů má dítě

// funkce nastavení se spustí jednou, když stisknete reset nebo napájení desky

neplatné nastavení () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // funkce smyčky běží stále znovu a znovu navždy void loop () {// čtení stavu tlačítka (zapnuto nebo vypnuto) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // Tlačítko je stisknuto {Serial.println ("HIGH"); zpoždění (5000); }

if (child1ButtonState == LOW)

{Serial.println ("LOW"); zpoždění (5000); }}

Krok 2: Upravte kód tak, aby registroval stisknutí tlačítka

Upravte kód tak, aby registroval stisknutí tlačítka
Upravte kód tak, aby registroval stisknutí tlačítka
Upravte kód tak, aby registroval stisknutí tlačítka
Upravte kód tak, aby registroval stisknutí tlačítka

Upravte kód tak, aby zaregistroval stisknutí tlačítka:

int child1ButtonPin = 13; // Toto je pin, ke kterému je připojeno naše tlačítko, aby child1ButtonState = 0; // Čte stav tlačítka (zapnuto/vypnuto) int child1PreviousState = 0; // Předchozí stav tlačítka int child1Strike = 0;

// funkce nastavení se spustí jednou, když stisknete reset nebo napájení desky

neplatné nastavení () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // funkce smyčky běží stále znovu a znovu navždy void loop () {// čtení stavu tlačítka (zapnuto nebo vypnuto) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Tlačítko je stisknuto {child1Strike ++; Serial.println (child1Strike); zpoždění (1000); }}

}

Další Upravte kód tak, aby dítě dostalo 3 údery, po kterých obdrží zprávu, že jsou uzemněny:

int child1ButtonPin = 13; // Toto je pin, ke kterému je připojeno naše tlačítko, aby child1ButtonState = 0; // Čte stav tlačítka (zapnuto/vypnuto) int child1PreviousState = 0; int dítě1Strike = 0;

// funkce nastavení se spustí jednou, když stisknete reset nebo napájení desky

neplatné nastavení () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // funkce smyčky běží stále znovu a znovu navždy void loop () {// čtení stavu tlačítka (zapnuto nebo vypnuto) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Tlačítko je stisknuto {child1Strike ++; Serial.println (child1Strike);

if (child1Strike> = 3)

{Serial.println ("Dítě 1 je uzemněno!"); } zpoždění (3000); }}

}

Sériový monitor by měl vypadat jako na obrázku výše.

Poznámka: Ujistěte se, že vám zpoždění vyhovuje. S malým zpožděním zaregistruje 1 tlačítko jako více než jedno!

Krok 3: Přidejte tolik tlačítek, kolik máte dětí

Přidejte tolik tlačítek, kolik máte dětí
Přidejte tolik tlačítek, kolik máte dětí
Přidejte tolik tlačítek, kolik máte dětí
Přidejte tolik tlačítek, kolik máte dětí

V tomto kroku jednoduše zkopírujeme posledních pár kroků. Přidejte tolik tlačítek, kolik dětí. V mém případě přidávám čtyři. Nezapomeňte změnit kód digitálního pinu, ke kterému je tlačítko připojeno. V mém případě jsem použil piny 12 až 10 k přidání svých tlačítek. V případě, že potřebujete připomenout, je zde krok 1:

  1. Připojte 5V na straně napájení k kladné řadě na desce

  2. Připojte GND k záporné straně prkénka
  3. Vložte tlačítko na prkénko Připojte napájení na řadě postive k levé spodní části tlačítka
  4. Uzemněte tlačítko pomocí odporu v pravé dolní části tlačítka na zápornou řadu prkénka.
  5. Připojte (vaše číslo PIN) na digitální straně Arduina k pravé horní straně tlačítka.

Budete také muset upravit kód, aby zvládl všechna vaše tlačítka. Mějte na paměti, že pokud si musíte dávat pozor na použité struny. Nelze přidat do malých písmen dohromady. Nejlepší je deklarovat 1 jako objekt String.

int child1ButtonPin = 13; // Toto je pin, ke kterému je připojeno naše tlačítko, aby child2ButtonPin = 12; int dítě3ButtonPin = 11; int dítě4ButtonPin = 10; int child1ButtonState = 0; // Přečte stav tlačítka (zapnuto/vypnuto) int child2ButtonState = 0; int dítě3ButtonState = 0; int dítě4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int dítě1Strike = 0; int dítě2Strike = 0; int dítě3Strike = 0; int dítě4Strike = 0;

// funkce nastavení se spustí jednou, když stisknete reset nebo napájení desky

neplatné nastavení () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // funkce smyčky běží stále znovu a znovu navždy void loop () {// čtení stavu tlačítka (zapnuto nebo vypnuto) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Tlačítko je stisknuto {child1Strike ++; Serial.println (String ("Child 1 Has:") + child1Strike + "strikes");

if (child1Strike> = 3)

{Serial.println ("Dítě 1 je uzemněno!"); } zpoždění (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Tlačítko je stisknuto {child2Strike ++; Serial.println (String („Dítě 2 má:“) + child2Strike + „udeří“);

if (child2Strike> = 3)

{Serial.println („Dítě 2 je uzemněno!“); } zpoždění (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Tlačítko je stisknuto {child3Strike ++; Serial.println (String („Dítě 3 má:“) + child3Strike + „udeří“);

if (child3Strike> = 3)

{Serial.println („Dítě 3 je uzemněno!“); } zpoždění (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Tlačítko je stisknuto {child4Strike ++; Serial.println (String („Dítě 4 má:“) + child4Strike + „udeří“);

if (child4Strike> = 3)

{Serial.println ("Child 4 Is Grounded!"); } zpoždění (3000); }}}

Krok 4: Přidejte bzučák

Přidejte bzučák
Přidejte bzučák
Přidejte bzučák
Přidejte bzučák

Nyní se ujistěte, že vaše děti vědí, že jsou uzemněny. Pojďme přidat bzučák. Chcete -li připojit bzučák, postupujte podle těchto jednoduchých kroků.

  1. Přidejte na svůj prkénko bzučák a naplánujte si místo, protože se blíží LCD obrazovka.
  2. Připojte postivní stranu (bzučák by měl mít na postivní straně +) ke kolíku podle vašeho výběru. Udělal jsem 9.
  3. Připojte druhou stranu k uzemněné kolejnici vašeho prkénka.

Dále upravte kód, aby se bzučák vypnul, když se dítě uzemní. Existuje několik různých způsobů, jak kódovat bzučák, ale mám rád tón (buzzerName, hertz, doba trvání) pro jeho jednoduchost Takže příkladem toho by byl tón (bzučák, 4000, 300).

int child1ButtonPin = 13; // Toto je pin, ke kterému je připojeno naše tlačítko, aby child2ButtonPin = 12; int dítě3ButtonPin = 11; int dítě4ButtonPin = 10; int child1ButtonState = 0; // Přečte stav tlačítka (zapnuto/vypnuto) int child2ButtonState = 0; int dítě3ButtonState = 0; int dítě4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int dítě1Strike = 0; int dítě2Strike = 0; int dítě3Strike = 0; int child4Strike = 0; konstantní bzučák = 2;

// funkce nastavení se spustí jednou, když stisknete reset nebo napájení desky

neplatné nastavení () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (bzučák, VÝSTUP); } // funkce smyčky běží stále znovu a znovu navždy void loop () {// čtení stavu tlačítka (zapnuto nebo vypnuto) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Tlačítko je stisknuto {child1Strike ++; Serial.println (String ("Child 1 Has:") + child1Strike + "strikes");

if (child1Strike> = 3)

{Serial.println ("Dítě 1 je uzemněno!"); tón (bzučák, 5000, 500); // Vysílá zvuk 5 hertzů po dobu 5 milisekund

}

zpoždění (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Tlačítko je stisknuto {child2Strike ++; Serial.println (String („Dítě 2 má:“) + child2Strike + „udeří“);

if (child2Strike> = 3)

{Serial.println ("Child 2 Is Grounded!"); tón (bzučák, 5000, 500); } zpoždění (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Tlačítko je stisknuto {child3Strike ++; Serial.println (String („Dítě 3 má:“) + child3Strike + „udeří“);

if (child3Strike> = 3)

{Serial.println („Dítě 3 je uzemněno!“); tón (bzučák, 5000, 500); } zpoždění (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Tlačítko je stisknuto {child4Strike ++; Serial.println (String („Dítě 4 má:“) + child4Strike + „udeří“);

if (child4Strike> = 3)

{Serial.println ("Child 4 Is Grounded!"); tón (bzučák, 5000, 500); } zpoždění (3000); }}}

Krok 5: Přidejte obrazovku LCD

Image
Image
Přidejte obrazovku LCD
Přidejte obrazovku LCD

Nyní umožňuje LCD displej jasné a snadné čtení.

  1. Nejprve přidejte na prkénko potenciometr pro ovládání obrazovky LCD. Dávejte si pozor na to, kam to dáte, protože vám už pravděpodobně dochází místo.
  2. Použijte přední levý k připojení potenciometru k napájecí liště
  3. K uzemnění potenciometru použijte pravou přední část.
  4. Zadní strana bude připojena k obrazovce LCD.
  5. Přidejte obrazovku LCD na prkénko
  6. Uzemněte první kolík obrazovky k uzemňovací liště
  7. Připojte druhý kolík k napájecí liště.
  8. Třetí pin LCD přejde na pin 8 na Arduinu
  9. Čtvrtý LCD pin jde na Pin 7 na Arduinu
  10. Pátý jde na Pin 6 na Arduinu
  11. Šestý pin jde na pin 5 na Arduinu
  12. Piny 7 až 10 na LCD obrazovce jsou prázdné
  13. Pin 11 jde na Pin 5 na Arduinu
  14. Kolík 12 vede k uzemněné kolejnici
  15. Pin 13 jde na Pin 4 na Arduinu
  16. Pin 14 jde do zadní části potenciometru
  17. Kolík 15 směřuje k napájecí liště
  18. Kolík 16 vede k pozemní příčce.

Nyní budete muset aktualizovat kód, abyste mohli používat obrazovku LCD. K tomu použijete libary Liquid Crystal. Dávejte si pozor na tiskové výpisy LCD. Když potřebujete novou zprávu, nezapomeňte vymazat obrazovku. Nezapomeňte také nastavit kurzor, pokud chcete použít dva řádky.

#zahrnout

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

int child1ButtonPin = 13; // Toto je pin, ke kterému je naše tlačítko připojeno k int child2ButtonPin = 12; int dítě3ButtonPin = 11; int dítě4ButtonPin = 10; int child1ButtonState = 0; // Přečte stav tlačítka (zapnuto/vypnuto) int child2ButtonState = 0; int dítě3ButtonState = 0; int dítě4ButtonState = 0; int child1PreviousState = 0; // Předchozí stav tlačítka stisknuto int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int dítě1Strike = 0; // Kolik úderů má dítě int child2Strike = 0; int dítě3Strike = 0; int child4Strike = 0; konstantní bzučák = 9; // Bzučák

// funkce nastavení se spustí jednou, když stisknete reset nebo napájení desky

neplatné nastavení () {Serial.begin (9600); lcd.begin (16, 2); lcd.print („Dítě“); lcd.setCursor (0, 1); lcd.print ("Modifikátor chování"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (bzučák, VÝSTUP); } // funkce smyčky běží stále znovu a znovu navždy void loop () {lcd.setCursor (0, 0); // čtení stavu tlačítka (zapnuto nebo vypnuto) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Tlačítko je stisknuto {lcd.clear (); child1Strike ++; Serial.println (String ("Child 1 Has:") + child1Strike + "strikes"); lcd.print ("Dítě 1 má:"); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print („Strikes!“);

if (child1Strike> = 3)

{Serial.println ("Dítě 1 je uzemněno!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Dítě 1 je"); lcd.setCursor (0, 1); lcd.print („Uzemněno!“);

tón (bzučák, 5000, 500); // Vysílá zvuk 5 hertzů po dobu 5 milisekund

}

zpoždění (3000); }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == HIGH) // Tlačítko je stisknuto {child2Strike ++; Serial.println (String („Dítě 2 má:“) + child2Strike + „udeří“); lcd.print ("Dítě 2 má:"); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print („Strikes!“); if (child2Strike> = 3) {Serial.println ("Child 2 Is Grounded!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Child 2 is"); lcd.setCursor (0, 1); lcd.print („Uzemněno!“); tón (bzučák, 5000, 500); } zpoždění (3000); }}

if (child3ButtonState! = child3PreviousState)

{lcd.clear (); if (child3ButtonState == HIGH) // Tlačítko je stisknuto {child3Strike ++; Serial.println (String („Dítě 3 má:“) + child3Strike + „udeří“); lcd.print ("Dítě 3 má:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print („Strikes!“); if (child3Strike> = 3) {Serial.println ("Child 3 is Grounded!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Dítě 3 je“); lcd.setCursor (0, 1); lcd.print („Uzemněno!“); tón (bzučák, 5000, 500); } zpoždění (3000); }}

if (child4ButtonState! = child4PreviousState)

{lcd.clear (); if (child4ButtonState == HIGH) // Tlačítko je stisknuto {child4Strike ++; Serial.println (String („Dítě 4 má:“) + child4Strike + „udeří“); lcd.print ("Dítě 4 má:"); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print („Strikes!“);

if (child4Strike> = 3)

{Serial.println ("Child 4 Is Grounded!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Dítě 4 je“); lcd.setCursor (0, 1); lcd.print („Uzemněno!“); tón (bzučák, 5000, 500); } zpoždění (3000); }}} A to je vše, to je vše, co potřebujete k vytvoření vlastního modifikátoru chování dítěte

Doporučuje: