Satura rādītājs:

Bērna uzvedības modifikators: 5 soļi (ar attēliem)
Bērna uzvedības modifikators: 5 soļi (ar attēliem)

Video: Bērna uzvedības modifikators: 5 soļi (ar attēliem)

Video: Bērna uzvedības modifikators: 5 soļi (ar attēliem)
Video: Обыкновенные зомби. Как работает ложь (полный выпуск) 2024, Novembris
Anonim
Bērna uzvedības modifikators
Bērna uzvedības modifikators

Bērna uzvedības modifikators reģistrē, cik reizes jūsu bērns ir nonācis nepatikšanās (pazīstams arī kā streiki), un, sasniedzot trīs gadus, atskan skaņas signāls, un LCD ekrāns paziņo, ka viņš ir piezemēts.

1. darbība: sāciet vienkārši: pievienojiet pogu

Sākt vienkārši: pievienojiet pogu
Sākt vienkārši: pievienojiet pogu

Pirmais solis šajā projektā ir vienkāršs. Pievienojiet 1 pogu. Šajā solī jums ir nepieciešami 4 vadi no vīrieša līdz vīrietim, 1 220 rezistors un spiedpoga.

  1. Pievienojiet 5V strāvas pusē pozitīvai maizes dēļa rindai
  2. Pievienojiet GND maizes dēļa negatīvajai pusei

  3. Ievietojiet pogu uz maizes dēļa
  4. Pievienojiet strāvu pozitīvajai rindai ar spiedpogas kreiso apakšējo daļu
  5. Zemējiet pogu, izmantojot rezistoru spiedpogas apakšējā labajā daļā līdz maizes dēļa negatīvajai rindai.

  6. Savienojiet #13 Arduino digitālajā pusē ar pogas augšējo labo pusi.

Ar kodu pārbaudiet, vai poga tiek reģistrēta:

int child1ButtonPin = 13; // Šī ir tapa, kurai ir piespiesta mūsu spiedpoga

int child1ButtonState = 0; // Nolasa pogas stāvokli (ieslēgts/izslēgts)

int bērns1Striks = 0; // Cik streiku bērnam ir

// iestatīšanas funkcija darbojas vienu reizi, nospiežot atiestatīšanu vai barojot plati

void setup () {Serial.begin (9600); pinMode (bērns1ButtonPin, INPUT); } // cilpas funkcija darbojas atkal un atkal uz visiem laikiem void loop () {// lasīt pogas stāvokli (ieslēgts vai izslēgts) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // Poga tiek nospiesta {Serial.println ("HIGH"); kavēšanās (5000); }

ja (bērns1ButtonState == LOW)

{Serial.println ("LOW"); kavēšanās (5000); }}

2. darbība: modificējiet kodu, lai reģistrētu pogu nospiešanu

Modificējiet kodu, lai reģistrētu pogu
Modificējiet kodu, lai reģistrētu pogu
Modificējiet kodu, lai reģistrētu pogu
Modificējiet kodu, lai reģistrētu pogu

Mainiet kodu, lai reģistrētu pogu:

int child1ButtonPin = 13; // Šī ir tapa, kurai mūsu spiedpoga ir pievienotaint1 // Iepriekšējais pogas stāvoklis int child1Strike = 0;

// iestatīšanas funkcija darbojas vienu reizi, nospiežot atiestatīšanu vai barojot plati

void setup () {Serial.begin (9600); pinMode (bērns1ButtonPin, INPUT); } // cilpas funkcija darbojas atkal un atkal uz visiem laikiem void loop () {// lasīt pogas stāvokli (ieslēgts vai izslēgts) child1ButtonState = digitalRead (child1ButtonPin); if (bērns1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Poga ir nospiesta {child1Strike ++; Serial.println (bērns1Strike); kavēšanās (1000); }}

}

Tālāk modificējiet kodu tā, lai bērns saņemtu trīs brīdinājumus, pēc tam viņš saņems ziņojumu, ka viņš ir pamatots:

