Talaan ng mga Nilalaman:
- Hakbang 1: Magsimula ng Simple: Magdagdag ng isang Button
- Hakbang 2: Baguhin ang Code upang Magrehistro ng Mga Pindutan sa Button
- Hakbang 3: Magdagdag ng Maraming Mga Pindutan Tulad ng Mayroon kang mga Anak
- Hakbang 4: Magdagdag ng isang Buzzer
- Hakbang 5: Magdagdag ng isang LCD Screen
Video: Modifier ng Pag-uugali ng Bata: 5 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-02-01 14:42
Itinatala ng Child Behaviour Modifier kung gaano karaming beses na nagkagulo ang iyong anak (aka Strikes) at kapag umabot sila sa tatlo, isang buzzer ang pumapatay at isang lcd screen ang nagpapahayag na sila ay may grounded.
Hakbang 1: Magsimula ng Simple: Magdagdag ng isang Button
Ang unang Hakbang sa Proyekto na ito ay simple. Magdagdag ng 1 Button. Sa hakbang na ito kailangan mo, 4 Lalaki hanggang Lalaki na Mga Wires, 1 220 Resisitor at isang push button.
- Ikonekta ang 5V sa panig na Lakas sa positibong hilera sa breadboard
-
Ikonekta ang GND sa negatibong bahagi ng breadboard
- Ipasok ang pushbutton sa breadboard
-
Ikonekta ang lakas sa postive row sa kaliwang ibabang bahagi ng push button
- I-ground ang pindutan sa pamamagitan ng paggamit ng isang risistor sa kanang kanang bahagi ng pindutan ng push sa negatibong hilera ng breadboard.
- Ikonekta ang # 13 sa Digital na bahagi ng Arduino sa kanang tuktok na kanang bahagi ng pindutan.
I-verify sa iyong code na ang pagrehistro ng pindutan:
int child1ButtonPin = 13; // Ito ang pin na konektado sa aming push button
int child1ButtonState = 0; // Binabasa ang estado ng pindutan (on / off)
int child1Strike = 0; // Ilan ang welga ng bata
// ang pag-andar ng pag-setup ay tumatakbo nang isang beses kapag pinindot mo ang pag-reset o pag-power ng board
void setup () {Serial.begin (9600); pinMode (child1 ButtonPin, INPUT); } // ang pagpapaandar ng loop ay nagpapatakbo ng paulit-ulit magpakailanman walang bisa loop () {// basahin ang estado ng pindutan (on o off) child1ButtonState = digitalRead (child1buttonPin); kung (child1 ButtonState == MATAAS) // Button ay pinindot {Serial.println ("HIGH"); pagkaantala (5000); }
kung (child1 ButtonState == LOW)
{Serial.println ("LOW"); pagkaantala (5000); }}
Hakbang 2: Baguhin ang Code upang Magrehistro ng Mga Pindutan sa Button
Baguhin ang Code upang magparehistro ng isang pindutan ng pindutin:
int child1buttonPin = 13; // Ito ang pin na aming pindutan ng push ay konektado sa bata // Previous button state int child1Strike = 0;
// ang pag-andar ng pag-setup ay tumatakbo nang isang beses kapag pinindot mo ang pag-reset o pag-power ng board
void setup () {Serial.begin (9600); pinMode (child1 ButtonPin, INPUT); } // ang pagpapaandar ng loop ay nagpapatakbo ng paulit-ulit magpakailanman walang bisa loop () {// basahin ang estado ng pindutan (on o off) child1ButtonState = digitalRead (child1buttonPin); kung (child1ButtonState! = child1PreviousState) {kung (child1 ButtonState == HIGH) // Ang pindutan ay pinindot {child1Strike ++; Serial.println (child1Strike); pagkaantala (1000); }}
}
Susunod na Baguhin ang Code upang ang bata ay makakuha ng 3 mga welga pagkatapos nito makakatanggap sila ng isang mensahe na pinagbatayan sila:
int child1buttonPin = 13; // Ito ang pin na aming pindutan ng push ay konektado sa bata int child1Strike = 0;
// ang pag-andar ng pag-setup ay tumatakbo nang isang beses kapag pinindot mo ang pag-reset o pag-power ng board
void setup () {Serial.begin (9600); pinMode (child1 ButtonPin, INPUT); } // ang pagpapaandar ng loop ay nagpapatakbo ng paulit-ulit magpakailanman walang bisa loop () {// basahin ang estado ng pindutan (on o off) child1ButtonState = digitalRead (child1buttonPin); kung (child1ButtonState! = child1PreviousState) {kung (child1 ButtonState == MATAAS) // Ang pindutan ay pinindot {child1Strike ++; Serial.println (child1Strike);
kung (child1Strike> = 3)
{Serial.println ("Ang Bata 1 Ay Binuo!"); } pagkaantala (3000); }}
}
Ang Serial Moniter ay dapat magmukhang imahe sa itaas.
Tandaan: Tiyaking komportable ka sa pagkaantala. Sa kaunting pagkaantala at magpaparehistro ito ng 1 pindutan ng pindutin nang higit pa sa isa!
Hakbang 3: Magdagdag ng Maraming Mga Pindutan Tulad ng Mayroon kang mga Anak
Sa hakbang na ito, kopyahin lamang namin ang huling pares ng mga hakbang. Magdagdag ng maraming mga pindutan tulad ng ginagawa mo sa mga bata. Sa aking kaso, nagdagdag ako ng apat. Tiyaking palitan ang iyong code ng Digital pin na ang pindutan ay nakakonekta. Sa aking kaso ginamit ko ang mga pin na 12 hanggang 10 upang idagdag ang aking mga pindutan. Kung sakaling kailangan mong ipaalala dito ang Hakbang 1:
- Ikonekta ang 5V sa panig na Lakas sa positibong hilera sa breadboard
-
Ikonekta ang GND sa negatibong bahagi ng breadboard
- Ipasok ang pushbutton sa breadboard Ikonekta ang lakas sa postive row sa kaliwang ibabang bahagi ng push button
-
I-ground ang pindutan sa pamamagitan ng paggamit ng isang risistor sa kanang kanang bahagi ng pindutan ng push sa negatibong hilera ng breadboard.
- Ikonekta (ang iyong numero ng pin) sa Digital na bahagi ng Arduino sa kanang tuktok na kanang bahagi ng pindutan.
Kakailanganin mo ring baguhin ang code upang mahawakan ang lahat ng iyong mga pindutan. Mangyaring tandaan na kung kailangan mong mag-ingat sa mga ginamit mong Mga Kuwento. Hindi mo maaaring idagdag sa mga lowercase na magkasama. Pinakamainam na ideklara ang 1 bilang isang bagay na String.
int child1ButtonPin = 13; // Ito ang pin na aming pindutan ng push ay konektado sa toint child2buttonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1buttonState = 0; // Binabasa ang estado ng pindutan (on / off) 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;
// ang pag-andar ng pag-setup ay tumatakbo nang isang beses kapag pinindot mo ang pag-reset o pag-power ng board
void setup () {Serial.begin (9600); pinMode (child1 ButtonPin, INPUT); pinMode (child2 ButtonPin, INPUT); pinMode (child3 ButtonPin, INPUT); pinMode (child4 ButtonPin, INPUT); } // ang pagpapaandar ng loop ay nagpapatakbo ng paulit-ulit magpakailanman walang bisa loop () {// basahin ang estado ng pindutan (on o off) child1ButtonState = digitalRead (child1buttonPin);
child2buttonState = digitalRead (child2 ButtonPin);
child3buttonState = digitalRead (child3 ButtonPin);
child4buttonState = digitalRead (child4 ButtonPin);
kung (child1ButtonState! = bata1PreviousState)
{kung (child1 ButtonState == MATAAS) // Ang pindutan ay pinindot {child1Strike ++; Serial.println (String ("Bata 1 Ay:") + bata1Strike + "welga");
kung (child1Strike> = 3)
{Serial.println ("Ang Bata 1 Ay Binuo!"); } pagkaantala (3000); }} kung (child2 ButtonState! = child2PreviousState) {kung (child2 ButtonState == MATAAS) // Ang pindutan ay pinindot {child2Strike ++; Serial.println (String ("Ang bata 2 ay may:") + anak2Strike + "welga");
kung (child2Strike> = 3)
{Serial.println ("Ang Bata 2 Ay Binuo!"); } pagkaantala (3000); }}
kung
{kung (child3 ButtonState == MATAAS) // Ang pindutan ay pinindot {child3Strike ++; Serial.println (String ("Ang Bata 3 ay may:") + child3Strike + "welga");
kung (child3Strike> = 3)
{Serial.println ("Bata 3 Ay Nabuo!"); } pagkaantala (3000); }}
kung
{kung (child4 ButtonState == MATAAS) // Ang pindutan ay pinindot {child4Strike ++; Serial.println (String ("Ang bata 4 ay may:") + child4Strike + "welga");
kung (child4Strike> = 3)
{Serial.println ("Bata 4 Ay Nabuo!"); } pagkaantala (3000); }}}
Hakbang 4: Magdagdag ng isang Buzzer
Hinahayaan nitong tiyakin na alam ng iyong mga anak na sila ay may grounded. Hinahayaan kang magdagdag ng isang buzzer. Upang ikonekta ang buzzer, sundin ang mga madaling hakbang na ito.
- Magdagdag ng isang Buzzer sa iyong breadboard, magplano para sa puwang dahil paparating ang isang LCD screen.
- Ikonekta ang panig na Postive (ang buzzer ay dapat na may + sa postive na bahagi) sa Pin na iyong pinili. Nag-9 ako.
- Ikonekta ang kabilang panig sa grounded rail ng iyong breadboard.
Susunod, baguhin ang iyong code upang maitakda ang buzzer kapag ang isang bata ay na-grounded. Mayroong isang pares ng iba't ibang mga paraan upang mag-code para sa iyong buzzer ngunit gusto ko ang tono (buzzerName, hertz, tagal) para sa pagiging simple nito Kaya isang halimbawa nito ay magiging tono (buzzer, 4000, 300).
int child1ButtonPin = 13; // Ito ang pin na aming pindutan ng push ay konektado sa toint child2buttonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1buttonState = 0; // Binabasa ang estado ng pindutan (on / off) 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 buzzer = 2;
// ang pag-andar ng pag-setup ay tumatakbo nang isang beses kapag pinindot mo ang pag-reset o pag-power ng board
void setup () {Serial.begin (9600); pinMode (child1 ButtonPin, INPUT); pinMode (child2 ButtonPin, INPUT); pinMode (child3 ButtonPin, INPUT); pinMode (child4 ButtonPin, INPUT); pinMode (buzzer, OUTPUT); } // ang pagpapaandar ng loop ay nagpapatakbo ng paulit-ulit magpakailanman walang bisa loop () {// basahin ang estado ng pindutan (on o off) child1ButtonState = digitalRead (child1buttonPin);
child2buttonState = digitalRead (child2 ButtonPin);
child3buttonState = digitalRead (child3 ButtonPin);
child4buttonState = digitalRead (child4 ButtonPin);
kung (child1ButtonState! = bata1PreviousState)
{kung (child1 ButtonState == MATAAS) // Ang pindutan ay pinindot {child1Strike ++; Serial.println (String ("Bata 1 Ay:") + bata1Strike + "welga");
kung (child1Strike> = 3)
{Serial.println ("Ang Bata 1 Ay Binuo!"); tono (buzzer, 5000, 500); // Nagpadala ng isang 5 hertz tunog para sa 5 milliseconds
}
pagkaantala (3000); }} kung (child2 ButtonState! = child2PreviousState) {kung (child2 ButtonState == TAAS) // Ang pindutan ay pinindot {child2Strike ++; Serial.println (String ("Ang bata 2 ay may:") + anak2Strike + "welga");
kung (child2Strike> = 3)
{Serial.println ("Ang Bata 2 Ay Binuo!"); tono (buzzer, 5000, 500); } pagkaantala (3000); }}
kung
{kung (child3 ButtonState == MATAAS) // Ang pindutan ay pinindot {child3Strike ++; Serial.println (String ("Ang Bata 3 ay may:") + child3Strike + "welga");
kung (child3Strike> = 3)
{Serial.println ("Bata 3 Ay Nabuo!"); tono (buzzer, 5000, 500); } pagkaantala (3000); }}
kung
{kung (child4 ButtonState == MATAAS) // Ang pindutan ay pinindot {child4Strike ++; Serial.println (String ("Ang bata 4 ay may:") + child4Strike + "welga");
kung (child4Strike> = 3)
{Serial.println ("Bata 4 Ay Nabuo!"); tono (buzzer, 5000, 500); } pagkaantala (3000); }}}
Hakbang 5: Magdagdag ng isang LCD Screen
Hinahayaan ngayon ang isang LCD screen para sa malinaw at madaling basahin.
- Una, magdagdag ng isang potensyomiter sa iyong breadboard upang makontrol ang lcd screen. Mag-ingat sa kung saan mo ito inilalagay dahil marahil ay nauubusan ka ng puwang sa ngayon.
- Gamitin ang kaliwang harap upang ikonekta ang iyong potensyomiter sa power rail
- Gamitin ang kanang kanan sa lupa na ang iyong potensyomiter.
- Ang likod ay makakonekta sa lcd screen.
- Idagdag ang LCD screen sa iyong breadboard
- I-ground ang unang screen pin sa grounding rail
- Wire ang pangalawang pin sa power rail.
- Ang pangatlong LCD pin ay pupunta sa Pin 8 sa Arduino
- Ang ikaapat na LCD pin ay papunta sa Pin 7 sa Arduino
- Ang ikalima ay pupunta sa Pin 6 sa Arduino
- Ang Pang-anim na Pin ay pumupunta sa pin 5 sa Arduino
- Ang mga pin 7 hanggang 10 sa LCD screen ay walang laman
- Ang Pin 11 ay pupunta sa Pin 5 sa Arduino
- Ang Pin 12 ay papunta sa grounded rail
- Ang Pin 13 ay pupunta sa Pin 4 sa Arduino
- Ang Pin 14 ay papunta sa likuran ng potensyomiter
- Ang Pin 15 ay papunta sa Power rail
- Ang Pin 16 ay papunta sa Ground Rail.
Ngayon ay kakailanganin mong i-update ang iyong code upang magamit ang lcd screen. Para doon gagamitin mo ang libaryong Liquid Crystal. Mag-ingat sa iyong mga pahayag sa pag-print sa lcd. Tandaan na i-clear ang screen kapag kailangan mo ng isang bagong mensahe. Tandaan din na itakda ang cursor kapag nais mong gumamit ng dalawang linya.
# isama
LiquidCrystal lcd (3, 4, 5, 6, 7, 8); // Itinatakda ang LCD Screen
int child1buttonPin = 13; // Ito ang pin na aming pindutan ng push ay konektado sa int child2buttonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1buttonState = 0; // Binabasa ang estado ng pindutan (on / off) int child2buttonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; // Ang Nakaraang estado ng pindutan na pinindot int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; // Ilang Strikes ang isang bata ay mayroong int anak2Strike = 0; int child3Strike = 0; int child4Strike = 0; Const int buzzer = 9; // ang Buzzer
// ang pag-andar ng pag-setup ay tumatakbo nang isang beses kapag pinindot mo ang pag-reset o pag-power ng board
void setup () {Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Ang Bata"); lcd.setCursor (0, 1); lcd.print ("Modifer ng Pag-uugali"); pinMode (child1 ButtonPin, INPUT); pinMode (child2 ButtonPin, INPUT); pinMode (child3 ButtonPin, INPUT); pinMode (child4 ButtonPin, INPUT); pinMode (buzzer, OUTPUT); } // ang pagpapaandar ng loop ay tumatakbo nang paulit-ulit magpakailanman walang bisa loop () {lcd.setCursor (0, 0); // read the button's state (on or off) child1 ButtonState = digitalRead (child1 ButtonPin);
child2buttonState = digitalRead (child2 ButtonPin);
child3buttonState = digitalRead (child3 ButtonPin);
child4buttonState = digitalRead (child4 ButtonPin);
kung (child1ButtonState! = bata1PreviousState)
{kung (child1 ButtonState == MATAAS) // Ang pindutan ay pinindot {lcd.clear (); bata1Strike ++; Serial.println (String ("Bata 1 Ay:") + bata1Strike + "welga"); lcd.print ("Bata 1 Ay:"); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print ("Strikes!");
kung (child1Strike> = 3)
{Serial.println ("Ang Bata 1 Ay Binuo!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Ang Bata 1 ay"); lcd.setCursor (0, 1); lcd.print ("Graced!");
tono (buzzer, 5000, 500); // Nagpadala ng isang 5 hertz tunog para sa 5 milliseconds
}
pagkaantala (3000); }} kung (child2 ButtonState! = child2PreviousState) {lcd.clear (); kung (child2 ButtonState == MATAAS) // Ang pindutan ay pinindot {child2Strike ++; Serial.println (String ("Ang bata 2 ay may:") + anak2Strike + "welga"); lcd.print ("Bata 2 Ay:"); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print ("Strikes!"); kung (child2Strike> = 3) {Serial.println ("Bata 2 Ay Graced!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Ang Bata 2 ay"); lcd.setCursor (0, 1); lcd.print ("Graced!"); tono (buzzer, 5000, 500); } pagkaantala (3000); }}
kung
{lcd.clear (); kung (child3 ButtonState == MATAAS) // Ang pindutan ay pinindot {child3Strike ++; Serial.println (String ("Ang Bata 3 ay may:") + child3Strike + "welga"); lcd.print ("Bata 3 Ay:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print ("Strikes!"); kung (child3Strike> = 3) {Serial.println ("Bata 3 Ay Graced!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Ang Bata 3 ay"); lcd.setCursor (0, 1); lcd.print ("Graced!"); tono (buzzer, 5000, 500); } pagkaantala (3000); }}
kung
{lcd.clear (); kung (child4 ButtonState == MATAAS) // Ang pindutan ay pinindot {child4Strike ++; Serial.println (String ("Ang bata 4 ay may:") + child4Strike + "welga"); lcd.print ("Bata 4 Ay:"); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print ("Strikes!");
kung (child4Strike> = 3)
{Serial.println ("Bata 4 Ay Nabuo!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Ang Bata 4 ay"); lcd.setCursor (0, 1); lcd.print ("Graced!"); tono (buzzer, 5000, 500); } pagkaantala (3000); }}} At iyon lang, iyon lang ang kailangan mo upang bumuo ng iyong sariling Child Behaviour Modifer
Inirerekumendang:
Bumalik sa Mga Pangunahing Kaalaman: Paghihinang para sa Mga Bata: 6 na Hakbang (na may Mga Larawan)
Bumalik sa Mga Pangunahing Kaalaman: Paghihinang para sa Mga Bata: Gumagawa ka man ng isang robot o nagtatrabaho sa Arduino, bumuo ng " hands-on " electronics sa prototyping ng isang ideya ng proyekto, alam kung paano maghinang ay magagamit. ang paghihinang ay isang mahalagang kasanayan upang malaman kung ang isang tao ay talagang nasa electr
Light Up Clock para sa Mga Bata - Green Means Go! Pula, Manatili sa BED !!!: 5 Mga Hakbang (na may Mga Larawan)
Light Up Clock para sa Mga Bata - Green Means Go! Pula, Manatili sa BED !!!: Nababaliw kami nang walang sapat na tulog !!! Hindi maintindihan ng aming 2 taong gulang kung paano " maghintay para sa 7 " sa orasan bago lumabas ng kanyang silid umaga pagkatapos ng umaga. Maaga siyang gigising (ibig kong sabihin 5:27 am - " mayroong isang 7 !!! "
Ang Mga Bata ay Maaaring Gumawa din ng Mga Infinity Mirrors !: 8 Hakbang (na may Mga Larawan)
Ang Mga Bata ay Maaaring Gumawa ng Infinity Mirrors din!: Ang Dream AcadeME ay isang samahang non-alternatibong edukasyon na samahan. Ang aming pilosopiya ay nakatuon sa pag-aaral na nakasentro sa bata na konektado sa STEAM (Science, Technology, Engineering, Arts, at Math), kalikasan, at social-konstraktibismo, isang diskarte kung saan ang bata ay
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: 7 Mga Hakbang (na may Mga Larawan)
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: Mayroong maraming mga satellite sa itaas ng aming mga ulo. Alam mo ba, na ang paggamit lamang ng Iyong computer, TV Tuner at simpleng DIY antena Maaari mong matanggap ang mga pagpapadala mula sa kanila? Halimbawa ng mga real time na larawan ng mundo. Ipapakita ko sa iyo kung paano. Kakailanganin mo ang: - 2 w
Album ng Mga Litrato ng Mga Bata Na May Komersyal ng Flashcard: 8 Mga Hakbang (na may Mga Larawan)
Kids Photo Album With Flashcard Commercial: Ipinapakita ng mga itinuturo na ito kung paano gumawa ng isang awtomatikong pag-update ng photo album ng WiFi bilang karagdagan sa mga tampok sa komersyal na flash card