תוכן עניינים:

שינוי התנהגות הילד: 5 שלבים (עם תמונות)
שינוי התנהגות הילד: 5 שלבים (עם תמונות)

וִידֵאוֹ: שינוי התנהגות הילד: 5 שלבים (עם תמונות)

וִידֵאוֹ: שינוי התנהגות הילד: 5 שלבים (עם תמונות)
וִידֵאוֹ: סרטון מדהים ומרגש עם מסר חזק במיוחד 2024, נוֹבֶמבֶּר
Anonim
שינוי התנהגות הילד
שינוי התנהגות הילד

משנה התנהגות הילד מתעד כמה פעמים הילד שלך נקלע לצרות (aka Strikes) וכשהוא מגיע לשלושה, זמזם מופעל ומסך lcd מודיע שהוא מקורקע.

שלב 1: התחל פשוט: הוסף כפתור

התחל פשוט: הוסף כפתור
התחל פשוט: הוסף כפתור

השלב הראשון בפרויקט זה הוא פשוט. הוסף כפתור 1. בשלב זה אתה צריך 4 חוטי זכר לזכר, 1 220 Resisitor ולחצן לחיצה.

  1. חבר את 5V בצד הכוח לשורה החיובית בלוח הלחם
  2. חבר את ה- GND לצד השלילי של לוח הלחם

  3. הכנס את לחצן הלחיצה ללוח הלחם
  4. חבר את הכוח בשורה היציבה לחלק התחתון השמאלי של לחצן הלחיצה

  5. הקרקע את הכפתור באמצעות הנגד בחלק הימני התחתון של לחצן הלחיצה לשורה השלילית של לוח הלחם.
  6. חבר את מספר 13 בצד הדיגיטלי של הארדואינו לצד הימני העליון של הכפתור.

ודא בעזרת הקוד שהכפתור רושם:

int child1ButtonPin = 13; // זהו הסיכה שאליה מחובר כפתור הלחיצה שלנו

int child1ButtonState = 0; // קורא את מצב הלחצן (הפעלה/כיבוי)

int child1Strike = 0; // כמה שביתות יש לילד

// פונקציית ההתקנה פועלת פעם אחת כאשר אתה לוחץ על אפס או מפעיל את הלוח

הגדרת void () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // פונקציית הלולאה פועלת שוב ושוב לולאה חלל לנצח () {// לקרוא את מצב הלחצן (מופעל או כבוי) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // לחצן לחצן {Serial.println ("HIGH"); עיכוב (5000); }

אם (child1ButtonState == LOW)

{Serial.println ("נמוך"); עיכוב (5000); }}

שלב 2: שנה קוד לרישום לחיצות על לחצנים

שנה קוד לרישום לחיצות על לחצנים
שנה קוד לרישום לחיצות על לחצנים
שנה קוד לרישום לחיצות על לחצנים
שנה קוד לרישום לחיצות על לחצנים

שנה את הקוד לרישום לחיצת כפתור:

int child1ButtonPin = 13; // זהו הסיכה שכפתור הלחיצה שלנו מחובר אל child1ButtonState = 0; // קורא את מצב הכפתור (on/off) int child1PreviousState = 0; // מצב לחצן הקודם int child1Strike = 0;

// פונקציית ההתקנה פועלת פעם אחת כאשר אתה לוחץ על אפס או מפעיל את הלוח

הגדרת void () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // פונקציית הלולאה פועלת שוב ושוב לולאה חלל לנצח () {// לקרוא את מצב הלחצן (מופעל או כבוי) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // כפתור נלחץ {child1Strike ++; Serial.println (child1Strike); עיכוב (1000); }}

}

לאחר מכן שנה את הקוד כך שהילד יקבל 3 שביתות ולאחר מכן יקבל הודעה שהוא מבוסס:

int child1ButtonPin = 13; // זהו הסיכה שכפתור הלחיצה שלנו מחובר אל child1ButtonState = 0; // קורא את מצב הכפתור (on/off) int child1PreviousState = 0; int child1Strike = 0;

// פונקציית ההתקנה פועלת פעם אחת כאשר אתה לוחץ על אפס או מפעיל את הלוח

הגדרת void () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // פונקציית הלולאה פועלת שוב ושוב לולאה חלל לנצח () {// לקרוא את מצב הלחצן (מופעל או כבוי) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // כפתור נלחץ {child1Strike ++; Serial.println (child1Strike);

אם (child1Strike> = 3)

{Serial.println ("ילד 1 מקורקע!"); } עיכוב (3000); }}

}

המוניטור הסידורי צריך להיראות כמו התמונה למעלה.

הערה: ודא שאתה מרגיש בנוח עם העיכוב. מעט עיכוב וזה ירשום לחיצה על כפתור אחד כמו יותר מאחד!

שלב 3: הוסף לחצנים רבים ככל שיש לך ילדים

הוסף כפתורים רבים ככל שיש לך ילדים
הוסף כפתורים רבים ככל שיש לך ילדים
הוסף כפתורים רבים ככל שיש לך ילדים
הוסף כפתורים רבים ככל שיש לך ילדים

בשלב זה, אנו פשוט מעתיקים את שני השלבים האחרונים. הוסף כפתורים רבים כמו שאתה עושה ילדים. במקרה שלי, אני מוסיף ארבעה. הקפד לשנות את הקוד שלך את הסיכה הדיגיטלית שאליה הכפתור מחובר. במקרה שלי השתמשתי בסיכות 12 עד 10 כדי להוסיף את הכפתורים שלי. במקרה שאתה צריך להזכיר להלן שלב 1:

  1. חבר את 5V בצד הכוח לשורה החיובית בלוח הלחם
  2. חבר את ה- GND לצד השלילי של לוח הלחם

  3. הכנס את לחצן הלחיצה ללוח הלחם חבר את הכוח בשורה היציבה לחלק התחתון השמאלי של לחצן הלחיצה

  4. הקרקע את הכפתור באמצעות הנגד בחלק הימני התחתון של לחצן הלחיצה לשורה השלילית של לוח הלחם.
  5. חבר (מספר הסיכה שלך) בצד הדיגיטלי של הארדואינו לצד הימני העליון של הכפתור.

יהיה עליך גם לשנות את הקוד כדי לטפל בכל הלחצנים שלך. זכור כי אם עליך להיזהר מהמחרוזות שבהן השתמשת. אתה לא יכול להוסיף לאותיות קטנות יחד. הכי טוב להכריז על 1 כאובייקט מחרוזת.

int child1ButtonPin = 13; // זהו הסיכה שכפתור הלחיצה שלנו מחובר לאותו ילד 2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // קורא את מצב הכפתור (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;

// פונקציית ההתקנה פועלת פעם אחת כאשר אתה לוחץ על איפוס או הפעלת הלוח

הגדרת void () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // פונקציית הלולאה פועלת שוב ושוב ולולא ריק () {// קרא את מצב הלחצן (מופעל או כבוי) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

אם (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // לחצן כפתור {child1Strike ++; Serial.println (מחרוזת ("לילד 1 יש:") + child1Strike + "שביתות");

אם (child1Strike> = 3)

{Serial.println ("ילד 1 מקורקע!"); } עיכוב (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // לחצן כפתור {child2Strike ++; Serial.println (מחרוזת ("לילד 2 יש:") + child2Strike + "שביתות");

אם (child2Strike> = 3)

{Serial.println ("ילד 2 מבוסס!"); } עיכוב (3000); }}

אם (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // לחצן כפתור {child3Strike ++; Serial.println (מחרוזת ("לילד 3 יש:") + child3Strike + "שביתות");

אם (child3Strike> = 3)

{Serial.println ("ילד 3 מבוסס!"); } עיכוב (3000); }}

אם (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // לחצן כפתור {child4Strike ++; Serial.println (מחרוזת ("לילד 4 יש:") + child4Strike + "שביתות");

אם (child4Strike> = 3)

{Serial.println ("ילד 4 מבוסס!"); } עיכוב (3000); }}}

שלב 4: הוסף זמזם

הוסף באזר
הוסף באזר
הוסף באזר
הוסף באזר

עכשיו בואו לוודא שילדיכם יודעים שהם מקורקע. אפשר להוסיף זמזם. כדי לחבר את הזמזם, בצע את השלבים הקלים הבאים.

  1. הוסף זמזם ללוח הלחם שלך, תכנן מקום מכיוון שמסך LCD עולה.
  2. חבר את הצד הפוסטטיבי (הבאזר צריך להיות בעל + בצד הפוסט) לפין שבחרת. עשיתי 9.
  3. חבר את הצד השני למעקה הארקה של לוח הלחם שלך.

לאחר מכן, שנה את הקוד שלך כדי לכבות את הזמזם כאשר ילד הופך לקרקע. ישנן מספר דרכים שונות לקוד עבור הזמזם שלך אבל אני אוהב טון (buzzerName, hertz, duration) בגלל הפשטות שלו כך שדוגמא לכך תהיה טון (זמזם, 4000, 300).

int child1ButtonPin = 13; // זהו הסיכה שכפתור הלחיצה שלנו מחובר אל הילד 2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // קורא את מצב הכפתור (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; זמזם int int = 2;

// פונקציית ההתקנה פועלת פעם אחת כאשר אתה לוחץ על איפוס או הפעלת הלוח

הגדרת void () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (באזר, OUTPUT); } // פונקציית הלולאה פועלת שוב ושוב לולאה חלל לנצח () {// לקרוא את מצב הלחצן (מופעל או כבוי) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

אם (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // לחצן כפתור {child1Strike ++; Serial.println (מחרוזת ("לילד 1 יש:") + child1Strike + "שביתות");

אם (child1Strike> = 3)

{Serial.println ("ילד 1 מקורקע!"); טון (זמזם, 5000, 500); // שולח צליל של 5 הרץ למשך 5 אלפיות השנייה

}

עיכוב (3000); }} אם (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // לחצן כפתור {child2Strike ++; Serial.println (מחרוזת ("לילד 2 יש:") + child2Strike + "שביתות");

אם (child2Strike> = 3)

{Serial.println ("ילד 2 מבוסס!"); טון (זמזם, 5000, 500); } עיכוב (3000); }}

אם (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // לחצן כפתור {child3Strike ++; Serial.println (מחרוזת ("לילד 3 יש:") + child3Strike + "שביתות");

אם (child3Strike> = 3)

{Serial.println ("ילד 3 מבוסס!"); טון (זמזם, 5000, 500); } עיכוב (3000); }}

אם (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // לחצן כפתור {child4Strike ++; Serial.println (מחרוזת ("לילד 4 יש:") + child4Strike + "שביתות");

אם (child4Strike> = 3)

{Serial.println ("ילד 4 מבוסס!"); טון (זמזם, 5000, 500); } עיכוב (3000); }}}

שלב 5: הוסף מסך LCD

Image
Image
הוסף מסך LCD
הוסף מסך LCD

כעת מאפשר מסך LCD לקריאה ברורה וקלה.

  1. ראשית, הוסף פוטנציומטר ללוח הלחם שלך לשליטה במסך ה- LCD. היזהר היכן אתה שם אותו מכיוון שכנראה נגמר לך המקום עד עכשיו.
  2. השתמש בשמאל הקדמי כדי לחבר את הפוטנציומטר שלך למסילת הכוח
  3. השתמש בימין הקדמי כדי לקרקע את הפוטנציומטר שלך.
  4. החלק האחורי יתחבר למסך lcd.
  5. הוסף את מסך ה- LCD ללוח הלחם שלך
  6. הקרקע את סיכת המסך הראשונה למעקה הארקה
  7. חברו את הסיכה השנייה למעקה הכוח.
  8. סיכת ה- LCD השלישית עוברת לפין 8 בארדואינו
  9. סיכת LCD הרביעית עוברת לסיכה 7 בארדואינו
  10. החמישי עובר לפין 6 על הארדואינו
  11. סיכה שישית עוברת לסיכה 5 בארדואינו
  12. סיכות 7 עד 10 במסך ה- LCD ריקות
  13. פין 11 עובר לפין 5 על הארדואינו
  14. סיכה 12 הולכת למעקה הארקה
  15. פין 13 עובר לפין 4 על הארדואינו
  16. סיכה 14 הולכת לחלק האחורי של הפוטנציומטר
  17. סיכה 15 הולכת למסילת הכוח
  18. סיכה 16 עוברת למסילת הקרקע.