int child1ButtonPin = 13; // Šī ir tapa, kurai mūsu spiedpoga ir pievienotaint1 int bērns1Striks = 0;

// iestatīšanas funkcija darbojas vienu reizi, nospiežot atiestatīšanu vai barojot plati

void setup () {Serial.begin (9600); pinMode (bērns1ButtonPin, INPUT); } // cilpas funkcija darbojas atkal un atkal uz visiem laikiem void loop () {// lasīt pogas stāvokli (ieslēgts vai izslēgts) child1ButtonState = digitalRead (child1ButtonPin); if (bērns1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Poga ir nospiesta {child1Strike ++; Serial.println (bērns1Strike);

ja (bērns1Strike> = 3)

{Serial.println ("Bērns 1 ir iezemēts!"); } kavēšanās (3000); }}

}

Sērijas monitoram vajadzētu izskatīties kā attēlā iepriekš.

Piezīme: pārliecinieties, vai esat apmierināts ar kavēšanos. Lai nedaudz aizkavētos, tiks reģistrēta 1 pogas nospiešana vairāk nekā vienu reizi!

3. solis: pievienojiet tik daudz pogu, cik jums ir bērni

Pievienojiet tik daudz pogu, cik jums ir bērni
Pievienojiet tik daudz pogu, cik jums ir bērni
Pievienojiet tik daudz pogu, cik jums ir bērni
Pievienojiet tik daudz pogu, cik jums ir bērni

Šajā solī mēs vienkārši kopējam pēdējās pāris darbības. Pievienojiet tik daudz pogu, cik bērnu. Manā gadījumā es pievienoju četrus. Noteikti nomainiet savu kodu ciparu tapai, pie kuras ir pieslēgta poga. Manā gadījumā es izmantoju tapas no 12 līdz 10, lai pievienotu pogas. Ja jums ir nepieciešams atgādināt, šeit ir 1. darbība:

  1. Pievienojiet 5V strāvas pusē pozitīvai maizes dēļa rindai
  2. Pievienojiet GND maizes dēļa negatīvajai pusei

  3. Ievietojiet spiedpogu uz maizes dēļa Pievienojiet strāvas padeves rindai spiedpogas kreiso apakšējo daļu
  4. Zemējiet pogu, izmantojot rezistoru spiedpogas apakšējā labajā daļā līdz maizes dēļa negatīvajai rindai.

  5. Savienojiet (savu pin numuru) Arduino digitālajā pusē ar pogas augšējo labo pusi.

Jums būs arī jāmaina kods, lai apstrādātu visas pogas. Lūdzu, paturiet prātā, ka, ja jums jābūt uzmanīgam ar izmantotajām stīgām. Jūs nevarat kopā pievienot mazos burtus. Vislabāk ir deklarēt 1 kā virknes objektu.

int child1ButtonPin = 13; // Šī ir piespraude, kurai mūsu spiedpoga ir pievienotaint22ButtonPin = 12; int bērns3ButtonPin = 11; int bērns4ButtonPin = 10; int bērns1ButtonState = 0; // Nolasa pogas stāvokli (ieslēgts/izslēgts) int child2ButtonState = 0; int bērns3ButtonState = 0; int bērns4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int bērns1Striks = 0; int bērns2Strike = 0; int child3Strike = 0; int bērns4Strike = 0;

// iestatīšanas funkcija darbojas vienu reizi, nospiežot atiestatīšanu vai barojot plati

void setup () {Serial.begin (9600); pinMode (bērns1ButtonPin, INPUT); pinMode (bērns2ButtonPin, INPUT); pinMode (bērns3ButtonPin, INPUT); pinMode (bērns4ButtonPin, INPUT); } // cilpas funkcija darbojas atkal un atkal uz visiem laikiem void loop () {// lasīt pogas stāvokli (ieslēgts vai izslēgts) child1ButtonState = digitalRead (child1ButtonPin);

bērns2ButtonState = digitalRead (child2ButtonPin);

bērns3ButtonState = digitalRead (child3ButtonPin);

bērns4ButtonState = digitalRead (child4ButtonPin);

ja (bērns1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Poga ir nospiesta {child1Strike ++; Serial.println (String ("Bērnam 1 ir:") + child1Strike + "streiki");

ja (bērns1Strike> = 3)

{Serial.println ("Bērns 1 ir iezemēts!"); } kavēšanās (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Poga ir nospiesta {child2Strike ++; Serial.println (String ("Bērnam 2 ir:") + child2Strike + "streiki");

ja (bērns2Strike> = 3)

{Serial.println ("Bērns 2 ir iezemēts!"); } kavēšanās (3000); }}

ja (bērns3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Poga ir nospiesta {child3Strike ++; Serial.println (String ("3. bērnam ir:") + child3Strike + "streiki");

ja (bērns3Strike> = 3)

{Serial.println ("Bērns 3 ir iezemēts!"); } kavēšanās (3000); }}

ja (bērns4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Poga ir nospiesta {child4Strike ++; Serial.println (String ("Bērnam 4 ir:") + child4Strike + "streiki");

ja (bērns4Strike> = 3)

{Serial.println ("Bērns 4 ir iezemēts!"); } kavēšanās (3000); }}}

4. darbība: pievienojiet skaņas signālu

Pievienojiet skaņas signālu
Pievienojiet skaņas signālu
Pievienojiet skaņas signālu
Pievienojiet skaņas signālu

Tagad pārliecinieties, ka jūsu bērni zina, ka viņi ir iezemēti. Pievienosim skaņas signālu. Lai pievienotu skaņas signālu, veiciet šīs vienkāršās darbības.

  1. Pievienojiet maizītē skaņas signālu, plānojiet vietu, jo parādās LCD ekrāns.
  2. Pievienojiet Postive pusi (skaņas signālam jābūt + zīmei pozitīvajā pusē) ar jūsu izvēlēto tapu. Es izdarīju 9.
  3. Savienojiet otru pusi ar maizes dēļa iezemēto sliedi.

Pēc tam mainiet savu kodu, lai izslēgtu skaņas signālu, kad bērns kļūst piezemēts. Ir vairāki dažādi signāla kodēšanas veidi, taču man patīk tonis (buzzerName, hercs, ilgums) tā vienkāršības dēļ. Tātad, piemērs tam būtu tonis (zummeris, 4000, 300).

int child1ButtonPin = 13; // Šī ir piespraude, ar kuru mūsu spiedpoga ir savienota ar bērnu2ButtonPin = 12; int bērns3ButtonPin = 11; int bērns4ButtonPin = 10; int bērns1ButtonState = 0; // Nolasa pogas stāvokli (ieslēgts/izslēgts) int child2ButtonState = 0; int bērns3ButtonState = 0; int bērns4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int bērns1Striks = 0; int bērns2Strike = 0; int child3Strike = 0; int bērns4Strike = 0; const int skaņas signāls = 2;

// iestatīšanas funkcija darbojas vienu reizi, nospiežot atiestatīšanu vai barojot plati

void setup () {Serial.begin (9600); pinMode (bērns1ButtonPin, INPUT); pinMode (bērns2ButtonPin, INPUT); pinMode (bērns3ButtonPin, INPUT); pinMode (bērns4ButtonPin, INPUT); pinMode (skaņas signāls, OUTPUT); } // cilpas funkcija darbojas atkal un atkal uz visiem laikiem void loop () {// lasīt pogas stāvokli (ieslēgts vai izslēgts) child1ButtonState = digitalRead (child1ButtonPin);

bērns2ButtonState = digitalRead (child2ButtonPin);

bērns3ButtonState = digitalRead (child3ButtonPin);

bērns4ButtonState = digitalRead (child4ButtonPin);

ja (bērns1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Poga ir nospiesta {child1Strike ++; Serial.println (String ("Bērnam 1 ir:") + child1Strike + "streiki");

ja (bērns1Strike> = 3)

{Serial.println ("Bērns 1 ir iezemēts!"); tonis (zummeris, 5000, 500); // Nosūta 5 hercu skaņu uz 5 milisekundēm

}

kavēšanās (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Poga ir nospiesta {child2Strike ++; Serial.println (String ("Bērnam 2 ir:") + child2Strike + "streiki");

ja (bērns2Strike> = 3)

{Serial.println ("Bērns 2 ir iezemēts!"); tonis (zummeris, 5000, 500); } kavēšanās (3000); }}

ja (bērns3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Poga ir nospiesta {child3Strike ++; Serial.println (String ("3. bērnam ir:") + child3Strike + "streiki");

ja (bērns3Strike> = 3)

{Serial.println ("Bērns 3 ir iezemēts!"); tonis (zummeris, 5000, 500); } kavēšanās (3000); }}

ja (bērns4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Poga ir nospiesta {child4Strike ++; Serial.println (String ("Bērnam 4 ir:") + child4Strike + "streiki");

ja (bērns4Strike> = 3)

{Serial.println ("Bērns 4 ir iezemēts!"); tonis (zummeris, 5000, 500); } kavēšanās (3000); }}}

5. darbība: pievienojiet LCD ekrānu

Image
Image
Pievienojiet LCD ekrānu
Pievienojiet LCD ekrānu

Tagad ļaujiet LCD ekrānam skaidri un viegli nolasīt.

  1. Vispirms pievienojiet savam maizes dēlim potenciometru, lai kontrolētu LCD ekrānu. Esiet piesardzīgs, kur to ievietot, jo jums, iespējams, tagad pietrūkst vietas.
  2. Izmantojiet priekšējo kreiso pusi, lai savienotu potenciometru ar strāvas sliedi
  3. Izmantojiet priekšējo labo pusi, lai iezemētu potenciometru.
  4. Aizmugure tiks savienota ar LCD ekrānu.
  5. Pievienojiet LCD ekrānu savai maizei
  6. Iezemējiet pirmo ekrāna tapu līdz zemējuma sliedei
  7. Pievienojiet otro tapu pie strāvas sliedes.
  8. Trešā LCD tapiņa iet uz Arduino 8. tapu
  9. Ceturtā LCD tapa iet uz 7. tapu Arduino
  10. Piektais attiecas uz Arduino 6. tapu
  11. Sestā tapa iet uz Arduino 5. tapu
  12. LCD ekrāna tapas no 7 līdz 10 ir tukšas
  13. Piespraude 11 iet uz Arduino 5. tapu
  14. 12. tapa iet uz iezemētu sliedi
  15. Piespraude 13 iet uz Arduino 4. tapu
  16. Pin 14 iet uz potenciometra aizmuguri
  17. 15. tapa iet uz barošanas sliedi
  18. 16. tapa iet uz zemes sliedi.

Tagad jums būs jāatjaunina kods, lai izmantotu LCD ekrānu. Šim nolūkam jūs izmantosit liberālo šķidro kristālu. Esiet piesardzīgs ar LCD drukātajiem paziņojumiem. Neaizmirstiet notīrīt ekrānu, kad nepieciešama jauna ziņa. Atcerieties arī iestatīt kursoru, ja vēlaties izmantot divas rindas.

#iekļaut

LiquidCrystal LCD (3, 4, 5, 6, 7, 8); // Iestata LCD ekrānu

int child1ButtonPin = 13; // Šī ir tapa, ar kuru mūsu spiedpoga ir savienota ar int child2ButtonPin = 12; int bērns3ButtonPin = 11; int bērns4ButtonPin = 10; int bērns1ButtonState = 0; // Nolasa pogas stāvokli (ieslēgts/izslēgts) int child2ButtonState = 0; int bērns3ButtonState = 0; int bērns4ButtonState = 0; int child1PreviousState = 0; // Iepriekšējais pogas stāvoklis tika nospiests int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int bērns1Striks = 0; // Cik streiku bērnam ir int child2Strike = 0; int child3Strike = 0; int bērns4Strike = 0; const int skaņas signāls = 9; // skaņas signāls

// iestatīšanas funkcija darbojas vienu reizi, nospiežot atiestatīšanu vai barojot plati

void setup () {Serial.begin (9600); lcd. sākums (16, 2); lcd.print ("Bērns"); lcd.setCursor (0, 1); lcd.print ("Uzvedības modifikators"); pinMode (bērns1ButtonPin, INPUT); pinMode (bērns2ButtonPin, INPUT); pinMode (bērns3ButtonPin, INPUT); pinMode (bērns4ButtonPin, INPUT); pinMode (skaņas signāls, OUTPUT); } // cilpas funkcija atkal un atkal darbojas uz visiem laikiem void loop () {lcd.setCursor (0, 0); // lasīt pogas stāvokli (ieslēgts vai izslēgts) child1ButtonState = digitalRead (child1ButtonPin);

bērns2ButtonState = digitalRead (child2ButtonPin);

bērns3ButtonState = digitalRead (child3ButtonPin);

bērns4ButtonState = digitalRead (child4ButtonPin);

ja (bērns1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Poga tiek nospiesta {lcd.clear (); bērns1Strike ++; Serial.println (String ("Bērnam 1 ir:") + child1Strike + "streiki"); lcd.print ("Bērnam 1 ir:"); lcd.setCursor (0, 1); lcd.print (bērns1Strike); lcd.print ("Streiki!");

ja (bērns1Strike> = 3)

{Serial.println ("Bērns 1 ir iezemēts!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("1. bērns ir"); lcd.setCursor (0, 1); lcd.print ("Pamatots!");

tonis (zummeris, 5000, 500); // Nosūta 5 hercu skaņu uz 5 milisekundēm

}

kavēšanās (3000); }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == HIGH) // Poga ir nospiesta {child2Strike ++; Serial.println (String ("Bērnam 2 ir:") + child2Strike + "streiki"); lcd.print ("Bērnam 2 ir:"); lcd.setCursor (0, 1); lcd.print (bērns2Strike); lcd.print ("Streiki!"); if (child2Strike> = 3) {Serial.println ("Bērns 2 ir iezemēts!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("2. bērns ir"); lcd.setCursor (0, 1); lcd.print ("Pamatots!"); tonis (zummeris, 5000, 500); } kavēšanās (3000); }}

ja (bērns3ButtonState! = child3PreviousState)

{lcd.clear (); if (child3ButtonState == HIGH) // Poga ir nospiesta {child3Strike ++; Serial.println (String ("3. bērnam ir:") + child3Strike + "streiki"); lcd.print ("Bērnam 3 ir:"); lcd.setCursor (0, 1); lcd.print (bērns3Strike); lcd.print ("Streiki!"); if (child3Strike> = 3) {Serial.println ("Bērns 3 ir iezemēts!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("3. bērns ir"); lcd.setCursor (0, 1); lcd.print ("Pamatots!"); tonis (zummeris, 5000, 500); } kavēšanās (3000); }}

ja (bērns4ButtonState! = child4PreviousState)

{lcd.clear (); if (child4ButtonState == HIGH) // Poga ir nospiesta {child4Strike ++; Serial.println (String ("Bērnam 4 ir:") + child4Strike + "streiki"); lcd.print ("Bērnam 4 ir:"); lcd.setCursor (0, 1); lcd.print (bērns4Strike); lcd.print ("Streiki!");

ja (bērns4Strike> = 3)

{Serial.println ("Bērns 4 ir iezemēts!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("4. bērns ir"); lcd.setCursor (0, 1); lcd.print ("Pamatots!"); tonis (zummeris, 5000, 500); } kavēšanās (3000); }}} Un tas ir viss, kas jums nepieciešams, lai izveidotu savu bērna uzvedības modifikatoru

Ieteicams: