Talaan ng mga Nilalaman:

Modifier ng Pag-uugali ng Bata: 5 Hakbang (na may Mga Larawan)
Modifier ng Pag-uugali ng Bata: 5 Hakbang (na may Mga Larawan)

Video: Modifier ng Pag-uugali ng Bata: 5 Hakbang (na may Mga Larawan)

Video: Modifier ng Pag-uugali ng Bata: 5 Hakbang (na may Mga Larawan)
Video: (англ.) Аутизм. Детская психиатрия (вкл. русс. титры) © 2024, Nobyembre
Anonim
Tagabago ng Pag-uugali ng Bata
Tagabago ng Pag-uugali ng Bata

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

Magsimula sa Simple: Magdagdag ng isang Button
Magsimula sa 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.

  1. Ikonekta ang 5V sa panig na Lakas sa positibong hilera sa breadboard
  2. Ikonekta ang GND sa negatibong bahagi ng breadboard

  3. Ipasok ang pushbutton sa breadboard
  4. Ikonekta ang lakas sa postive row sa kaliwang ibabang bahagi ng push button

  5. I-ground ang pindutan sa pamamagitan ng paggamit ng isang risistor sa kanang kanang bahagi ng pindutan ng push sa negatibong hilera ng breadboard.
  6. 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 Magrehistro ng Mga Pindutan sa Button
Baguhin ang Code upang Magrehistro ng Mga Pindutan sa Button
Baguhin ang Code upang Magrehistro ng Mga Pindutan sa Button
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

Magdagdag ng Maraming mga Pindutan Tulad ng Mayroon kang mga Anak
Magdagdag ng Maraming mga Pindutan Tulad ng Mayroon kang mga Anak
Magdagdag ng Maraming mga Pindutan Tulad ng Mayroon kang mga Anak
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:

  1. Ikonekta ang 5V sa panig na Lakas sa positibong hilera sa breadboard
  2. Ikonekta ang GND sa negatibong bahagi ng breadboard

  3. Ipasok ang pushbutton sa breadboard Ikonekta ang lakas sa postive row sa kaliwang ibabang bahagi ng push button
  4. I-ground ang pindutan sa pamamagitan ng paggamit ng isang risistor sa kanang kanang bahagi ng pindutan ng push sa negatibong hilera ng breadboard.

  5. 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

Magdagdag ng isang Buzzer
Magdagdag ng isang Buzzer
Magdagdag ng isang Buzzer
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.

  1. Magdagdag ng isang Buzzer sa iyong breadboard, magplano para sa puwang dahil paparating ang isang LCD screen.
  2. Ikonekta ang panig na Postive (ang buzzer ay dapat na may + sa postive na bahagi) sa Pin na iyong pinili. Nag-9 ako.
  3. 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

Image
Image
Magdagdag ng isang LCD Screen
Magdagdag ng isang LCD Screen

Hinahayaan ngayon ang isang LCD screen para sa malinaw at madaling basahin.

  1. 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.
  2. Gamitin ang kaliwang harap upang ikonekta ang iyong potensyomiter sa power rail
  3. Gamitin ang kanang kanan sa lupa na ang iyong potensyomiter.
  4. Ang likod ay makakonekta sa lcd screen.
  5. Idagdag ang LCD screen sa iyong breadboard
  6. I-ground ang unang screen pin sa grounding rail
  7. Wire ang pangalawang pin sa power rail.
  8. Ang pangatlong LCD pin ay pupunta sa Pin 8 sa Arduino
  9. Ang ikaapat na LCD pin ay papunta sa Pin 7 sa Arduino
  10. Ang ikalima ay pupunta sa Pin 6 sa Arduino
  11. Ang Pang-anim na Pin ay pumupunta sa pin 5 sa Arduino
  12. Ang mga pin 7 hanggang 10 sa LCD screen ay walang laman
  13. Ang Pin 11 ay pupunta sa Pin 5 sa Arduino
  14. Ang Pin 12 ay papunta sa grounded rail
  15. Ang Pin 13 ay pupunta sa Pin 4 sa Arduino
  16. Ang Pin 14 ay papunta sa likuran ng potensyomiter
  17. Ang Pin 15 ay papunta sa Power rail
  18. 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: