Мазмуну:

: 6 кадам (Сүрөттөр менен)
: 6 кадам (Сүрөттөр менен)

Video: : 6 кадам (Сүрөттөр менен)

Video: : 6 кадам (Сүрөттөр менен)
Video: Мен уурулук менен ооруймун (Клептоманкамын) / менин сырым / кызыктуу окуялар 2024, Ноябрь
Anonim
Сүрөт
Сүрөт

1 -кадам: Бөлүктөр жана шаймандар

Бөлүктөр жана куралдар
Бөлүктөр жана куралдар
Бөлүктөр жана куралдар
Бөлүктөр жана куралдар

Бөлүктөрү: ~ 2 x Servo Motors - Жергиликтүү Электроника Дүкөнү ~ 4 x LDR's - Жергиликтүү Электроника Дүкөнү ~ 4 x 10k Резисторлор - Жергиликтүү Электроника Дүкөнү ~ Arduino Uno - Sparkfun.com ~ 2 x 50k Өзгөрүлмөлүү Резистор - Жергиликтүү Электроника Дүкөнү Куралдар: ~ Паяльник - Sparkfun.com ~ Solder Wire - Sparkfun.com ~ Jumper Wires - Sparkfun.com ~ Protoboard - Жергиликтүү электроника дүкөнү Бардык тетиктердин баасы 30 доллардан төмөн болот (arduino жана бардык шаймандарды кошпогондо)

2 -кадам: Районду куруу

Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу

Райондук 10 L каршылыгы аркылуу аналогдук пиндерге 0, 1, 2 жана 3 туташуу үчүн 4 LDR'ди туташтыруу абдан жөнөкөй. Эки сервону санарип казыктарга 9 жана 10 менен туташтырыңыз. 4 жана 5 аналогдук казыктарга эки өзгөрмөлүү резисторду туташтырыңыз. Алар чынында эле жардам берген сүрөттөрдү карагыла. схеманын акыркы сүрөтүн карагыла (Бул сиз көргөн эң жаман нерсе болушу мүмкүн).

3 -кадам: сенсордун курамын түзүү

Сенсордун курамын түзүү
Сенсордун курамын түзүү
Сенсордун курамын түзүү
Сенсордун курамын түзүү
Сенсордун курамын түзүү
Сенсордун курамын түзүү

Сенсордун курамын куруу үчүн эки картондун төрт бурчтуу бөлүгүн алып, биринчи картон бөлүгүнүн ортосунан узун тешикти кесип алыңыз. Экинчи картон бөлүгүнүн ортосунан кыска тешикти кесип, экөөнү тең кескилеп, бирөөлөрдүн жардамы менен оңдоңуз. скотч. Бул 4 бөлүмдөн турган 3D крестке окшош болушу керек.. Биз төрт ЛДРибизди кресттин ушул төрт бөлүгүнө жайгаштырышыбыз керек. Алар чындап жардам берген сүрөттөрдү карагыла.

4 -кадам: Орнотуу

Орнотуу
Орнотуу

Базаны табыңыз (менин учурда Nescafe бөтөлкөсү) жана муштумуңуздун сервосун ага жабыштырыңыз, андан кийин биринчи сервонун роторуна экинчи сервону кошуңуз. Экинчи сервонун роторуна биз мурда жасаган сенсордук түзүлүштү туташтырыңыз. аны күнгө алып чыгыңыз, ал автоматтык түрдө күнгө карай тегизделиши керек. Эгер үй ичинде болсо, ал бөлмөдө жарыктын эң жарык булагына дал келет. Сүрөттөрдү карап көрүңүз, алар чындап жардам берет.

5 -кадам: Кодекс

Бул жерде сиздин күн издөө роботуңуздун коду: #include // Servo китепканасы кирет Servo горизонталдуу; // горизонталдуу servo int servoh = 90; // горизонталдуу servo Servo вертикалдуу; // тик servo int servov = 90; // тик серво // LDR пин байланыштары // аты = analogpin; int ldrlt = 0; // LDR жогорку сол жагы int ldrrt = 1; // LDR top rigt int ldrld = 2; // LDR төмөн сол int int ldrrd = 3; // ldr down rigt void setup () {Serial.begin (9600); // серво байланыштары // name.attacht (pin); горизонталдык.кошуу (9); вертикалдуу. тиркөө (10); } void loop () {int lt = analogRead (ldrlt); // жогорку сол int int = analogRead (ldrrt); // жогорку оң int ld = analogRead (ldrld); // ылдый сол int rd = analogRead (ldrrd); // down rigt int dtime = analogRead (4)/20; // потенциометрлерди окуу int tol = analogRead (5)/4; int avt = (lt + rt) / 2; // орточо маани top int avd = (ld + rd) / 2; // орточо маанини төмөндөтүү int avl = (lt + ld) / 2; // калтырылган орточо маани int avr = (rt + rd) / 2; // орточо мааниси оң int dvert = avt - avd; // өйдө жана ылдый айырмачылыгын текшерүү int dhoriz = avl - avr; // og жана rift айырмасын текшерүү эгерде (-1*tol> dvert || dvert> tol) // айырмачылык башка толеранттуулукта экенин текшер вертикалдуу бурчту өзгөртүү {if (avt> avd) {servov = ++ servov; if (servov> 180) {servov = 180; }} else if (avt <avd) {servov = --servov; if (servov <0) {servov = 0; }} vertical.write (servov); } if (-1*tol> dhoriz || dhoriz> tol) // дифференциянын толеранттуулукта экенин текшериңиз, болбосо горизонталдык бурчун өзгөртүңүз {if (avl> avr) {servoh = --servoh; if (servoh <0) {servoh = 0; }} else if (avl <avr) {servoh = ++ servoh; if (servoh> 180) {servoh = 180; }} else if (avl = avr) {// nothing} horizontal.write (servoh); } кечигүү (dtime); }

6 -кадам: Баары бүттү

Баары бүттү!
Баары бүттү!

Бул долбоор кийинки эксперименттерге дем берет деп үмүттөнөбүз. Arduino тактасы укмуштуудай ар тараптуу, арзан жана бардык хоббисттер үчүн жеткиликтүү. Бул arduino менен курула турган көптөгөн жөнөкөй долбоорлордун бири. Ой жүгүртүүнү улантыңыз!. Келечекти ээрчүүнү унутпаңыз. Бардык суроолор боюнча менин E-mail ID [email protected] менен байланышыңыз

Сунушталууда: