جدول المحتويات:

معدل سلوك الطفل: 5 خطوات (بالصور)
معدل سلوك الطفل: 5 خطوات (بالصور)

فيديو: معدل سلوك الطفل: 5 خطوات (بالصور)

فيديو: معدل سلوك الطفل: 5 خطوات (بالصور)
فيديو: ٦ طرق لتنميه القدرات العقليه للطفل _ ازى اخلى ابنى ذكى _ تنميه ذكاء الطفل الضعيف _ اينشتاين 2024, شهر نوفمبر
Anonim
معدل سلوك الطفل
معدل سلوك الطفل

يسجل معدّل سلوك الطفل عدد المرات التي وقع فيها طفلك في المشاكل (ويعرف أيضًا باسم الضربات) وعندما يصل إلى الثالثة ، ينطلق جرس وتعلن شاشة LCD أنه تم تأريضه.

الخطوة 1: ابدأ بسيطًا: أضف زرًا

ابدأ بسيطًا: أضف زرًا
ابدأ بسيطًا: أضف زرًا

الخطوة الأولى في هذا المشروع بسيطة. إضافة زر 1. في هذه الخطوة ، تحتاج إلى 4 أسلاك من الذكور إلى الذكور ، و 1220 Resisitor وزر ضغط.

  1. قم بتوصيل 5V على جانب Power بالصف الموجب على اللوح
  2. قم بتوصيل GND بالجانب السلبي من اللوح

  3. أدخل الزر الانضغاطي على لوح التجارب
  4. قم بتوصيل الطاقة الموجودة في الصف الإيجابي بالجزء السفلي الأيسر من زر الضغط

  5. قم بتثبيت الزر باستخدام المقاوم في الجزء السفلي الأيمن من زر الضغط على الصف السالب من لوح التجارب.
  6. قم بتوصيل رقم 13 على الجانب الرقمي من Arduino بالجانب الأيمن العلوي من الزر.

تحقق برمزك من أن الزر قيد التسجيل:

int child1ButtonPin = 13 ؛ // هذا هو الدبوس الذي يتصل به زر الضغط

int child1ButtonState = 0 ؛ // يقرأ حالة الزر (تشغيل / إيقاف)

int child1Strike = 0 ؛ // كم عدد الضربات التي قام بها الطفل

// يتم تشغيل وظيفة الإعداد مرة واحدة عند الضغط على إعادة تعيين أو تشغيل اللوحة

إعداد باطل () {Serial.begin (9600) ؛ pinMode (child1ButtonPin ، INPUT) ؛ } // تعمل وظيفة الحلقة مرارًا وتكرارًا إلى الأبد حلقة باطلة () {// اقرأ حالة الزر (تشغيل أو إيقاف) child1ButtonState = digitalRead (child1ButtonPin)؛ إذا (child1ButtonState == HIGH) // يتم الضغط على الزر {Serial.println ("HIGH") ؛ تأخير (5000) ؛ }

إذا (child1ButtonState == LOW)

{Serial.println ("LOW") ؛ تأخير (5000) ؛ }}

الخطوة 2: تعديل الكود لتسجيل ضغطات الأزرار

تعديل التعليمات البرمجية لتسجيل مكابس الأزرار
تعديل التعليمات البرمجية لتسجيل مكابس الأزرار
تعديل التعليمات البرمجية لتسجيل مكابس الأزرار
تعديل التعليمات البرمجية لتسجيل مكابس الأزرار

قم بتعديل الكود لتسجيل زر اضغط:

int child1ButtonPin = 13 ؛ // هذا هو الدبوس المتصل بزر الضغط الخاص بنا إلى child1ButtonState = 0 ؛ // يقرأ حالة الزر (تشغيل / إيقاف) int child1PreviousState = 0 ؛ // حالة الزر السابقة int child1Strike = 0 ؛

// يتم تشغيل وظيفة الإعداد مرة واحدة عند الضغط على إعادة تعيين أو تشغيل اللوحة

إعداد باطل () {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 ؛ // يقرأ حالة الزر (تشغيل / إيقاف) int child1PreviousState = 0 ؛ int child1Strike = 0 ؛

// يتم تشغيل وظيفة الإعداد مرة واحدة عند الضغط على إعادة تعيين أو تشغيل اللوحة

إعداد باطل () {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 على جانب Power بالصف الموجب على اللوح
  2. قم بتوصيل GND بالجانب السلبي من اللوح

  3. أدخل الزر الانضغاطي على لوحة التجارب قم بتوصيل الطاقة الموجودة في الصف الأساسي بالجزء السفلي الأيسر من زر الضغط
  4. قم بتثبيت الزر باستخدام المقاوم في الجزء السفلي الأيمن من زر الضغط على الصف السالب من لوح التجارب.

  5. قم بتوصيل (رقم التعريف الشخصي الخاص بك) على الجانب الرقمي من Arduino بالجانب الأيمن العلوي من الزر.

ستحتاج أيضًا إلى تعديل الرمز للتعامل مع جميع الأزرار الخاصة بك. يرجى أن تضع في اعتبارك أنه إذا كنت بحاجة إلى توخي الحذر من السلاسل التي استخدمتها. لا يمكنك إضافة إلى الأحرف الصغيرة معًا. من الأفضل إعلان 1 ككائن سلسلة.

int child1ButtonPin = 13 ؛ // هذا هو الدبوس الذي يتصل زر الضغط لدينا بـ 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 ؛

// يتم تشغيل وظيفة الإعداد مرة واحدة عند الضغط على إعادة تعيين أو تشغيل اللوحة

إعداد باطل () {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 (String ("Child 1 Has:") + child1Strike + "Strike") ؛

إذا (child1Strike> = 3)

{Serial.println ("الطفل 1 مؤرض!") ؛ } تأخير (3000) ؛ }} إذا (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // يتم الضغط على الزر {child2Strike ++؛ Serial.println (String ("Child 2 has:") + child2Strike + "strikes") ؛

إذا (child2Strike> = 3)

{Serial.println ("الطفل 2 مؤرض!") ؛ } تأخير (3000) ؛ }}

إذا (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // يتم الضغط على الزر {child3Strike ++ ؛ Serial.println (String ("الطفل 3:") + child3Strike + "Strike") ؛

إذا (child3Strike> = 3)

{Serial.println ("الطفل 3 مؤرض!") ؛ } تأخير (3000) ؛ }}

إذا (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // يتم الضغط على الزر {child4Strike ++؛ Serial.println (String ("Child 4 has:") + child4Strike + "strikes") ؛

إذا (child4Strike> = 3)

{Serial.println ("الطفل 4 مؤرض!") ؛ } تأخير (3000) ؛ }}}

الخطوة 4: أضف الجرس

أضف الجرس
أضف الجرس
أضف الجرس
أضف الجرس

دعنا الآن نتأكد من أن أطفالك يعرفون أنهم قد تم تأريضهم. دعونا نضيف الجرس. لتوصيل الجرس ، اتبع هذه الخطوات السهلة.

  1. أضف الجرس إلى اللوح الخاص بك ، وخطط للمساحة منذ ظهور شاشة LCD.
  2. قم بتوصيل الجانب الإيجابي (يجب أن يكون للجرس علامة + على الجانب الإيجابي) بالدبوس الذي تختاره. لقد فعلت 9.
  3. قم بتوصيل الجانب الآخر بالقضيب الأرضي للوح الخاص بك.

بعد ذلك ، قم بتعديل الكود الخاص بك لضبط الجرس عند إيقاف تشغيل الطفل. هناك طريقتان مختلفتان لتشفير الجرس الخاص بك ولكني أحب النغمة (buzzerName ، hertz ، المدة) لبساطتها ، لذا من الأمثلة على ذلك النغمة (الجرس ، 4000 ، 300).

int child1ButtonPin = 13 ؛ // هذا هو الدبوس الذي يتصل زر الضغط لدينا بـ 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 ؛ جرس كثافة العمليات = 2 ؛

// يتم تشغيل وظيفة الإعداد مرة واحدة عند الضغط على إعادة تعيين أو تشغيل اللوحة

إعداد باطل () {Serial.begin (9600) ؛ pinMode (child1ButtonPin ، INPUT) ؛ pinMode (child2ButtonPin ، INPUT) ؛ pinMode (child3ButtonPin ، INPUT) ؛ pinMode (child4ButtonPin ، INPUT) ؛ pinMode (الجرس ، الإخراج) ؛ } // تعمل وظيفة الحلقة مرارًا وتكرارًا إلى الأبد حلقة باطلة () {// اقرأ حالة الزر (تشغيل أو إيقاف) child1ButtonState = digitalRead (child1ButtonPin)؛

child2ButtonState = digitalRead (child2ButtonPin) ،

child3ButtonState = digitalRead (child3ButtonPin) ،

child4ButtonState = digitalRead (child4ButtonPin) ،

إذا (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // يتم الضغط على الزر {child1Strike ++ ؛ Serial.println (String ("Child 1 Has:") + child1Strike + "Strike") ؛

إذا (child1Strike> = 3)

{Serial.println ("الطفل 1 مؤرض!") ؛ نغمة (الجرس ، 5000 ، 500) ؛ // يرسل صوت 5 هرتز لمدة 5 مللي ثانية

}

تأخير (3000) ؛ }} إذا (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // يتم الضغط على الزر {child2Strike ++؛ Serial.println (String ("Child 2 has:") + child2Strike + "strikes") ؛

إذا (child2Strike> = 3)

{Serial.println ("الطفل 2 مؤرض!") ؛ نغمة (الجرس ، 5000 ، 500) ؛ } تأخير (3000) ؛ }}

إذا (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // يتم الضغط على الزر {child3Strike ++ ؛ Serial.println (String ("الطفل 3:") + child3Strike + "Strike") ؛

إذا (child3Strike> = 3)

{Serial.println ("الطفل 3 مؤرض!") ؛ نغمة (الجرس ، 5000 ، 500) ؛ } تأخير (3000) ؛ }}

إذا (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // يتم الضغط على الزر {child4Strike ++؛ Serial.println (String ("Child 4 has:") + child4Strike + "strikes") ؛

إذا (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 الثالث إلى Pin 8 على Arduino
  9. ينتقل دبوس LCD الرابع إلى Pin 7 على Arduino
  10. الخامس يذهب إلى Pin 6 على Arduino
  11. يذهب Sixth Pin إلى رقم 5 في Arduino
  12. الدبابيس من 7 إلى 10 على شاشة LCD فارغة
  13. ينتقل Pin 11 إلى Pin 5 على Arduino
  14. يذهب دبوس 12 إلى السكة الأرضية
  15. ينتقل Pin 13 إلى Pin 4 على Arduino
  16. يذهب دبوس 14 إلى الجزء الخلفي من مقياس الجهد
  17. يذهب دبوس 15 إلى سكة الطاقة
  18. يذهب دبوس 16 إلى السكك الحديدية الأرضية.

الآن سوف تضطر إلى تحديث الكود الخاص بك لاستخدام شاشة LCD. لذلك سوف تستخدم libary Liquid Crystal. كن حذرا من بيانات طباعة شاشات الكريستال السائل الخاصة بك. تذكر أن تمسح الشاشة عندما تحتاج إلى رسالة جديدة. تذكر أيضًا ضبط المؤشر عندما تريد استخدام سطرين.

#يشمل

LiquidCrystal LCD (3 ، 4 ، 5 ، 6 ، 7 ، 8) ؛ // يعين شاشة LCD

int child1ButtonPin = 13 ؛ // هذا هو الدبوس الذي يتصل به زر الضغط الخاص بنا بـ 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 ؛ جرس كثافة العمليات = 9 ؛ // الجرس

// يتم تشغيل وظيفة الإعداد مرة واحدة عند الضغط على إعادة تعيين أو تشغيل اللوحة

إعداد باطل () {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 (الجرس ، الإخراج) ؛ } // تعمل وظيفة الحلقة مرارًا وتكرارًا إلى الأبد حلقة باطلة () {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 ("Child 1 Has:") + child1Strike + "Strike") ؛ 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 (String ("Child 2 has:") + child2Strike + "strikes") ؛ 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 (String ("الطفل 3:") + child3Strike + "Strike") ؛ 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 () ، إذا (child4ButtonState == HIGH) // يتم الضغط على الزر {child4Strike ++ ؛ Serial.println (String ("Child 4 has:") + child4Strike + "strikes") ؛ 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) ؛ }}} وهذا كل ما تحتاجه لبناء معدل سلوك الطفل الخاص بك

موصى به: