Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Addım 1: Parçalar və Alətlər
Parçalar: ~ 2 x Servo Motors - Yerli Elektronika Mağazası ~ 4 x LDR's - Yerli Elektronika Mağazası ~ 4 x 10k Rezistorlar - Yerli Elektronika Mağazası ~ Arduino Uno - Sparkfun.com ~ 2 x 50k Dəyişən Rezistor - Yerli Elektron Mağazası Alətlər: ~ Havya - Sparkfun.com ~ Lehim Teli - Sparkfun.com ~ Jumper Telləri - Sparkfun.com ~ Protoboard - Yerli Elektronika Mağazası Bütün hissələrin qiyməti 30 dollardan aşağı olacaq (arduino və bütün alətlər istisna olmaqla)
Addım 2: Dövrə qurun
Circuit, 10 L müqavimət vasitəsi ilə dörd LDR -ni sırasıyla 0, 1, 2 və 3 -ə bənzər pinlərə bağlamaq olduqca sadədir. İki servosu müvafiq olaraq 9 və 10 -cu rəqəmsal pinlərə qoşun. İki dəyişən müqaviməti 4 və 5 -ci analog pinlərə bağlayın. a Həqiqətən kömək etdikləri şəkillərə baxın. Dairə diaqramının son şəklinə baxın (Gördüyünüz ən pis ola bilər).
Addım 3: Sensor qurğusunu qurun
Sensor qurğusunu düzəltmək üçün iki düzbucaqlı karton götürün, birinci kartonun ortasından uzun bir yarıq kəsin, ikinci karton parçasının ortasından qısa bir yarıq kəsin və sonra hər ikisini kəsin və bəzilərindən istifadə edərək gözəl bir şəkildə düzəldin. tape. 4 hissəli bir 3D çarpazına bənzəməlidir.. Dörd LDR -ni çarpazın bu dörd hissəsinə yerləşdirməliyik. Həqiqətən kömək etdikləri şəkillərə baxın.
Addım 4: Quraşdırın
Bir baza tapın (mənim vəziyyətimdə Nescafe şüşəsi) və yumruğunuzun servosunu oraya yapışdırın, sonra birinci servonun rotoruna ikinci servoyu bağlayın. İkinci servonun rotoruna əvvəllər hazırladığımız sensor qurğusunu bağlayın. Robotunuzu sınamaq üçün. Günəşdə çıxarın və avtomatik olaraq günəşə doğru uzanmalıdır. Əgər qapalı halda otaqdakı ən parlaq işıq mənbəyinə uyğunlaşacaq. Həqiqətən kömək etdikləri şəkillərə baxın.
Addım 5: Kod
Günəş axtarış robotunuzun kodu budur: #include // Servo kitabxanasını daxil edin Servo üfüqi; // üfüqi servo int servoh = 90; // üfüqi servo dur Servo şaquli; // şaquli servo int servov = 90; // şaquli servo // LDR pin əlaqələri // ad = analogpin; int ldrlt = 0; // LDR üst sol int ldrrt = 1; // LDR üst sərt int ldrld = 2; // LDR aşağı sol int ldrrd = 3; // ldr aşağı möhkəm boşluq qurulması () {Serial.begin (9600); // servo əlaqələr // name.attacht (pin); üfüqi bağlama (9); şaquli bağlama (10); } void loop () {int lt = analogRead (ldrlt); // yuxarı sol int rt = analogRead (ldrrt); // sağ üst int ld = analogRead (ldrld); // aşağı sol int rd = analogRead (ldrrd); // aşağı int int dtime = analogRead (4)/20; // potansiyometrləri oxuyun int tol = analogRead (5)/4; int avt = (lt + rt) / 2; // orta dəyər üst int avd = (ld + rd) / 2; // orta dəyər aşağı int avl = (lt + ld) / 2; // sol orta dəyər int avr = (rt + rd) / 2; // sağdakı orta dəyər int dvert = avt - avd; // yuxarı və aşağı arasındakı fərqi yoxlayın int dhoriz = avl - avr; // sol və quru fərqi yoxlayın (-1*tol> dvert || dvert> tol) // fərqin başqa tolerantlıqda olub olmadığını yoxlayın şaquli bucağı dəyişdirin {if (avt> avd) {servov = ++ servov; əgər (servov> 180) {servov = 180; }} başqa əgər (avt <avd) {servov = --servov; əgər (servov <0) {servov = 0; }} şaquli.yaz (servov); } if (-1*tol> dhoriz || dhoriz> tol) // fərqin tolerantlıqda olub olmadığını yoxlayın, əks halda üfüqi bucağı dəyişdirin {if (avl> avr) {servoh = --servoh; əgər (servoh <0) {servoh = 0; }} başqa if (avl <avr) {servoh = ++ servoh; əgər (servoh> 180) {servoh = 180; }} başqa əgər (avl = avr) {// heç bir şey} üfüqi.yaz (servoh); } gecikmə (vaxt); }
Addım 6: Hər şey bitdi
Ümid edirik ki, bu layihə daha çox sınaqlara ilham verəcək. Arduino lövhəsi inanılmaz dərəcədə çox yönlü, ucuz və bütün həvəskarlar üçün əlçatandır. Bu, arduino ilə qurula biləcək bir çox sadə layihədən biridir. Düşünməyə davam edin! Daha çox gəlmək üçün təqib etməyi unutmayın. Hər hansı bir sualınız üçün mənim E-poçt ID [email protected] ilə əlaqə saxlayın