כעת יהיה עליך לעדכן את הקוד שלך כדי להשתמש במסך lcd. לשם כך תשתמש ב- Libary Crystal Liquid. היזהר מהצהרות ההדפסה שלך ב- lcd. זכור לנקות את המסך כשאתה צריך הודעה חדשה. זכור גם להגדיר את הסמן כאשר ברצונך להשתמש בשתי שורות.

#לִכלוֹל

LiquidCrystal lcd (3, 4, 5, 6, 7, 8); // מגדיר את מסך LCD

int child1ButtonPin = 13; // זהו הסיכה שכפתור הלחיצה שלנו מחובר ל- int child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // קורא את מצב הכפתור (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; זמזם int int = 9; // הבאזר

// פונקציית ההתקנה פועלת פעם אחת כאשר אתה לוחץ על איפוס או הפעלת הלוח

הגדרת void () {Serial.begin (9600); lcd.begin (16, 2); lcd.print ("הילד"); lcd.setCursor (0, 1); lcd.print ("שינוי התנהגות"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (באזר, OUTPUT); } // פונקציית הלולאה פועלת שוב ושוב לולאת ריק () {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 (מחרוזת ("לילד 1 יש:") + child1Strike + "שביתות"); lcd.print ("לילד 1 יש:"); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print ("שביתות!");

אם (child1Strike> = 3)

{Serial.println ("ילד 1 מקורקע!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("ילד 1 הוא"); lcd.setCursor (0, 1); lcd.print ("מקורקע!");

טון (זמזם, 5000, 500); // שולח צליל של 5 הרץ למשך 5 אלפיות השנייה

}

עיכוב (3000); }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); אם (child2ButtonState == HIGH) // לחצן כפתור {child2Strike ++; Serial.println (מחרוזת ("לילד 2 יש:") + child2Strike + "שביתות"); lcd.print ("לילד 2 יש:"); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print ("שביתות!"); if (child2Strike> = 3) {Serial.println ("ילד 2 מבוסס!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("ילד 2 הוא"); lcd.setCursor (0, 1); lcd.print ("מקורקע!"); טון (זמזם, 5000, 500); } עיכוב (3000); }}

אם (child3ButtonState! = child3PreviousState)

{lcd.clear (); אם (child3ButtonState == HIGH) // לחצן כפתור {child3Strike ++; Serial.println (מחרוזת ("לילד 3 יש:") + child3Strike + "שביתות"); lcd.print ("לילד 3 יש:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print ("שביתות!"); if (child3Strike> = 3) {Serial.println ("ילד 3 מבוסס!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("ילד 3 הוא"); lcd.setCursor (0, 1); lcd.print ("מקורקע!"); טון (זמזם, 5000, 500); } עיכוב (3000); }}

אם (child4ButtonState! = child4PreviousState)

{lcd.clear (); if (child4ButtonState == HIGH) // לחצן כפתור {child4Strike ++; Serial.println (מחרוזת ("לילד 4 יש:") + child4Strike + "שביתות"); lcd.print ("לילד 4 יש:"); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print ("שביתות!");

אם (child4Strike> = 3)

{Serial.println ("ילד 4 מבוסס!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("ילד 4 הוא"); lcd.setCursor (0, 1); lcd.print ("מקורקע!"); טון (זמזם, 5000, 500); } עיכוב (3000); }}} וזהו, זה כל מה שאתה צריך לבנות משלך להתנהגות הילד שלך

מוּמלָץ: