Përmbajtje:
- Hapi 1: Filloni thjeshtë: Shtoni një buton
- Hapi 2: Ndryshoni Kodin për Regjistrimin e Shtypjeve të Butonave
- Hapi 3: Shtoni sa më shumë butona sa të keni fëmijë
- Hapi 4: Shtoni një zile
- Hapi 5: Shtoni një ekran LCD
Video: Modifikuesi i sjelljes së fëmijëve: 5 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-02-01 14:42
Modifikuesi i Sjelljes së Fëmijëve regjistron sa herë fëmija juaj është futur në telashe (aka godet) dhe kur të arrijnë tre, një zile bie dhe një ekran LCD njofton se ata janë të bazuar.
Hapi 1: Filloni thjeshtë: Shtoni një buton
Hapi i parë në këtë Projekt është i thjeshtë. Shtoni 1 buton. Në këtë hap ju nevojiten, 4 tela Male në Mashkull, 1 220 Resisitor dhe një buton shtytjeje.
- Lidhni 5V në anën e energjisë me rreshtin pozitiv në tryezën e bukës
-
Lidhni GND me anën negative të tabelës së bukës
- Vendoseni butonin në tryezën e bukës
-
Lidhni fuqinë në rreshtin postiv me pjesën e poshtme të majtë të butonit të shtypjes
- Vendoseni butonin duke përdorur një rezistencë në pjesën e poshtme të djathtë të butonit shtytës në rreshtin negativ të pjatës.
- Lidhni numrin 13 në anën dixhitale të Arduino në anën e sipërme të djathtë të butonit.
Verifikoni me kodin tuaj që butoni po regjistrohet:
int child1ButtonPin = 13; // Ky është kunja me të cilën është e lidhur butoni i shtypjes sonë
int child1ButtonState = 0; // Lexon gjendjen e butonit (ndezur/fikur)
int child1Strike = 0; // Sa goditje ka fëmija
// funksioni i konfigurimit funksionon një herë kur shtypni rivendosjen ose ndizni bordin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // funksioni i lakut ekzekutohet pa pushim lak i pavlefshëm përgjithmonë () {// lexoni gjendjen e butonit (ndezur ose fikur) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // Butoni shtypet {Serial.println ("HIGH"); vonesa (5000); }
nëse (child1ButtonState == LOW)
{Serial.println ("LOW"); vonesa (5000); }}
Hapi 2: Ndryshoni Kodin për Regjistrimin e Shtypjeve të Butonave
Ndryshoni Kodin për të regjistruar një shtyp buton:
int child1ButtonPin = 13; // Ky është kunja që butoni ynë i shtypjes është i lidhur në child1ButtonState = 0; // Lexon gjendjen e butonit (ndezur/fikur) int child1PreviousState = 0; // Gjendja e butonit të mëparshëm int child1Strike = 0;
// funksioni i konfigurimit funksionon një herë kur shtypni rivendosjen ose ndizni bordin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // funksioni i lakut funksionon pa pushim lak përgjithmonë i pavlefshëm () {// lexoni gjendjen e butonit (ndezur ose fikur) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == LART) // Butoni shtypet {child1Strike ++; Serial.println (child1Strike); vonesa (1000); }}
}
Tjetra Ndryshoni Kodin në mënyrë që fëmija të marrë 3 goditje, pas së cilës do të marrë një mesazh se është i bazuar:
int child1ButtonPin = 13; // Ky është kunja që butoni ynë i shtypjes është i lidhur në child1ButtonState = 0; // Lexon gjendjen e butonit (ndezur/fikur) int child1PreviousState = 0; int child1Strike = 0;
// funksioni i konfigurimit funksionon një herë kur shtypni rivendosjen ose ndizni bordin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // funksioni i lakut ekzekutohet pa pushim lak i pavlefshëm përgjithmonë () {// lexoni gjendjen e butonit (ndezur ose fikur) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == LART) // Butoni shtypet {child1Strike ++; Serial.println (child1Strike);
nëse (child1Strike> = 3)
{Serial.println ("Fëmija 1 është i bazuar!"); } vonesë (3000); }}
}
Moniter Serial duhet të duket si imazhi i mësipërm.
Shënim: Sigurohuni që jeni të kënaqur me vonesën. Me një vonesë të vogël dhe do të regjistrojë 1 buton shtypni më shumë se një!
Hapi 3: Shtoni sa më shumë butona sa të keni fëmijë
Në këtë hap, ne thjesht kopjojmë hapat e fundit. Shtoni po aq butona sa fëmijët. Në rastin tim, shtoj katër. Sigurohuni që të ndryshoni kodin tuaj pinin dixhital me të cilin është lidhur kablloja. Në rastin tim kam përdorur kunjat 12 deri në 10 për të shtuar butonat e mi. Në rast se keni nevojë të kujtoni këtu është Hapi 1:
- Lidhni 5V në anën e energjisë me rreshtin pozitiv në tryezën e bukës
-
Lidhni GND me anën negative të tabelës së bukës
- Vendosni butonin në tryezën e bukës Lidhni fuqinë në rreshtin postiv në pjesën e poshtme të majtë të butonit të shtypjes
-
Vendoseni butonin duke përdorur një rezistencë në pjesën e poshtme të djathtë të butonit shtytës në rreshtin negativ të pjatës.
- Lidhni (numrin tuaj pin) në anën dixhitale të Arduino në anën e sipërme të djathtë të butonit.
Ju gjithashtu do të duhet të modifikoni kodin për të trajtuar të gjithë butonat tuaj. Ju lutemi mbani në mend se nëse keni nevojë të jeni të kujdesshëm për telat që keni përdorur. Ju nuk mund të shtoni me shkronja të vogla së bashku. Shtë më mirë të deklaroni 1 si një objekt String.
int child1ButtonPin = 13; // Ky është kunja që butoni ynë i shtypjes është i lidhur në fëmijë2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Lexon gjendjen e butonit (ndez/fik) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; int child2Strike = 0; int child3Strike = 0; int child4Strike = 0;
// funksioni i konfigurimit funksionon një herë kur shtypni rivendosjen ose ndizni bordin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // funksioni i lakut ekzekutohet pa pushim lak i pavlefshëm përgjithmonë () {// lexoni gjendjen e butonit (ndezur ose fikur) child1ButtonState = digitalRead (child1ButtonPin);
child2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
nëse (child1ButtonState! = child1PrevenueState)
{if (child1ButtonState == HIGH) // Butoni shtypet {child1Strike ++; Serial.println (String ("Fëmija 1 Ka:") + child1Strike + "godet");
nëse (child1Strike> = 3)
{Serial.println ("Fëmija 1 është i bazuar!"); } vonesë (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == LART) // Butoni shtypet {child2Strike ++; Serial.println (String ("Fëmija 2 ka:") + child2Strike + "godet");
nëse (child2Strike> = 3)
{Serial.println ("Fëmija 2 është i bazuar!"); } vonesë (3000); }}
nëse (child3ButtonState! = child3PreciousState)
{if (child3ButtonState == HIGH) // Butoni shtypet {child3Strike ++; Serial.println (String ("Fëmija 3 ka:") + child3Strike + "godet");
nëse (child3Strike> = 3)
{Serial.println ("Fëmija 3 është i bazuar!"); } vonesë (3000); }}
nëse (child4ButtonState! = child4PreciousState)
{if (child4ButtonState == HIGH) // Butoni shtypet {child4Strike ++; Serial.println (String ("Fëmija 4 ka:") + child4Strike + "godet");
nëse (child4Strike> = 3)
{Serial.println ("Fëmija 4 është i bazuar!"); } vonesë (3000); }}}
Hapi 4: Shtoni një zile
Tani le të sigurohemi që fëmijët tuaj ta dinë se ata janë të bazuar. Le të shtojmë një zile. Për të lidhur zilen, ndiqni këto hapa të thjeshtë.
- Shtoni një Gumëzhitës në tryezën tuaj të bukës, planifikoni hapësirë pasi shfaqet një ekran LCD.
- Lidhni anën Postive (sinjalizuesi duhet të ketë një + në anën postive) me Kunjin e zgjedhur nga ju. Bëra 9.
- Lidhni anën tjetër me shinën e tokëzuar të dërrasës tuaj të bukës.
Tjetra, modifikoni kodin tuaj për të fikur zilen kur një fëmijë bëhet i bazuar. Ekzistojnë disa mënyra të ndryshme për të koduar për zilen tuaj, por mua më pëlqen toni (emri i ziles, hertz, kohëzgjatja) për thjeshtësinë e tij. Kështu që një shembull i kësaj do të ishte toni (zile, 4000, 300).
int child1ButtonPin = 13; // Ky është kunja që butoni ynë i shtypjes është i lidhur në fëmijë2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Lexon gjendjen e butonit (ndez/fik) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int zile = 2;
// funksioni i konfigurimit funksionon një herë kur shtypni rivendosjen ose ndizni bordin
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (zile, OUTPUT); } // funksioni i lakut funksionon pa pushim lak përgjithmonë i pavlefshëm () {// lexoni gjendjen e butonit (ndezur ose fikur) child1ButtonState = digitalRead (child1ButtonPin);
child2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
nëse (child1ButtonState! = child1PrevenueState)
{if (child1ButtonState == HIGH) // Butoni shtypet {child1Strike ++; Serial.println (String ("Fëmija 1 Ka:") + child1Strike + "godet");
nëse (child1Strike> = 3)
{Serial.println ("Fëmija 1 është i bazuar!"); toni (zile, 5000, 500); // Dërgon një tingull 5 herc për 5 milisekonda
}
vonesë (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == LART) // Butoni shtypet {child2Strike ++; Serial.println (String ("Fëmija 2 ka:") + child2Strike + "godet");
nëse (child2Strike> = 3)
{Serial.println ("Fëmija 2 është i bazuar!"); toni (zile, 5000, 500); } vonesë (3000); }}
nëse (child3ButtonState! = child3PreciousState)
{if (child3ButtonState == HIGH) // Butoni shtypet {child3Strike ++; Serial.println (String ("Fëmija 3 ka:") + child3Strike + "godet");
nëse (child3Strike> = 3)
{Serial.println ("Fëmija 3 është i bazuar!"); toni (zile, 5000, 500); } vonesë (3000); }}
nëse (child4ButtonState! = child4PreciousState)
{if (child4ButtonState == HIGH) // Butoni shtypet {child4Strike ++; Serial.println (String ("Fëmija 4 ka:") + child4Strike + "godet");
nëse (child4Strike> = 3)
{Serial.println ("Fëmija 4 është i bazuar!"); toni (zile, 5000, 500); } vonesë (3000); }}}
Hapi 5: Shtoni një ekran LCD
Tani lejon një ekran LCD për lexim të qartë dhe të lehtë.
- Së pari, shtoni një potenciometër në tryezën tuaj të bukës për të kontrolluar ekranin LCD. Kini kujdes se ku e vendosni pasi që me siguri po ju mbaron hapësira deri tani.
- Përdorni pjesën e përparme të majtë për të lidhur potenciometrin tuaj me shinën e energjisë
- Përdorni pjesën e përparme djathtas për të tokëzuar potenciometrin tuaj.
- Pjesa e pasme do të lidhet me ekranin LCD.
- Shtoni ekranin LCD në tabelën tuaj të bukës
- Vendosni kunjin e parë të ekranit në shinën e tokëzimit
- Lidhni kunjin e dytë në shinën e energjisë.
- Pina e tretë LCD shkon në Pin 8 në Arduino
- Kodi i katërt LCD shkon në Pin 7 në Arduino
- Së pesti shkon te Pin 6 në Arduino
- Pin i Gjashtë shkon në pin 5 në Arduino
- Kunjat 7 deri në 10 në ekranin LCD janë bosh
- Pin 11 shkon në Pin 5 në Arduino
- Pin 12 shkon në hekurudhën e tokëzuar
- Pin 13 shkon në Pin 4 në Arduino
- Pin 14 shkon në pjesën e pasme të potenciometrit
- Pin 15 shkon në hekurudhën e energjisë
- Pin 16 shkon në hekurudhën tokësore.
Tani do të duhet të përditësoni kodin tuaj për të përdorur ekranin LCD. Për këtë ju do të përdorni Librist Liquid Crystal. Kini kujdes nga deklaratat tuaja të shtypura LCD. Mos harroni të pastroni ekranin kur keni nevojë për një mesazh të ri. Gjithashtu mos harroni të vendosni kursorin kur doni të përdorni dy rreshta.
#përfshi
LiquidCrystal LCD (3, 4, 5, 6, 7, 8); // Vendos ekranin LCD
int child1ButtonPin = 13; // Ky është kunja që butoni ynë i shtypjes është i lidhur me int child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Lexon gjendjen e butonit (ndez/fik) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; // Gjendja e mëparshme e butonit të shtypur int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; // Sa goditje ka një fëmijë int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int zile = 9; // Gumëzhitësi
// funksioni i konfigurimit funksionon një herë kur shtypni rivendosjen ose ndizni bordin
void setup () {Serial.begin (9600); lcd.filloni (16, 2); lcd.print ("Fëmija"); lcd.setCursor (0, 1); lcd.print ("Modifikuesi i Sjelljes"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (zile, OUTPUT); } // funksioni i lakut ekzekutohet pa pushim lak përgjithmonë i pavlefshëm () {lcd.setCursor (0, 0); // lexoni gjendjen e butonit (ndezur ose fikur) child1ButtonState = digitalRead (child1ButtonPin);
child2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
nëse (child1ButtonState! = child1PrevenueState)
{if (child1ButtonState == HIGH) // Butoni shtypet {lcd.clear (); child1Strike ++; Serial.println (String ("Fëmija 1 Ka:") + child1Strike + "godet"); lcd.print ("Fëmija 1 Ka:"); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print ("Godet!");
nëse (child1Strike> = 3)
{Serial.println ("Fëmija 1 është i bazuar!"); lcd.qartë (); lcd.setCursor (0, 0); lcd.print ("Fëmija 1 është"); lcd.setCursor (0, 1); lcd.print ("I bazuar!");
toni (zile, 5000, 500); // Dërgon një tingull 5 herc për 5 milisekonda
}
vonesë (3000); }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == LART) // Butoni shtypet {child2Strike ++; Serial.println (String ("Fëmija 2 ka:") + child2Strike + "godet"); lcd.print ("Fëmija 2 Ka:"); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print ("Godet!"); if (child2Strike> = 3) {Serial.println ("Fëmija 2 është i bazuar!"); lcd.qartë (); lcd.setCursor (0, 0); lcd.print ("Fëmija 2 është"); lcd.setCursor (0, 1); lcd.print ("E bazuar!"); toni (zile, 5000, 500); } vonesë (3000); }}
nëse (child3ButtonState! = child3PreciousState)
{lcd.qartë (); if (child3ButtonState == LART) // Butoni shtypet {child3Strike ++; Serial.println (String ("Fëmija 3 ka:") + child3Strike + "godet"); lcd.print ("Fëmija 3 ka:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print ("Godet!"); if (child3Strike> = 3) {Serial.println ("Fëmija 3 është i bazuar!"); lcd.qartë (); lcd.setCursor (0, 0); lcd.print ("Fëmija 3 është"); lcd.setCursor (0, 1); lcd.print ("E bazuar!"); toni (zile, 5000, 500); } vonesë (3000); }}
nëse (child4ButtonState! = child4PreciousState)
{lcd.qartë (); if (child4ButtonState == LART) // Butoni shtypet {child4Strike ++; Serial.println (String ("Fëmija 4 ka:") + child4Strike + "godet"); lcd.print ("Fëmija 4 Ka:"); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print ("Godet!");
nëse (child4Strike> = 3)
{Serial.println ("Fëmija 4 është i bazuar!"); lcd.qartë (); lcd.setCursor (0, 0); lcd.print ("Fëmija 4 është"); lcd.setCursor (0, 1); lcd.print ("I bazuar!"); toni (zile, 5000, 500); } vonesë (3000); }}} Dhe kjo është ajo, kjo është gjithçka që ju nevojitet për të ndërtuar Modifikuesin tuaj të Sjelljes së Fëmijëve
Recommended:
Asnjë urinim tani, Pajisja për rregullimin e sjelljes së kafshëve shtëpiake që ndalon që macet të urinojnë në shtëpinë tuaj: 4 hapa
Jo Pee Tani, Pajisja e Përshtatjes së Sjelljes së Kafshëve që ndalon macet të urinojnë në shtëpinë tuaj: Unë u shqetësova aq shumë nga macja ime saqë asaj i pëlqen të urinojë në shtratin tim, kontrollova gjithçka që i duhej dhe gjithashtu e çova te veterineri. Pasi kam zgjidhur gjithçka që mund të mendoj dhe dëgjoj fjalën e mjekut, e kuptoj që ajo thjesht ka një sjellje të keqe. Pra th
Modifikuesi Dikoptik që Përfshin Alternativisht i Transmetimit Stereoskopik 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: 6 Hapa
Ndryshuesi Alternativ Dikoptik i Transmetimit Stereoskopik 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: Për ca kohë kam punuar në një pasardhës të AODMoST origjinal. Pajisja e re përdor mikrokontrollues më të shpejtë dhe më të mirë 32-bit dhe ndërrim më të shpejtë të videos analoge. Ai lejon që AODMoST 32 të punojë me rezolucione më të larta dhe të zbatojë funksionale të reja
Plug & Play Display CO2 Sensor Me NodeMCU/ESP8266 për Shkollat, Kopshtet e Fëmijëve ose Shtëpinë tuaj: 7 hapa
Plug & Play Display CO2 Sensor Me NodeMCU/ESP8266 për Shkollat, Kopshtet e Fëmijëve ose Shtëpia juaj: Unë do t'ju tregoj se si të ndërtoni shpejt një prizë & luani sensorin CO2 ku të gjithë elementët e projektit do të lidhen me telat DuPont. Do të ketë vetëm 5 pika që duhet të bashkohen, sepse nuk u ngjita fare para këtij projekti. Kjo
Skuadra e Fëmijëve në një Vozitje Vetë, Ndjekja e Linjës dhe Automjeti i Zbulimit të Pengesave .: 4 Hapa
Skuadra e Fëmijëve në një Vozitje Vetë, Ndjekja e Linjës dhe Zbulimi i Pengesave në Automjete. Demo video: https: //youtu.be/bVIsolkEP1kPër këtë projekt do të na duhen materialet e mëposhtme
Modifikuesi i Direktivitetit të Përforcuesit të Kitarës: 5 Hapa
Modifikuesi i Direktivitetit të Përforcuesit të Kitarës: Sfondi: Ky udhëzues është një zbatim i drejtpërdrejtë i " Mitchell Donut " modifikuesi i drejtueshmërisë së drejtuesit të kitarës i propozuar nga Jay Mitchell nga forumi i diskutimit The Gear Page. Diskutimi më i rëndësishëm mund të gjendet në Kryetarin