Sisällysluettelo:
- Vaihe 1: Aloita yksinkertaisesti: Lisää painike
- Vaihe 2: Muuta koodi rekisteröintipainikkeiksi
- Vaihe 3: Lisää niin monta painiketta kuin sinulla on lapsia
- Vaihe 4: Lisää summeri
- Vaihe 5: Lisää nestekidenäyttö
Video: Lapsen käyttäytymisen muokkaus: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-02-01 14:40
Lapsen käyttäytymisen muokkaaja tallentaa kuinka monta kertaa lapsesi on joutunut vaikeuksiin (eli lakot) ja kun he saavuttavat kolme, summeri soi ja LCD -näyttö ilmoittaa, että he ovat maadoitettuja.
Vaihe 1: Aloita yksinkertaisesti: Lisää painike
Ensimmäinen vaihe tässä projektissa on yksinkertainen. Lisää 1 -painike. Tässä vaiheessa tarvitset 4 uros -uros -johtoa, 1 220 Resisitoria ja painikkeen.
- Liitä virtapuolen 5 V leipälevyn positiiviseen riviin
-
Liitä GND leipälevyn negatiiviseen puoleen
- Aseta painike leipälevylle
-
Kytke virransyöttö rivin painikkeen vasempaan alaosaan
- Maadoita painike käyttämällä vastusta painikkeen oikeassa alakulmassa leipälevyn negatiiviselle riville.
- Liitä numero 13 Arduinon digitaalipuolella painikkeen oikeaan yläreunaan.
Varmista koodillasi, että painike rekisteröidään:
int child1ButtonPin = 13; // Tämä on nasta, johon painike on yhdistetty
int child1ButtonState = 0; // lukee painikkeen tilan (päällä/pois)
int lapsi1Strike = 0; // Kuinka monta iskua lapsella on
// asennustoiminto suoritetaan kerran, kun painat nollauspainiketta tai käynnistät kortin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // silmukkafunktio toimii yhä uudelleen ikuisesti void loop () {// lukee painikkeen tila (päällä tai pois) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // -painiketta painetaan {Serial.println ("HIGH"); viive (5000); }
jos (lapsi1ButtonState == LOW)
{Serial.println ("LOW"); viive (5000); }}
Vaihe 2: Muuta koodi rekisteröintipainikkeiksi
Muokkaa koodia napin rekisteröimiseksi:
int child1ButtonPin = 13; // Tämä on nasta, johon painike on kytketty // Edellinen painikkeen tila int child1Strike = 0;
// asennustoiminto suoritetaan kerran, kun painat nollauspainiketta tai käynnistät kortin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // silmukkafunktio toimii yhä uudelleen ikuisesti void loop () {// lukee painikkeen tila (päällä tai pois) child1ButtonState = digitalRead (child1ButtonPin); if (lapsi1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // -painiketta painetaan {child1Strike ++; Serial.println (lapsi1Strike); viive (1000); }}
}
Seuraavaksi Muokkaa koodia niin, että lapsi saa 3 lakkoa, minkä jälkeen hän saa viestin, että he ovat maadoitettuja:
int child1ButtonPin = 13; // Tämä on nasta, johon painike on kytketty int lapsi1Strike = 0;
// asennustoiminto suoritetaan kerran, kun painat nollauspainiketta tai käynnistät kortin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // silmukkafunktio juoksee uudestaan ja uudestaan ikuisesti void loop () {// lukee painikkeen tila (päällä tai pois) child1ButtonState = digitalRead (child1ButtonPin); if (lapsi1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // -painiketta painetaan {child1Strike ++; Serial.println (lapsi1Strike);
jos (lapsi1 isku> = 3)
{Serial.println ("Lapsi 1 on maadoitettu!"); } viive (3000); }}
}
Sarjamonitorin pitäisi näyttää yllä olevasta kuvasta.
Huomautus: Varmista, että olet tyytyväinen viiveeseen. Vähän viivettä ja se rekisteröi 1 painikkeen painalluksen useammaksi kuin yhdeksi!
Vaihe 3: Lisää niin monta painiketta kuin sinulla on lapsia
Tässä vaiheessa kopioimme vain pari viimeistä vaihetta. Lisää yhtä monta painiketta kuin lapset. Omalla kohdalla lisään neljä. Muista vaihtaa koodisi digitaalinen nasta, johon painike on kytketty. Minun tapauksessani käytin nastoja 12-10 painikkeiden lisäämiseksi. Jos tarvitset muistutusta, tässä on vaihe 1:
- Liitä virtapuolen 5 V leipälevyn positiiviseen riviin
-
Liitä GND leipälevyn negatiiviseen puoleen
- Työnnä painike leipälevylle Kytke viritys rivillä painikkeen vasempaan alaosaan
-
Maadoita painike käyttämällä vastusta painikkeen oikeassa alakulmassa leipälevyn negatiiviselle riville.
- Yhdistä (PIN -numero) Arduinon digitaalipuolella painikkeen oikeaan yläreunaan.
Sinun on myös muokattava koodia, jotta voit käsitellä kaikkia painikkeitasi. Muista, että jos sinun on oltava varovainen käyttämiesi merkkijonojen kanssa. Et voi lisätä pieniä kirjaimia yhdessä. On parasta julistaa 1 merkkijono -objektiksi.
int child1ButtonPin = 13; // Tämä on tappi, johon painike on kytketty Child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int lapsi1ButtonState = 0; // lukee painikkeen tilan (päällä/pois) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int lapsi1EdellinenTila = 0; int lapsi2EdellinenState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int lapsi1Strike = 0; int lapsi2Strike = 0; int child3Strike = 0; int child4Strike = 0;
// asennustoiminto suoritetaan kerran, kun painat nollauspainiketta tai käynnistät kortin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // silmukkafunktio toimii yhä uudelleen ikuisesti void loop () {// lukee painikkeen tila (päällä tai pois) child1ButtonState = digitalRead (child1ButtonPin);
lapsi2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
if (lapsi1ButtonState! = child1PreviousState)
{if (child1ButtonState == HIGH) // -painiketta painetaan {child1Strike ++; Serial.println (Merkkijono ("Lapsella 1 on:") + lapsi1Strike + "iskee");
jos (lapsi1 isku> = 3)
{Serial.println ("Lapsi 1 on maadoitettu!"); } viive (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // -painiketta painetaan {child2Strike ++; Serial.println (String ("Lapsella 2 on:") + child2Strike + "iskee");
jos (lapsi2Strike> = 3)
{Serial.println ("Lapsi 2 on maadoitettu!"); } viive (3000); }}
if (lapsi3ButtonState! = child3PreviousState)
{if (child3ButtonState == HIGH) // -painiketta painetaan {child3Strike ++; Serial.println (String ("Lapsella 3 on:") + child3Strike + "iskee");
jos (lapsi3Strike> = 3)
{Serial.println ("Lapsi 3 on maadoitettu!"); } viive (3000); }}
if (lapsi4ButtonState! = child4PreviousState)
{if (child4ButtonState == HIGH) // -painiketta painetaan {child4Strike ++; Serial.println (String ("Lapsella 4 on:") + child4Strike + "iskee");
jos (lapsi4Strike> = 3)
{Serial.println ("Lapsi 4 on maadoitettu!"); } viive (3000); }}}
Vaihe 4: Lisää summeri
Varmista nyt, että lapsesi tietävät, että he ovat maadoitettuja. Lisätään summeri. Liitä summeri seuraavasti.
- Lisää summeri leipälautaasi ja suunnittele tilaa, koska nestekidenäyttö tulee esiin.
- Kytke positiivinen puoli (summerissa tulee olla + -merkki) haluamaasi nastaan. Tein 9.
- Liitä toinen puoli leipälautasi maadoitettuun kiskoon.
Muokkaa sitten koodiasi asettaaksesi summerin pois päältä, kun lapsi maadoitetaan. On olemassa pari eri tapaa koodata summeri, mutta pidän äänestä (buzzerName, hertz, kesto) yksinkertaisuutensa vuoksi. Esimerkki tästä olisi ääni (summeri, 4000, 300).
int child1ButtonPin = 13; // Tämä on tappi, johon painike on kytketty Child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int lapsi1ButtonState = 0; // lukee painikkeen tilan (päällä/pois) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int lapsi1EdellinenTila = 0; int lapsi2EdellinenState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int lapsi1Strike = 0; int lapsi2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int summeri = 2;
// asennustoiminto suoritetaan kerran, kun painat nollauspainiketta tai käynnistät kortin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (summeri, OUTPUT); } // silmukkafunktio juoksee uudestaan ja uudestaan ikuisesti void loop () {// lukee painikkeen tila (päällä tai pois) child1ButtonState = digitalRead (child1ButtonPin);
lapsi2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
if (lapsi1ButtonState! = child1PreviousState)
{if (child1ButtonState == HIGH) // -painiketta painetaan {child1Strike ++; Serial.println (Merkkijono ("Lapsella 1 on:") + lapsi1Strike + "iskee");
jos (lapsi1 isku> = 3)
{Serial.println ("Lapsi 1 on maadoitettu!"); ääni (summeri, 5000, 500); // Lähettää 5 hertsin äänen 5 millisekunnin ajan
}
viive (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // -painiketta painetaan {child2Strike ++; Serial.println (String ("Lapsella 2 on:") + child2Strike + "iskee");
jos (lapsi2Strike> = 3)
{Serial.println ("Lapsi 2 on maadoitettu!"); ääni (summeri, 5000, 500); } viive (3000); }}
if (lapsi3ButtonState! = child3PreviousState)
{if (child3ButtonState == HIGH) // -painiketta painetaan {child3Strike ++; Serial.println (String ("Lapsella 3 on:") + child3Strike + "iskee");
jos (lapsi3Strike> = 3)
{Serial.println ("Lapsi 3 on maadoitettu!"); ääni (summeri, 5000, 500); } viive (3000); }}
if (lapsi4ButtonState! = child4PreviousState)
{if (child4ButtonState == HIGH) // -painiketta painetaan {child4Strike ++; Serial.println (String ("Lapsella 4 on:") + child4Strike + "iskee");
jos (lapsi4Strike> = 3)
{Serial.println ("Lapsi 4 on maadoitettu!"); ääni (summeri, 5000, 500); } viive (3000); }}}
Vaihe 5: Lisää nestekidenäyttö
Nyt LCD -näyttö mahdollistaa selkeän ja helpon lukemisen.
- Lisää ensin potentiometri leipälautaasi ohjataksesi lcd -näyttöä. Ole varovainen mihin laitat sen, koska tila on todennäköisesti loppumassa.
- Liitä potentiometri virtakiskoon vasemman etuosan avulla
- Käytä potentiometrin maadoitusta etuoikealla.
- Takaosa liitetään LCD -näyttöön.
- Lisää nestekidenäyttö leipälevyllesi
- Maadoita ensimmäinen suojatappi maadoituskiskoon
- Kytke toinen nasta sähkökiskoon.
- Kolmas LCD -nasta menee Arduinon nastaan 8
- Neljäs LCD -nasta menee Arduinon nastaan 7
- Viides menee Arduinon nastaan 6
- Kuudes nasta menee Arduinon nastaan 5
- Nestekidenäytön nastat 7-10 ovat tyhjiä
- Nasta 11 menee Arduinon nastaan 5
- Nasta 12 menee maadoitettuun kiskoon
- Nasta 13 menee Arduinon nastaan 4
- Nasta 14 menee potentiometrin takaosaan
- Nasta 15 menee virtakiskoon
- Nasta 16 menee maadoituskiskoon.
Nyt sinun on päivitettävä koodisi käyttääksesi lcd -näyttöä. Tätä varten käytät libary Liquid Crystalia. Ole varovainen lcd -tulostesi kanssa. Muista tyhjentää näyttö, kun tarvitset uuden viestin. Muista myös asettaa kohdistin, kun haluat käyttää kahta riviä.
#sisältää
LiquidCrystal lcd (3, 4, 5, 6, 7, 8); // Asettaa LCD -näytön
int child1ButtonPin = 13; // Tämä on nasta, jonka painike on yhdistetty int child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int lapsi1ButtonState = 0; // lukee painikkeen tilan (päällä/pois) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int lapsi1EdellinenTila = 0; // Edellinen painikkeen tila on painettu int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int lapsi1Strike = 0; // Kuinka monta iskua lapsella on int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int summeri = 9; // summeri
// asennustoiminto suoritetaan kerran, kun painat nollauspainiketta tai käynnistät kortin
void setup () {Serial.begin (9600); lcd. alku (16, 2); lcd.print ("Lapsi"); lcd.setCursor (0, 1); lcd.print ("Behavior Modifer"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (summeri, OUTPUT); } // silmukkafunktio toimii yhä uudelleen ikuisesti void loop () {lcd.setCursor (0, 0); // lukea painikkeen tila (päällä tai pois päältä) child1ButtonState = digitalRead (child1ButtonPin);
lapsi2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
if (lapsi1ButtonState! = child1PreviousState)
{if (child1ButtonState == HIGH) // -painiketta painetaan {lcd.clear (); lapsi1Strike ++; Serial.println (Merkkijono ("Lapsella 1 on:") + lapsi1Strike + "iskee"); lcd.print ("Lapsella 1 on:"); lcd.setCursor (0, 1); lcd.print (lapsi1Strike); lcd.print ("Lakot!");
jos (lapsi1 isku> = 3)
{Serial.println ("Lapsi 1 on maadoitettu!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lapsi 1 on"); lcd.setCursor (0, 1); lcd.print ("Maadoitettu!");
ääni (summeri, 5000, 500); // Lähettää 5 hertsin äänen 5 millisekunnin ajan
}
viive (3000); }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == HIGH) // -painiketta painetaan {child2Strike ++; Serial.println (String ("Lapsella 2 on:") + child2Strike + "iskee"); lcd.print ("Lapsella 2 on:"); lcd.setCursor (0, 1); lcd.print (lapsi2Strike); lcd.print ("Lakot!"); if (child2Strike> = 3) {Serial.println ("Lapsi 2 on maadoitettu!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lapsi 2 on"); lcd.setCursor (0, 1); lcd.print ("Maadoitettu!"); ääni (summeri, 5000, 500); } viive (3000); }}
if (lapsi3ButtonState! = child3PreviousState)
{lcd.clear (); if (child3ButtonState == HIGH) // -painiketta painetaan {child3Strike ++; Serial.println (String ("Lapsella 3 on:") + child3Strike + "iskee"); lcd.print ("Lapsella 3 on:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print ("Lakot!"); if (child3Strike> = 3) {Serial.println ("Lapsi 3 on maadoitettu!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lapsi 3 on"); lcd.setCursor (0, 1); lcd.print ("Maadoitettu!"); ääni (summeri, 5000, 500); } viive (3000); }}
if (lapsi4ButtonState! = child4PreviousState)
{lcd.clear (); if (child4ButtonState == HIGH) // -painiketta painetaan {child4Strike ++; Serial.println (String ("Lapsella 4 on:") + child4Strike + "iskee"); lcd.print ("Lapsella 4 on:"); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print ("Lakot!");
jos (lapsi4Strike> = 3)
{Serial.println ("Lapsi 4 on maadoitettu!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lapsi 4 on"); lcd.setCursor (0, 1); lcd.print ("Maadoitettu!"); ääni (summeri, 5000, 500); } viive (3000); }}} Ja siinä kaikki, mitä tarvitset oman lapsen käyttäytymismuokkaajan rakentamiseen
Suositeltava:
Ei pissaa nyt, lemmikkieläinten käyttäytymisen säätölaite, joka estää kissat pissamasta kotonasi: 4 vaihetta
Ei pissaa nyt, lemmikkieläinten käyttäytymisen säätölaite, joka estää kissat pissailemasta kotonasi: Kissani vaivasi minua niin paljon, että hän tykkää pissata sängylleni, tarkistin kaiken, mitä hän tarvitsee, ja vein hänet myös eläinlääkäriin. Kun olen selvittänyt kaiken mitä voin ajatella ja kuunnella lääkärin sanaa, ymmärrän, että hänellä on vain huonoa käytöstä. Joten th
EHX B9 -elinkoneen muokkaus: 5 vaihetta (kuvilla)
EHX B9 urkukoneen muokkaaminen: (ehx B9) - Kun olin pieni poika, minua kiehtoi uskomaton soitin: Peter Van Woodin Godwin -urku -kitara (rakennettu Italiassa Sismen toimesta)! Uskon, että Peter edusti analogisessa jurassicissa syntyneiden kitaristien armeijaa, joka näytti
SNES Classic Mini Sisäinen Bluetooth -muokkaus: 6 vaihetta (kuvilla)
SNES Classic Mini Sisäinen Bluetooth -muokkaus: Tervehdys kaikille klassisen Nintendo -konsolin ystäville! Tämä opas auttaa sinua asentamaan puolipysyvän sisäisen bluetooth-vastaanottimen SNES Classic Mini -konsoliin (tähän asti oppaan loppuosa on kutsuttu SNESC: ksi). Tämä
Äänikaiuttimien muokkaus: DIY (Made in Fusion 360): 18 vaihetta (kuvilla)
Äänikaiuttimien muokkaus: DIY (Made in Fusion 360): Minulla on kaiutinpari, jonka tein 2½ vuotta sitten. Kaiutinlaatikot ovat kuitenkin järjestämättömiä ja käyttävät paljon tilaa. Siksi haluaisin muuttaa kaiuttimeni tekemällä laatikon tai kotelon 3D -tulostuksessa. Kaiutin on hyvä vain tietokoneelle
Pelasta lapseni: älykäs istuin, joka lähettää tekstiviestejä, jos unohdat lapsen autoon: 8 vaihetta
Pelasta lapseni: älykäs istuin, joka lähettää tekstiviestejä, jos unohdat lapsen autoon: Se on asennettu autoihin ja turvaistuimelle sijoitetun ilmaisimen ansiosta se varoittaa meitä - tekstiviestillä tai puhelimella - jos saamme pois tuomatta lasta mukanamme