Indholdsfortegnelse:

Børneadfærdsmodifikator: 5 trin (med billeder)
Børneadfærdsmodifikator: 5 trin (med billeder)

Video: Børneadfærdsmodifikator: 5 trin (med billeder)

Video: Børneadfærdsmodifikator: 5 trin (med billeder)
Video: En dag med pædagogik - adfærdsregulering 2024, November
Anonim
Børne adfærdsmodifikator
Børne adfærdsmodifikator

Child Behavior Modifier registrerer, hvor mange gange dit barn er kommet i problemer (aka Strikes), og når de når tre, går en summer og en LCD -skærm meddeler, at de er jordet.

Trin 1: Start enkelt: Tilføj en knap

Start enkelt: Tilføj en knap
Start enkelt: Tilføj en knap

Det første trin i dette projekt er enkelt. Tilføj 1 knap. I dette trin har du brug for 4 mandlige til mandlige ledninger, 1 220 resisitor og en trykknap.

  1. Tilslut 5V på Power -siden til den positive række på brødbrættet
  2. Tilslut GND til den negative side af brødbrættet

  3. Sæt trykknappen på brødbrættet
  4. Tilslut strømmen til den postive række til venstre nederste del af trykknappen

  5. Jordknappen ved hjælp af en modstand i nederste højre del af trykknappen til den negative række af brødbrættet.
  6. Tilslut #13 på den digitale side af Arduino til øverste højre side af knappen.

Bekræft med din kode, at knappen registrerer:

int child1ButtonPin = 13; // Dette er den pin, vores trykknap er forbundet til

int child1ButtonState = 0; // Læser knappens tilstand (til/fra)

int child1Strike = 0; // Hvor mange strejker barnet har

// opsætningsfunktionen kører en gang, når du trykker på reset eller tænder for kortet

ugyldig opsætning () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // loop -funktionen kører igen og igen for altid void loop () {// læs knappens tilstand (on eller off) child1ButtonState = digitalRead (child1ButtonPin); hvis (child1ButtonState == HIGH) // knappen trykkes på {Serial.println ("HIGH"); forsinkelse (5000); }

hvis (child1ButtonState == LOW)

{Serial.println ("LAV"); forsinkelse (5000); }}

Trin 2: Rediger kode til registrering af knappresser

Rediger kode for at trykke på knap
Rediger kode for at trykke på knap
Rediger kode for at trykke på knap
Rediger kode for at trykke på knap

Rediger koden for at registrere et knap tryk:

int child1ButtonPin = 13; // Dette er nålen, vores trykknap er forbundet tilint child1ButtonState = 0; // Læser knappens tilstand (on/off) int child1PreviousState = 0; // Forrige knap tilstand int child1Strike = 0;

// opsætningsfunktionen kører en gang, når du trykker på reset eller tænder for kortet

ugyldig opsætning () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // loop -funktionen kører igen og igen for altid void loop () {// læs knappens tilstand (on eller off) child1ButtonState = digitalRead (child1ButtonPin); hvis (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // knappen trykkes på {child1Strike ++; Serial.println (child1Strike); forsinkelse (1000); }}

}

Rediger derefter koden, så barnet får tre strejker, hvorefter det vil modtage en besked om, at det er jordet:

int child1ButtonPin = 13; // Dette er nålen, vores trykknap er forbundet tilint child1ButtonState = 0; // Læser knappens tilstand (on/off) int child1PreviousState = 0; int child1Strike = 0;

// opsætningsfunktionen kører en gang, når du trykker på reset eller tænder for kortet

ugyldig opsætning () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // loop -funktionen kører igen og igen for altid void loop () {// læs knappens tilstand (on eller off) child1ButtonState = digitalRead (child1ButtonPin); hvis (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // knappen trykkes på {child1Strike ++; Serial.println (child1Strike);

hvis (child1Strike> = 3)

{Serial.println ("Barn 1 er jordet!"); } forsinkelse (3000); }}

}

Serial Moniter skal ligne billedet ovenfor.

Bemærk: Sørg for, at du er fortrolig med forsinkelsen. For lidt forsinkelse, og det vil registrere 1 knap tryk som mere end en!

Trin 3: Tilføj lige så mange knapper, som du har børn

Tilføj lige så mange knapper, som du har børn
Tilføj lige så mange knapper, som du har børn
Tilføj lige så mange knapper, som du har børn
Tilføj lige så mange knapper, som du har børn

I dette trin kopierer vi simpelthen de sidste par trin. Tilføj lige så mange knapper som du gør børn. I mit tilfælde tilføjer jeg fire. Sørg for at ændre din kode den digitale pin, som knappen er forbundet til. I mit tilfælde brugte jeg ben 12 til 10 til at tilføje mine knapper. Hvis du har brug for at minde her, er trin 1:

  1. Tilslut 5V på Power -siden til den positive række på brødbrættet
  2. Tilslut GND til den negative side af brødbrættet

  3. Indsæt trykknappen på brødbrættet Tilslut strømmen til den postive række til venstre nederste del af trykknappen
  4. Jordknappen ved hjælp af en modstand i nederste højre del af trykknappen til den negative række af brødbrættet.

  5. Tilslut (dit pinkode) på den digitale side af Arduino til øverste højre side af knappen.

Du skal også ændre koden for at håndtere alle dine knapper. Husk, at hvis du skal være forsigtig med de strenge, du brugte. Du kan ikke tilføje små bogstaver sammen. Det er bedst at erklære 1 som et strengobjekt.

int child1ButtonPin = 13; // Dette er stiften, vores trykknap er forbundet tilint child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Læser knappens tilstand (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;

// opsætningsfunktionen kører en gang, når du trykker på reset eller tænder for kortet

ugyldig opsætning () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // loop -funktionen kører igen og igen for altid void loop () {// læs knappens tilstand (on eller off) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

hvis (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Knap trykkes på {child1Strike ++; Serial.println (String ("Child 1 Has:") + child1Strike + "strike");

hvis (child1Strike> = 3)

{Serial.println ("Barn 1 er jordet!"); } forsinkelse (3000); }} hvis (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // knap trykkes på {child2Strike ++; Serial.println (String ("Barn 2 har:") + child2Strike + "strejker");

hvis (child2Strike> = 3)

{Serial.println ("Barn 2 er jordet!"); } forsinkelse (3000); }}

hvis (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Knap trykkes på {child3Strike ++; Serial.println (String ("Barn 3 har:") + child3Strike + "strejker");

hvis (child3Strike> = 3)

{Serial.println ("Barn 3 er jordet!"); } forsinkelse (3000); }}

hvis (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // knappen trykkes på {child4Strike ++; Serial.println (String ("Barn 4 har:") + child4Strike + "strejker");

hvis (child4Strike> = 3)

{Serial.println ("Barn 4 er jordet!"); } forsinkelse (3000); }}}

Trin 4: Tilføj en summer

Tilføj en summer
Tilføj en summer
Tilføj en summer
Tilføj en summer

Lad os nu sørge for, at dine børn ved, at de er jordet. Lad os tilføje en summer. Følg disse lette trin for at tilslutte summeren.

  1. Føj en summer til dit brødbræt, planlæg plads, da der kommer en LCD -skærm.
  2. Tilslut den postive side (summeren skal have et + på den postive side) til den ønskede pin. Jeg lavede 9.
  3. Tilslut den anden side til den jordede skinne på dit brødbræt.

Rediger derefter din kode for at slukke summeren, når et barn bliver jordet. Der er et par forskellige måder at kode til din summer på, men jeg kan godt lide tone (buzzerName, hertz, varighed) for dens enkelhed Så et eksempel på dette ville være tone (summer, 4000, 300).

int child1ButtonPin = 13; // Dette er stiften, vores trykknap er forbundet tilint child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Læser knappens tilstand (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 summer = 2;

// opsætningsfunktionen kører en gang, når du trykker på reset eller tænder for kortet

ugyldig opsætning () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (summer, OUTPUT); } // loop -funktionen kører igen og igen for altid void loop () {// læs knappens tilstand (on eller off) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

hvis (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Knap trykkes på {child1Strike ++; Serial.println (String ("Child 1 Has:") + child1Strike + "strike");

hvis (child1Strike> = 3)

{Serial.println ("Barn 1 er jordet!"); tone (summer, 5000, 500); // Sender en 5 hertz lyd i 5 millisekunder

}

forsinkelse (3000); }} hvis (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // knap trykkes på {child2Strike ++; Serial.println (String ("Barn 2 har:") + child2Strike + "strejker");

hvis (child2Strike> = 3)

{Serial.println ("Barn 2 er jordet!"); tone (summer, 5000, 500); } forsinkelse (3000); }}

hvis (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Knap trykkes på {child3Strike ++; Serial.println (String ("Barn 3 har:") + child3Strike + "strejker");

hvis (child3Strike> = 3)

{Serial.println ("Barn 3 er jordet!"); tone (summer, 5000, 500); } forsinkelse (3000); }}

hvis (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // knappen trykkes på {child4Strike ++; Serial.println (String ("Barn 4 har:") + child4Strike + "strejker");

hvis (child4Strike> = 3)

{Serial.println ("Barn 4 er jordet!"); tone (summer, 5000, 500); } forsinkelse (3000); }}}

Trin 5: Tilføj en LCD -skærm

Image
Image
Tilføj en LCD -skærm
Tilføj en LCD -skærm

Nu lader en LCD -skærm til klar og let læsning.

  1. Tilføj først et potentiometer til dit brødbræt for at styre LCD -skærmen. Vær forsigtig med, hvor du placerer det, da du sandsynligvis er løbet tør for plads nu.
  2. Brug venstre forreste til at forbinde dit potentiometer til strømskinnen
  3. Brug den forreste højre til jordforbindelse af dit potentiometer.
  4. Bagsiden forbindes med lcd -skærmen.
  5. Tilføj LCD -skærmen til dit brødbræt
  6. Jord den første skærmstift til jordskinnen
  7. Led den anden pin til strømskinnen.
  8. Tredje LCD -pin går til Pin 8 på Arduino
  9. Fjerde LCD -pin går til Pin 7 på Arduino
  10. Femte går til Pin 6 på Arduino
  11. Sjette pin går til pin 5 på Arduino
  12. Pins 7 til 10 på LCD -skærmen er tomme
  13. Pin 11 går til Pin 5 på Arduino
  14. Pin 12 går til den jordede skinne
  15. Pin 13 går til Pin 4 på Arduino
  16. Pin 14 går bag på potentiometeret
  17. Pin 15 går til Power rail
  18. Pin 16 går til Ground Rail.

Nu skal du opdatere din kode for at bruge lcd -skærmen. Til det vil du bruge libary Liquid Crystal. Vær forsigtig med dine lcd -udskrivninger. Husk at rydde skærmen, når du har brug for en ny besked. Husk også at indstille markøren, når du vil bruge to linjer.

#omfatte

LiquidCrystal lcd (3, 4, 5, 6, 7, 8); // Indstiller LCD -skærmen

int child1ButtonPin = 13; // Dette er den pin, vores trykknap er forbundet til int child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Læser knappens tilstand (on/off) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; // Den forrige tilstand af knappen, der blev trykket på int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; // Hvor mange strejker et barn har int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int summer = 9; // summeren

// opsætningsfunktionen kører en gang, når du trykker på reset eller tænder for kortet

ugyldig opsætning () {Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Barnet"); lcd.setCursor (0, 1); lcd.print ("Adfærdsmodifikator"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (summer, OUTPUT); } // loop -funktionen kører igen og igen for altid void loop () {lcd.setCursor (0, 0); // læs knappens tilstand (til eller fra) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

hvis (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Knap trykkes på {lcd.clear (); child1Strike ++; Serial.println (String ("Child 1 Has:") + child1Strike + "strike"); lcd.print ("Barn 1 har:"); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print ("Strikes!");

hvis (child1Strike> = 3)

{Serial.println ("Barn 1 er jordet!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Barn 1 er"); lcd.setCursor (0, 1); lcd.print ("jordet!");

tone (summer, 5000, 500); // Sender en 5 hertz lyd i 5 millisekunder

}

forsinkelse (3000); }} hvis (child2ButtonState! = child2PreviousState) {lcd.clear (); hvis (child2ButtonState == HIGH) // knappen trykkes på {child2Strike ++; Serial.println (String ("Barn 2 har:") + child2Strike + "strejker"); lcd.print ("Barn 2 har:"); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print ("Strikes!"); hvis (child2Strike> = 3) {Serial.println ("Barn 2 er jordet!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Barn 2 er"); lcd.setCursor (0, 1); lcd.print ("jordet!"); tone (summer, 5000, 500); } forsinkelse (3000); }}

hvis (child3ButtonState! = child3PreviousState)

{lcd.clear (); hvis (child3ButtonState == HIGH) // knappen trykkes på {child3Strike ++; Serial.println (String ("Barn 3 har:") + child3Strike + "strejker"); lcd.print ("Barn 3 har:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print ("Strikes!"); hvis (child3Strike> = 3) {Serial.println ("Barn 3 er jordet!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Barn 3 er"); lcd.setCursor (0, 1); lcd.print ("jordet!"); tone (summer, 5000, 500); } forsinkelse (3000); }}

hvis (child4ButtonState! = child4PreviousState)

{lcd.clear (); hvis (child4ButtonState == HIGH) // knap trykkes på {child4Strike ++; Serial.println (String ("Barn 4 har:") + child4Strike + "strejker"); lcd.print ("Barn 4 har:"); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print ("Strikes!");

hvis (child4Strike> = 3)

{Serial.println ("Barn 4 er jordet!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Barn 4 er"); lcd.setCursor (0, 1); lcd.print ("jordet!"); tone (summer, 5000, 500); } forsinkelse (3000); }}} Og det er det, det er alt, hvad du har brug for for at opbygge dit eget barneadfærdsmodifikator

Anbefalede: