Агуулгын хүснэгт:
- Алхам 1: Энгийн эхлэх: Товчлуур нэмэх
- Алхам 2: Товчлуурын даралтыг бүртгэхийн тулд кодыг өөрчилнө үү
- Алхам 3: Хүүхэдтэй болохын хэрээр олон товчлуур нэмж оруулаарай
- Алхам 4: Баззер нэмнэ үү
- Алхам 5: LCD дэлгэц нэмэх
Видео: Хүүхдийн зан төлөвийг өөрчлөх: 5 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-02-01 14:41
Хүүхдийн зан төлөвийг өөрчилөгч нь танай хүүхэд хичнээн удаа асуудалд орсныг (ажил хаялт гэх мэт) бүртгэж, гурвыг хүрэхэд дуугаралт дуугарч, lcd дэлгэц нь газардсан гэдгээ зарладаг.
Алхам 1: Энгийн эхлэх: Товчлуур нэмэх
Энэхүү төслийн эхний алхам нь маш энгийн. 1 Товчлуур нэмэх. Энэ алхамд танд 4 Male to Male Wires, 1 220 Resisitor, товчлуур хэрэгтэй болно.
- Цахилгаан талын 5V -ийг талхны самбар дээрх эерэг эгнээнд холбоно уу
-
GND -ийг талхны сөрөг тал руу холбоно уу
- Товчлуурыг талхны самбар дээр оруулна уу
-
Дараах эгнээний хүчийг түлхэх товчлуурын зүүн доод хэсэгт холбоно уу
- Товчлуурын баруун доод хэсэгт резистор ашиглан талхны сөрөг эгнээ рүү товчлуурыг газардуулна.
- Arduino -ийн дижитал талын 13 дугаарыг товчлуурын баруун дээд хэсэгт холбоно уу.
Товчлуур бүртгүүлж байгааг кодоороо баталгаажуулна уу.
int child1ButtonPin = 13; // Энэ бол бидний товчлуурыг холбосон зүү юм
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); }
if (child1ButtonState == LOW)
{Serial.println ("LOW"); саатал (5000); }}
Алхам 2: Товчлуурын даралтыг бүртгэхийн тулд кодыг өөрчилнө үү
Кодоо өөрчлөхийн тулд товчлуурыг дарна уу.
int child1ButtonPin = 13; // Энэ бол бидний товчлуур нь child1ButtonState = 0 -тэй холбогдсон зүү юм. // Товчлуурын төлөвийг унших (асаах/унтраах) int child1PreviousState = 0; // Өмнөх товч төлөв 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; // Энэ бол бидний товчлуур нь child1ButtonState = 0 -тэй холбогдсон зүү юм. // Товчлуурын төлөвийг унших (асаах/унтраах) int child1PreviousState = 0; 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); }}
}
Цуваа хяналт нь дээрх зураг шиг харагдах ёстой.
Жич: Хугацаа хоцроход та тухтай байгаа эсэхийг шалгаарай. Бага зэрэг саатал гарахад 1 товчлуурыг нэгээс олон удаа дарах болно!
Алхам 3: Хүүхэдтэй болохын хэрээр олон товчлуур нэмж оруулаарай
Энэ алхамд бид сүүлийн хэдэн алхамыг хуулж авах болно. Хүүхдүүд шиг олон товчлуур нэмж оруулаарай. Миний хувьд би дөрөв нэмнэ. Товчлууртай холбогдсон дижитал зүү кодоо өөрчлөхөө мартуузай. Миний хувьд товчлууруудаа нэмэхийн тулд 12 -оос 10 хүртэл тээглүүр ашигласан. Хэрэв танд сануулах шаардлагатай бол алхам 1:
- Цахилгаан талын 5V -ийг талхны самбар дээрх эерэг эгнээнд холбоно уу
-
GND -ийг талхны сөрөг тал руу холбоно уу
- Товчлуурыг талхны тавцан дээр оруулна уу.
-
Товчлуурын баруун доод хэсэгт резистор ашиглан талхны сөрөг эгнээ рүү товчлуурыг газардуул.
- Arduino -ийн дижитал талын товчлуурын баруун дээд хэсэгт (таны зүү дугаар) холбоно уу.
Та мөн бүх товчлуурыг удирдахын тулд кодыг өөрчлөх шаардлагатай болно. Хэрэв та ашиглаж байсан мөрүүдийг анхааралтай ажиглах шаардлагатай бол үүнийг санаарай. Та жижиг үсгүүдийг хамтад нь нэмж болохгүй. 1 -ийг String объект гэж зарлах нь хамгийн сайн арга юм.
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;
// самбарыг дахин тохируулах эсвэл асаахад тохируулгын функц нэг удаа ажиллана
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);
if (child1ButtonState! = child1PreviousState)
{if (child1ButtonState == HIGH) // Товчлуур дарагдсан {child1Strike ++; Serial.println (String ("Child 1 has:") + child1Strike + "strike");
хэрэв (child1Strike> = 3)
{Serial.println ("1 -р хүүхэд үндэслэлтэй!"); } саатал (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Товчлуур дарагдсан байна {child2Strike ++; Serial.println (String ("Child 2 has:") + child2Strike + "strike");
хэрэв (child2Strike> = 3)
{Serial.println ("2 -р хүүхэд газардсан!"); } саатал (3000); }}
if (child3ButtonState! = child3PreviousState)
{if (child3ButtonState == HIGH) // Товчлуур дарагдсан {child3Strike ++; Serial.println (String ("3 -р хүүхэд:") + child3Strike + "цохилт");
хэрэв (child3Strike> = 3)
{Serial.println ("3 -р хүүхэд газардсан!"); } саатал (3000); }}
if (child4ButtonState! = child4PreviousState)
{if (child4ButtonState == HIGH) // Товчлуур дарагдсан {child4Strike ++; Serial.println (String ("4 -р хүүхэд:") + child4Strike + "цохилт");
хэрэв (child4Strike> = 3)
{Serial.println ("4 -р хүүхэд үндэслэлтэй!"); } саатал (3000); }}}
Алхам 4: Баззер нэмнэ үү
Хүүхдүүд чинь газардсан гэдгээ мэдэж байгаа эсэхийг шалгаарай. Дуугаруулагч нэмж оруулъя. Дуут дохиог холбохын тулд эдгээр хялбар алхмуудыг дагана уу.
- Баззераа талхны тавцан дээрээ нэмж, LCD дэлгэц гарч ирэх тул орон зайг төлөвлөөрэй.
- Postive талыг (дуугаруулагч нь ар талд нь + байх ёстой) өөрийн хүссэн Pin -тэй холбоно уу. Би 9 хийсэн.
- Нөгөө талыг талхны тавцангийн газардуулсан төмөр замд холбоно уу.
Дараа нь, хүүхэд газардвал дуугаралтыг унтраахын тулд кодоо өөрчилнө үү. Таны дуут дохиог кодлох хэд хэдэн өөр арга байдаг, гэхдээ би аяыг (buzzerName, hertz, duration) энгийн байдлаар нь харах дуртай байдаг. Үүний жишээ бол ая (buzzer, 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; const int buzzer = 2;
// самбарыг дахин тохируулах эсвэл асаахад тохируулгын функц нэг удаа ажиллана
void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (дуугаралт, гаралт); } // давталтын функц дахин дахин ажиллана үүрд void loop () {// товчлуурын төлөвийг унших (асаах эсвэл унтраах) child1ButtonState = digitalRead (child1ButtonPin);
child2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
if (child1ButtonState! = child1PreviousState)
{if (child1ButtonState == HIGH) // Товчлуур дарагдсан {child1Strike ++; Serial.println (String ("Child 1 has:") + child1Strike + "strike");
хэрэв (child1Strike> = 3)
{Serial.println ("1 -р хүүхэд үндэслэлтэй!"); ая (дуугаралт, 5000, 500); // 5 герц дууг 5 миллисекундэд илгээдэг
}
саатал (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Товчлуур дарагдсан байна {child2Strike ++; Serial.println (String ("2 -р хүүхэд:") + child2Strike + "цохилт");
хэрэв (child2Strike> = 3)
{Serial.println ("2 -р хүүхэд үндэслэлтэй!"); ая (дуугаралт, 5000, 500); } саатал (3000); }}
if (child3ButtonState! = child3PreviousState)
{if (child3ButtonState == HIGH) // Товчлуур дарагдсан {child3Strike ++; Serial.println (String ("3 -р хүүхэд:") + child3Strike + "цохилт");
хэрэв (child3Strike> = 3)
{Serial.println ("3 -р хүүхэд газардсан!"); ая (дуугаралт, 5000, 500); } саатал (3000); }}
if (child4ButtonState! = child4PreviousState)
{if (child4ButtonState == HIGH) // Товчлуур дарагдсан {child4Strike ++; Serial.println (String ("4 -р хүүхэд:") + child4Strike + "цохилт");
хэрэв (child4Strike> = 3)
{Serial.println ("4 -р хүүхэд үндэслэлтэй!"); ая (дуугаралт, 5000, 500); } саатал (3000); }}}
Алхам 5: LCD дэлгэц нэмэх
Одоо LCD дэлгэцийг уншихад хялбар, ойлгомжтой болгох боломжийг танд олгоно.
- Нэгдүгээрт, lcd дэлгэцийг хянахын тулд потенциометрийг талхны самбар дээр нэмнэ үү. Орон зай дуусах магадлалтай байгаа тул хаана байрлуулахаа болгоомжтой байгаарай.
- Зүүн урд хэсгийг ашиглан потенциометрээ цахилгаан дамжуулах хоолойд холбоно уу
- Потенциометрийг газардуулахын тулд баруун урд хэсгийг ашиглана уу.
- Арын хэсэг нь lcd дэлгэцтэй холбогдоно.
- LCD дэлгэцийг талхны тавцан дээрээ нэмээрэй
- Эхний дэлгэцийн зүүг газардуулгын төмөр замд газардуулна
- Хоёрдахь зүүг цахилгааны төмөр замд холбоно уу.
- Гурав дахь LCD зүү нь Arduino дээрх 8 -р зүү рүү ордог
- Дөрөв дэх LCD зүү нь Arduino дээрх 7 -р зүү рүү ордог
- Тавдугаарт, Arduino дээрх 6 -р зүү рүү орно
- Зургаа дахь Pin нь Arduino дээрх 5 -р зүү рүү ордог
- LCD дэлгэц дээрх 7 -оос 10 хүртэлх зүү хоосон байна
- 11 -р зүү нь Arduino дээрх 5 -р зүү рүү орно
- 12 -р зүү нь газардуулсан төмөр зам руу явдаг
- 13 -р зүү нь Arduino дээрх 4 -р зүү рүү ордог
- 14 -р зүү нь потенциометрийн арын хэсэгт очдог
- 15 -р зүү нь цахилгаан төмөр зам руу явдаг
- 16 -р зүү нь газрын төмөр зам руу явдаг.
Одоо та lcd дэлгэцийг ашиглахын тулд кодоо шинэчлэх шаардлагатай болно. Үүний тулд та libary Liquid Crystal ашиглана. 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; // товчлуурын төлөвийг унших (асаах/унтраах) 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 int22Strike = 0; int child3Strike = 0; int child4Strike = 0; const int buzzer = 9; // Buzzer
// самбарыг дахин тохируулах эсвэл асаахад тохируулгын функц нэг удаа ажиллана
void setup () {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 (дуугаралт, гаралт); } // давталтын функц дахин дахин ажиллана үүрд void loop () {lcd.setCursor (0, 0); // товчлуурын төлөвийг унших (асаах эсвэл унтраах) child1ButtonState = digitalRead (child1ButtonPin);
child2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
if (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 (); if (child2ButtonState == HIGH) // Товчлуур дарагдсан {child2Strike ++; Serial.println (String ("Child 2 has:") + child2Strike + "strike"); 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); }}
if (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 ("Ажил хаялт!"); if (child3Strike> = 3) {Serial.println ("3 -р хүүхэд газардсан!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Хүүхэд 3 бол"); lcd.setCursor (0, 1); lcd.print ("Газардуулсан!"); ая (дуугаралт, 5000, 500); } саатал (3000); }}
if (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 ("Ажил хаялт!");
хэрэв (child4Strike> = 3)
{Serial.println ("4 -р хүүхэд үндэслэлтэй!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("4 -р хүүхэд бол"); lcd.setCursor (0, 1); lcd.print ("Газардуулсан!"); ая (дуугаралт, 5000, 500); } саатал (3000); }}} Хүүхдийн зан төлөвт тохируулагчийг бий болгоход л хангалттай
Зөвлөмж болгож буй:
Одоо Pee байхгүй байна, гэрийн тэжээвэр амьтдын зан авирыг тохируулах төхөөрөмж нь муурны эргэн тойронд хооллохыг зогсооно: 4 алхам
Одоо Pee байхгүй, гэрийн тэжээвэр амьтдын зан авирыг тохируулах төхөөрөмж: муурыг гэрийнхээ эргэн тойронд хооллохыг зогсооно: Миний зулзага надад маш их санаа зовж, тэр миний орон дээр шээх дуртай байсан тул би түүнд хэрэгтэй бүх зүйлийг шалгаж, түүнийг малын эмчид үзүүлэв. Миний бодож чадах бүх зүйлийг засч залруулж, эмчийн үгийг сонссоны дараа тэр зүгээр л муухай ааштай болохыг ойлгосон. Тиймээс
Нялх хүүхдийн анхны цаг - Гэрэлтэгч таймертай: 16 алхам (зурагтай)
Toddler's First Clock - Light -on Timer: Энэхүү гарын авлагад таны хүүхдийн зураг, гэр бүлийн/гэрийн тэжээвэр амьтдын зураг эсвэл өөр бусад зүйлийг багтаасан цагийн нүүрийг хэрхэн яаж хийхийг үе үе өөрчлөх нь зүйтэй гэж үзжээ. Тодорхой хэтийн төлөвийг хүссэн хэсэгт нь хавчихад л болно
ЗАН: 6 алхам
OUCH: Энэ бол таны хувийн олон талт ашиггүй катаракт туслагч юм. Нүүр царай таних нь Zeitgeist -ийг цохиж байхад OUCH чамайг цохиж байна! OUCH нь таны гадаад төрхийг мэддэг төдийгүй маш их ядаргаатай байхыг мэддэг! Том ахаас ялгаатай нь энэ машин маш сайн харагддаг
Хүүхдийн унтлагын сургалтын цаг: 6 алхам (зурагтай)
Хүүхдийн унтлагын сургалтын цаг: 4 настай ихрүүдээ жаахан удаан унтаж сурахад нь туслах цаг надад хэрэгтэй байсан (бямба гаригийн өглөө 5:30 цагт босоход хангалттай байсан), гэхдээ тэд чаддаггүй. одоохондоо цаг уншаарай. Маш алдартай дэлгүүрүүдээс цөөн хэдэн зүйлийг хайж үзсэний дараа
Хүүхдийн Halloween үзүүлэлт: 4 алхам (зурагтай)
Хүүхдийн Halloween индикатор: Эхнэр бид хоёр Halloween -д зориулж юу өмсөж болохыг олж мэдэхийг хичээж байсан. Энэхүү тархины шуурга нь хэдхэн шөнийн өмнө болсон бөгөөд тэр намайг яарсан гэж хэлэх нь илүүц биз. Тэрээр хичнээн хол байснаа харуулах санааг олсон юм