Πίνακας περιεχομένων:

Τροποποιητής συμπεριφοράς παιδιών: 5 βήματα (με εικόνες)
Τροποποιητής συμπεριφοράς παιδιών: 5 βήματα (με εικόνες)

Βίντεο: Τροποποιητής συμπεριφοράς παιδιών: 5 βήματα (με εικόνες)

Βίντεο: Τροποποιητής συμπεριφοράς παιδιών: 5 βήματα (με εικόνες)
Βίντεο: Πώς να κάνεις καλά πράγματα να σου συμβούν. Ακουστικό βιβλίο 2024, Νοέμβριος
Anonim
Τροποποιητής Συμπεριφοράς Παιδιού
Τροποποιητής Συμπεριφοράς Παιδιού

Ο Τροποποιητής Συμπεριφοράς Παιδιού καταγράφει πόσες φορές το παιδί σας έχει μπει σε προβλήματα (γνωστός και ως Strikes) και όταν φτάσει τα τρία, ακούγεται ένας βομβητής και μια οθόνη LCD ανακοινώνει ότι είναι γειωμένο.

Βήμα 1: Ξεκινήστε απλά: Προσθέστε ένα κουμπί

Ξεκινήστε απλά: Προσθέστε ένα κουμπί
Ξεκινήστε απλά: Προσθέστε ένα κουμπί

Το πρώτο βήμα σε αυτό το έργο είναι απλό. Προσθέστε 1 κουμπί. Σε αυτό το βήμα χρειάζεστε, 4 αρσενικά σε αρσενικά καλώδια, 1 220 Resisitor και ένα κουμπί.

  1. Συνδέστε το 5V στην πλευρά τροφοδοσίας με τη θετική σειρά στο breadboard
  2. Συνδέστε το GND στην αρνητική πλευρά του breadboard

  3. Τοποθετήστε το κουμπί στην πλάκα ψωμιού
  4. Συνδέστε την τροφοδοσία στη σειρά θέσης στο αριστερό κάτω μέρος του κουμπιού

  5. Γειώστε το κουμπί χρησιμοποιώντας μια αντίσταση στο κάτω δεξί μέρος του κουμπιού ώθησης στην αρνητική σειρά του breadboard.
  6. Συνδέστε το #13 στην ψηφιακή πλευρά του Arduino στην επάνω δεξιά πλευρά του κουμπιού.

Επαληθεύστε με τον κωδικό σας ότι το κουμπί καταχωρεί:

int child1ButtonPin = 13; // Αυτό είναι το pin στο οποίο είναι συνδεδεμένο το κουμπί μας

int child1ButtonState = 0; // Διαβάζει την κατάσταση του κουμπιού (ενεργοποίηση/απενεργοποίηση)

int child1Strike = 0; // Πόσες απεργίες έχει το παιδί

// η λειτουργία εγκατάστασης εκτελείται μία φορά όταν πατάτε επαναφορά ή τροφοδοτείτε την πλακέτα

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // η λειτουργία βρόχου εκτελείται ξανά και ξανά για πάντα void loop () {// διαβάστε την κατάσταση του κουμπιού (ενεργοποίηση ή απενεργοποίηση) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // Το κουμπί πατιέται {Serial.println ("HIGH"); καθυστέρηση (5000)? }

εάν (child1ButtonState == LOW)

{Serial.println ("LOW"); καθυστέρηση (5000)? }}

Βήμα 2: Τροποποίηση κώδικα για εγγραφή πατημάτων κουμπιών

Τροποποίηση κωδικού για εγγραφή πατημάτων κουμπιών
Τροποποίηση κωδικού για εγγραφή πατημάτων κουμπιών
Τροποποίηση κωδικού για εγγραφή πατημάτων κουμπιών
Τροποποίηση κωδικού για εγγραφή πατημάτων κουμπιών

Τροποποιήστε τον κωδικό για να καταχωρήσετε ένα κουμπί:

int child1ButtonPin = 13; // Αυτή είναι η ακίδα που είναι συνδεδεμένο το κουμπί μας στο παιδί1 // Προηγούμενη κατάσταση κουμπιού int child1Strike = 0;

// η λειτουργία εγκατάστασης εκτελείται μία φορά όταν πατάτε την επαναφορά ή την τροφοδοσία της πλακέτας

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // η λειτουργία βρόχου εκτελείται ξανά και ξανά για πάντα void loop () {// διαβάστε την κατάσταση του κουμπιού (ενεργοποίηση ή απενεργοποίηση) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Το κουμπί πιέζεται {child1Strike ++; Serial.println (child1Strike); καθυστέρηση (1000)? }}

}

Επόμενο Τροποποιήστε τον κώδικα έτσι ώστε το παιδί να λάβει 3 προειδοποιήσεις μετά τις οποίες θα λάβει ένα μήνυμα ότι είναι γειωμένο:

int child1ButtonPin = 13; // Αυτή είναι η ακίδα που είναι συνδεδεμένο το κουμπί μας στο παιδί1 int child1Strike = 0;

// η λειτουργία εγκατάστασης εκτελείται μία φορά όταν πατάτε επαναφορά ή τροφοδοτείτε την πλακέτα

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // η λειτουργία βρόχου εκτελείται ξανά και ξανά για πάντα void loop () {// διαβάστε την κατάσταση του κουμπιού (ενεργοποίηση ή απενεργοποίηση) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Το κουμπί πιέζεται {child1Strike ++; Serial.println (child1Strike);

αν (child1Strike> = 3)

{Serial.println ("Το παιδί 1 είναι γειωμένο!"); } καθυστέρηση (3000); }}

}

Το Serial Moniter πρέπει να μοιάζει με την παραπάνω εικόνα.

Σημείωση: Βεβαιωθείτε ότι είστε άνετοι με την καθυστέρηση. Με μικρή καθυστέρηση και θα καταχωρήσει 1 κουμπί, πατήστε περισσότερο από ένα!

Βήμα 3: Προσθέστε όσα κουμπιά έχετε παιδιά

Προσθέστε όσα κουμπιά έχετε παιδιά
Προσθέστε όσα κουμπιά έχετε παιδιά
Προσθέστε όσα κουμπιά έχετε παιδιά
Προσθέστε όσα κουμπιά έχετε παιδιά

Σε αυτό το βήμα, απλώς αντιγράφουμε τα τελευταία δύο βήματα. Προσθέστε όσα κουμπιά κάνετε στα παιδιά. Στην περίπτωσή μου, προσθέτω τέσσερα. Βεβαιωθείτε ότι έχετε αλλάξει τον κωδικό σας στο ψηφιακό pin στο οποίο είναι συνδεδεμένο το κουμπί. Στην περίπτωσή μου χρησιμοποίησα τις ακίδες 12 έως 10 για να προσθέσω τα κουμπιά μου. Σε περίπτωση που χρειάζεστε υπενθύμιση εδώ είναι το Βήμα 1:

  1. Συνδέστε το 5V στην πλευρά τροφοδοσίας με τη θετική σειρά στο breadboard
  2. Συνδέστε το GND στην αρνητική πλευρά του breadboard

  3. Εισαγάγετε το κουμπί pushboard στο breadboard Συνδέστε το ρεύμα στη γραμμή θέσης στο αριστερό κάτω μέρος του κουμπιού
  4. Γειώστε το κουμπί χρησιμοποιώντας μια αντίσταση στο κάτω δεξί μέρος του κουμπιού ώθησης στην αρνητική σειρά του breadboard.

  5. Συνδέστε (τον αριθμό pin σας) στην ψηφιακή πλευρά του Arduino στην επάνω δεξιά πλευρά του κουμπιού.

Θα χρειαστεί επίσης να τροποποιήσετε τον κώδικα για να χειριστείτε όλα τα κουμπιά σας. Λάβετε υπόψη ότι εάν πρέπει να προσέξετε τις χορδές που χρησιμοποιήσατε. Δεν μπορείτε να προσθέσετε μαζί πεζά. Είναι καλύτερο να δηλώσετε το 1 ως αντικείμενο συμβολοσειράς.

int child1ButtonPin = 13; // Αυτή είναι η ακίδα που είναι συνδεδεμένο το κουμπί μας στο παιδί2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Διαβάζει την κατάσταση του κουμπιού (ενεργοποίηση/απενεργοποίηση) 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;

// η λειτουργία εγκατάστασης εκτελείται μία φορά όταν πατάτε επαναφορά ή τροφοδοτείτε την πλακέτα

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // η λειτουργία βρόχου εκτελείται ξανά και ξανά για πάντα void loop () {// διαβάστε την κατάσταση του κουμπιού (ενεργοποίηση ή απενεργοποίηση) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

εάν (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Πατάτε το κουμπί {child1Strike ++; Serial.println (String ("Το παιδί 1 έχει:") + child1Strike + "απεργίες");

αν (child1Strike> = 3)

{Serial.println ("Το παιδί 1 είναι γειωμένο!"); } καθυστέρηση (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Πατιέται το κουμπί {child2Strike ++; Serial.println (String ("Το παιδί 2 έχει:") + child2Strike + "απεργίες");

εάν (child2Strike> = 3)

{Serial.println ("Το παιδί 2 είναι γειωμένο!"); } καθυστέρηση (3000); }}

εάν (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Πατάτε το κουμπί {child3Strike ++; Serial.println (String ("Το παιδί 3 έχει:") + child3Strike + "απεργίες");

αν (child3Strike> = 3)

{Serial.println ("Το παιδί 3 είναι γειωμένο!"); } καθυστέρηση (3000); }}

εάν (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Πιέζεται το κουμπί {child4Strike ++; Serial.println (String ("Το παιδί 4 έχει:") + child4Strike + "απεργίες");

εάν (child4Strike> = 3)

{Serial.println ("Το παιδί 4 είναι γειωμένο!"); } καθυστέρηση (3000); }}}

Βήμα 4: Προσθέστε ένα βομβητή

Προσθέστε ένα βομβητή
Προσθέστε ένα βομβητή
Προσθέστε ένα βομβητή
Προσθέστε ένα βομβητή

Τώρα ας βεβαιωθούμε ότι τα παιδιά σας γνωρίζουν ότι είναι γειωμένα. Ας προσθέσουμε έναν βομβητή. Για να συνδέσετε το βομβητή, ακολουθήστε αυτά τα εύκολα βήματα.

  1. Προσθέστε ένα Buzzer στο breadboard σας, σχεδιάστε χώρο αφού εμφανίζεται μια οθόνη LCD.
  2. Συνδέστε την πλευρά Postive (ο βομβητής πρέπει να έχει ένα + στην πλευρά της θέσης) στο Pin της επιλογής σας. Έκανα 9.
  3. Συνδέστε την άλλη πλευρά με τη γειωμένη ράγα της σανίδας σας.

Στη συνέχεια, τροποποιήστε τον κωδικό σας για να απενεργοποιήσετε τον βομβητή όταν το παιδί γειωθεί. Υπάρχουν δύο διαφορετικοί τρόποι κωδικοποίησης του βομβητή σας, αλλά μου αρέσει ο τόνος (buzzerName, hertz, duration) για την απλότητά του. Έτσι ένα παράδειγμα αυτού θα ήταν ο τόνος (buzzer, 4000, 300).

int child1ButtonPin = 13; // Αυτή είναι η ακίδα που είναι συνδεδεμένο το κουμπί μας στο παιδί2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Διαβάζει την κατάσταση του κουμπιού (ενεργοποίηση/απενεργοποίηση) 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;

// η λειτουργία εγκατάστασης εκτελείται μία φορά όταν πατάτε επαναφορά ή τροφοδοτείτε την πλακέτα

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (βομβητής, OUTPUT); } // η λειτουργία βρόχου εκτελείται ξανά και ξανά για πάντα void loop () {// διαβάστε την κατάσταση του κουμπιού (ενεργοποίηση ή απενεργοποίηση) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

εάν (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Πατάτε το κουμπί {child1Strike ++; Serial.println (String ("Το παιδί 1 έχει:") + child1Strike + "απεργίες");

αν (child1Strike> = 3)

{Serial.println ("Το παιδί 1 είναι γειωμένο!"); τόνος (βομβητής, 5000, 500) // Στέλνει έναν ήχο 5 herz για 5 χιλιοστά του δευτερολέπτου

}

καθυστέρηση (3000)? }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Πατιέται το κουμπί {child2Strike ++; Serial.println (String ("Το παιδί 2 έχει:") + child2Strike + "απεργίες");

εάν (child2Strike> = 3)

{Serial.println ("Το παιδί 2 είναι γειωμένο!"); τόνος (βομβητής, 5000, 500) } καθυστέρηση (3000); }}

εάν (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Πατάτε το κουμπί {child3Strike ++; Serial.println (String ("Το παιδί 3 έχει:") + child3Strike + "απεργίες");

αν (child3Strike> = 3)

{Serial.println ("Το παιδί 3 είναι γειωμένο!"); τόνος (βομβητής, 5000, 500) } καθυστέρηση (3000); }}

εάν (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Πατάτε το κουμπί {child4Strike ++; Serial.println (String ("Το παιδί 4 έχει:") + child4Strike + "απεργίες");

εάν (child4Strike> = 3)

{Serial.println ("Το παιδί 4 είναι γειωμένο!"); τόνος (βομβητής, 5000, 500) } καθυστέρηση (3000); }}}

Βήμα 5: Προσθέστε μια οθόνη LCD

Image
Image
Προσθέστε οθόνη LCD
Προσθέστε οθόνη LCD

Τώρα αφήνει μια οθόνη LCD για καθαρή και εύκολη ανάγνωση.

  1. Πρώτα, προσθέστε ένα ποτενσιόμετρο στο breadboard σας για να ελέγξετε την οθόνη LCD. Προσέξτε πού το βάζετε, καθώς πιθανότατα εξαντλείται ο χώρος μέχρι τώρα.
  2. Χρησιμοποιήστε το μπροστινό αριστερό μέρος για να συνδέσετε το ποτενσιόμετρο με τη ράγα τροφοδοσίας
  3. Χρησιμοποιήστε την μπροστινή δεξιά γείωση του ποτενσιόμετρου σας.
  4. Το πίσω μέρος θα συνδεθεί με την οθόνη LCD.
  5. Προσθέστε την οθόνη LCD στο breadboard σας
  6. Γειώστε τον πρώτο πείρο οθόνης στη ράγα γείωσης
  7. Συνδέστε τον δεύτερο πείρο στη ράγα τροφοδοσίας.
  8. Η τρίτη καρφίτσα LCD πηγαίνει στην καρφίτσα 8 στο Arduino
  9. Η τέταρτη καρφίτσα LCD πηγαίνει στην καρφίτσα 7 στο Arduino
  10. Το πέμπτο πηγαίνει στο Pin 6 στο Arduino
  11. Το Sixth Pin πηγαίνει στην καρφίτσα 5 στο Arduino
  12. Οι ακίδες 7 έως 10 στην οθόνη LCD είναι άδειες
  13. Η καρφίτσα 11 πηγαίνει στην καρφίτσα 5 στο Arduino
  14. Ο πείρος 12 πηγαίνει στη γειωμένη ράγα
  15. Η καρφίτσα 13 πηγαίνει στην καρφίτσα 4 στο Arduino
  16. Ο πείρος 14 πηγαίνει στο πίσω μέρος του ποτενσιόμετρου
  17. Ο πείρος 15 πηγαίνει στη ράγα τροφοδοσίας
  18. Το pin 16 πηγαίνει στο Ground Rail.

Τώρα θα πρέπει να ενημερώσετε τον κωδικό σας για να χρησιμοποιήσετε την οθόνη LCD. Για αυτό θα χρησιμοποιήσετε το libary Liquid Crystal. Προσοχή στις δηλώσεις εκτύπωσης LCD. Θυμηθείτε να καθαρίσετε την οθόνη όταν χρειάζεστε νέο μήνυμα. Επίσης, θυμηθείτε να ορίσετε τον κέρσορα όταν θέλετε να χρησιμοποιήσετε δύο γραμμές.

#περιλαμβάνω

LiquidCrystal LCD (3, 4, 5, 6, 7, 8); // Ρυθμίζει την οθόνη LCD

int child1ButtonPin = 13; // Αυτό είναι το pin που συνδέεται το κουμπί μας στο int child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Διαβάζει την κατάσταση του κουμπιού (ενεργοποίηση/απενεργοποίηση) 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 = 9; // το Buzzer

// η λειτουργία εγκατάστασης εκτελείται μία φορά όταν πατάτε την επαναφορά ή την τροφοδοσία της πλακέτας

void setup () {Serial.begin (9600); lcd.αρχή (16, 2); lcd.print ("The Child"); lcd.setCursor (0, 1); lcd.print ("Behavior Modifer"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (βομβητής, OUTPUT); } // η λειτουργία βρόχου εκτελείται ξανά και ξανά για πάντα void loop () {lcd.setCursor (0, 0); // διαβάστε την κατάσταση του κουμπιού (ενεργοποίηση ή απενεργοποίηση) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

εάν (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Πατάτε το κουμπί {lcd.clear (); child1Strike ++; Serial.println (String ("Το παιδί 1 έχει:") + child1Strike + "απεργίες"); lcd.print ("Το παιδί 1 έχει:"); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print ("Strikes!");

αν (child1Strike> = 3)

{Serial.println ("Το παιδί 1 είναι γειωμένο!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Το παιδί 1 είναι"); lcd.setCursor (0, 1); lcd.print ("Grounded!");

τόνος (βομβητής, 5000, 500) // Στέλνει έναν ήχο 5 herz για 5 χιλιοστά του δευτερολέπτου

}

καθυστέρηση (3000)? }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == HIGH) // Το κουμπί πατάει {child2Strike ++; Serial.println (String ("Το παιδί 2 έχει:") + child2Strike + "απεργίες"); lcd.print ("Το παιδί 2 έχει:"); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print ("Strikes!"); if (child2Strike> = 3) {Serial.println ("Το παιδί 2 είναι γειωμένο!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Το παιδί 2 είναι"); lcd.setCursor (0, 1); lcd.print ("Grounded!"); τόνος (βομβητής, 5000, 500) } καθυστέρηση (3000); }}

εάν (child3ButtonState! = child3PreviousState)

{lcd.clear (); if (child3ButtonState == HIGH) // Το κουμπί πατάει {child3Strike ++; Serial.println (String ("Το παιδί 3 έχει:") + child3Strike + "απεργίες"); lcd.print ("Το παιδί 3 έχει:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print ("Strikes!"); if (child3Strike> = 3) {Serial.println ("Το παιδί 3 είναι γειωμένο!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Το παιδί 3 είναι"); lcd.setCursor (0, 1); lcd.print ("Grounded!"); τόνος (βομβητής, 5000, 500) } καθυστέρηση (3000); }}

εάν (child4ButtonState! = child4PreviousState)

{lcd.clear (); if (child4ButtonState == HIGH) // Το κουμπί πατάει {child4Strike ++; Serial.println (String ("Το παιδί 4 έχει:") + child4Strike + "απεργίες"); lcd.print ("Το παιδί 4 έχει:"); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print ("Strikes!");

εάν (child4Strike> = 3)

{Serial.println ("Το παιδί 4 είναι γειωμένο!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Το παιδί 4 είναι"); lcd.setCursor (0, 1); lcd.print ("Grounded!"); τόνος (βομβητής, 5000, 500) } καθυστέρηση (3000); }}} Και αυτό είναι, αυτό είναι το μόνο που χρειάζεστε για να δημιουργήσετε τον δικό σας τροποποιητή συμπεριφοράς παιδιών

Συνιστάται: