Mundarija:
- 1 -qadam: Sizga kerak bo'lgan narsalar …
- 2 -qadam: Uskuna ulang
- 3 -qadam: Arduino -ni dasturlash
- 4 -qadam: Dasturiy ta'minotni o'rnating
- 5 -qadam: Interfeys dasturidan foydalaning
- 6 -qadam: Ijodkor bo'ling
Video: Arduino asosidagi ketma -ket Servo boshqaruvchisi: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:29
Bu Arduino -ga asoslangan bir nechta servo uchun oddiy ketma -ket boshqaruvchi. (mening birinchi ko'rsatma ham:))
Bu ishlarning aksariyati dasturiy ta'minotni arduino bilan gaplashish va ma'lumotlarni uzatish uchun protokol tuzishdan kelib chiqqan. Uskuna jihatiga kelsak, men ishlatgan ikkita servo (bu erda Parallax standart servo.) Sparkfun Arduino ProtoShield va ATMEGA328 bilan Arduino Duemilanove, lekin bu qismlarning ko'pini shu kabi elementlar bilan almashtirish mumkin. Men bu loyihani RC tizimining bir qismi sifatida o'ylab topdim, lekin aloqani o'rnatish ko'p vaqtni oldi. Agar kimdir yaxshilanishlar, fikrlar yoki xatolar bo'lsa, sharhlarda yozing. EDIT: Men buni biroz oldin yozganman, yaqinda nashr qilishim kerak edi.
1 -qadam: Sizga kerak bo'lgan narsalar …
Buni qurish uchun sizga ba'zi narsalar kerak bo'ladi. 1. Arduino kartasi (siz tanlaysiz) 2. ikkita (yoki bitta) servo 3. o'tish simlari 4. Visual Studio 2008 Express - havola (ixtiyoriy) 5. Arduino IDE - havola Kechirasiz Linux va Apple muxlislari, mening dasturim faqat ishlaydi hozircha derazalar, lekin siz kodni o'zgartirmasdan qo'lda ketma -ket buyruqlarni arduino -ga yuborishingiz mumkin.
2 -qadam: Uskuna ulang
Bu bosqichda juda murakkab narsa yo'q, faqat bitta servoni 9 -pinga, ikkinchisini esa 10 -pinga ulang.
3 -qadam: Arduino -ni dasturlash
Endi siz eskizni arduino -ga yuklashingiz mumkin.
Bu erda kodning oddiy tasnifi: #include Servo myservo; // servo nazorat qilish uchun servo ob'ekt yaratish Servo myservo1; int incomingByte = 0, datacount = 0, counter = 0, ready = 0; // kiruvchi ketma -ket ma'lumotlar char ma'lumotlari uchun [10]; const char verify [8] = "ma11hew"; char buyrug'i [3]; void setup () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // ketma -ket portni ochadi, ma'lumotlar tezligini o'rnatadi Serial.println ("Salom Arduino mana!"); // ketma -ket portni aniqlashga yordam berish uchun qo'shildi, bu faqat ketma -ket port va servolarni o'rnatadi. int i; uchun (i = 0; i <180; i ++) {myservo.write (i); kechikish (15); } myservo.write (5); for (i = 0; i <180; i ++) {myservo1.write (i); kechikish (15); } myservo1.write (5); } Servoalarning to'g'ri ishlashini tekshirish uchun oddiy siljish harakati. void loop () {tayyor = 0; hisoblagich = 0; while (1 == 1) {if (Serial.read ()! = verify [counter]) {tanaffus; } if (hisoblagich == 6) {kechiktirish (20); buyruq [0] = Serial.read (); buyruq [1] = Serial.read (); // agar (Serial.read () == ((buyruq [1] * 12) % 8)) // {tayyor = 1; //} Serial.println ("saqlangan buyruq"); } hisoblagich ++; kechikish (2); } bu ketma -ket buferni to'g'ri avtorizatsiya satrini tekshiradi va buyruq uchun ikki baytni oladi. sharhlangan bo'lsa, agar bayonot vaqtinchalik nazorat summasiga ruxsat bersa, lekin qo'lda interfeysni qiyinlashtirishi mumkin. ready -ni 0 -ga o'rnatish mumkin, shuning uchun buyruqlar buzilmagan ma'lumotlar kabi tahlil qilinmaydi. // buyruqlar orqali qidirish if (ready == 1) {if (command [0] == 'T') {command [0] = 0; Serial.print ("9 -pinli gaz kelebeği boshqaruvi:"); Serial.println (xarita (buyruq [1], 32, 126, 2, 180), DEC); myservo.write (xarita (buyruq [1], 32, 126, 2, 180)); } if (buyruq [0] == 'S') {buyruq [0] = 0; Serial.print ("10 -pinli gaz kelebeği boshqaruvi:"); Serial.println (xarita (buyruq [1], 32, 126, 2, 180), DEC); myservo1.write (xarita (buyruq [1], 32, 126, 2, 180)); }}} kodning qolgan qismi - buyrug'ini haqiqiy buyruqlar uchun qidirish (T yoki S.), agar u mos kelsa, keyingi baytni oladi va uni servoga yuboradi. xaritada ko'proq (buyruq [1], 32, 126, 2, 180) keyinroq … bu yerdagi kod sizga kerak bo'ladigan hamma narsaga (masalan, chiroqlar, motorlar, IQ va h.k.) kengaytirilishi mumkin, bu kod yaxshi ishlamasligi kerak. o'zgartirishlar.
4 -qadam: Dasturiy ta'minotni o'rnating
Buni o'rnatishning ikkita usuli bor … nsis o'rnatuvchisi: Quyida o'z -o'zidan ochiladigan o'rnatuvchini yuklab oling va ishga tushiring. O'rnatish paytida siz manbalarni o'rnatish imkoniyatiga ega bo'lasiz. O'rnatuvchi ikkilik to'plami c ++ dll fayllarini o'rnatadi, shuning uchun uni vizual c ++ o'rnatilgan kompyuterda ishlatish mumkin. O'rnatish tugagach, uni ish stoli yoki ishga tushirish menyusidan ishga tushirishingiz mumkin. zip yo'li (tasdiqlanmagan): Yuklab oling va ishga tushiring, u ishlashi kerak. balki. (Zip arxivi manbaisiz o'rnatuvchi tomonidan yaratilgan bir xil papka tuzilishiga ega. Menda uni sinab ko'rish uchun vizual studiyasi bo'lmagan mashinam yo'q, u ishlamasligi mumkin.)
5 -qadam: Interfeys dasturidan foydalaning
Dasturdan foydalanish uchun birinchi navbatda arduino eskizida ko'rsatilgan uzatilish tezligini tanlang. O'zgartirilmagan eskiz standart sifatida 38400 bodni tashkil qiladi, lekin sekinroq radio aloqasi kabi narsalarga bo'lgan ehtiyojingizga mos ravishda o'zgartirilishi mumkin. Eslatma: 38400 dan yuqori bo'lgan bod tezligi unchalik barqaror emas edi, menimcha, bu ma'lumotni qayta ishlashdan oldin uart to'ldiriladi. Keyin, foydalanish uchun COM portini tanlang. dasturning standart qiymati COM4 bo'lib, uni o'zgartirganingizga ishonch hosil qiling, aks holda dastur buziladi. Nihoyat, ochishni bosing. Agar hamma narsa yaxshi bo'lsa, dastur tanlangan ketma -ket portni tanlangan tezlikda ochadi. Aks holda, dastur istisnosiz qulab tushishi mumkin. port to'g'ri ekanligiga ishonch hosil qiling va qaytadan urinib ko'ring. Arduino -ga to'g'ridan -to'g'ri buyruqlar yuborish uchun matn qutilaridan foydalaning. "Xarita (buyruq [1], 32, 126, 2, 180)" ASCII -dagi arduino tomonidan o'qilishi mumkin bo'lgan 94 ta mumkin bo'lgan buyruqlar, * bo'sh joydan ~ gacha ~ o'lchanadi. ASCII 32 (bo'sh joy) dan past bo'lgan yoki 126 (~) dan yuqori bo'lgan har qanday baytlar 63 (?) Yo'l chiziqlari to'g'ridan -to'g'ri buyruqlar uchun eaiser interfeysini ta'minlaydi. har bir qadam ketma -ket arduino -ga ketma -ket buyruq yuboradi.
6 -qadam: Ijodkor bo'ling
Buning uchun ajoyib narsalarni o'ylab ko'ring. Ba'zi fikrlar: 1. Avtomobil uchun masofadan turib gaz kelebeği. 2. 3D -kamera o'rnatgichi 3. suv osti yuruvchi rohatlaning !!
Tavsiya:
DIY: Servo dvigatel burchagini Visuino ketma -ketligi komponenti yordamida qanday boshqarish mumkin: 10 qadam
DIY Servo dvigatel burchagini Visuino ketma -ketligi komponenti yordamida qanday boshqarish mumkin: Ushbu qo'llanmada biz Servo Dvigatel va Arduino UNO va Visuino -dan foydalanib, servo dvigatel burchagini ketma -ketlik komponenti yordamida boshqaramiz. bizning holatda servo dvigatel degr
Arduino asosidagi DIY o'yin boshqaruvchisi - Arduino PS2 o'yin boshqaruvchisi - DIY Arduino Gamepad bilan Tekken o'ynash: 7 qadam
Arduino asosidagi DIY o'yin boshqaruvchisi | Arduino PS2 o'yin boshqaruvchisi | DIY Arduino Gamepad bilan Tekken o'ynash: Salom bolalar, o'yin o'ynash har doim qiziqarli, lekin o'zingizning shaxsiy o'yiningiz bilan o'ynash yanada qiziqarli, shuning uchun biz ushbu qo'llanmada arduino pro micro yordamida o'yin boshqaruvchisi qilamiz
Arduino asosidagi kontaktsiz infraqizil termometr - Arduino yordamida IQ asosidagi termometr: 4 qadam
Arduino asosidagi kontaktsiz infraqizil termometr | IQ asosidagi termometr Arduino yordamida: Salom bolalar, biz ko'rsatma beramiz, biz arduino yordamida aloqa qilmaydigan termometrni yaratamiz, chunki ba'zida suyuqlik/qattiqning harorati juda yuqori yoki pastgacha bo'ladi, keyin u bilan aloqa qilish va uni o'qish qiyin. bu sahnada harorat
Sug'orish nasoslari uchun IOT asosidagi DOL boshlang'ich boshqaruvchisi: 6 qadam
Sug'orish nasoslari uchun IOT asosidagi DOL boshlang'ich boshqaruvchisi: Salom do'stlar, bu ko'rsatma Internet orqali sug'orish nasosini masofadan turib qanday boshqarish va boshqarish haqida. Hikoya: Mening fermer xo'jaligimda elektr energiyasini mahalliy tarmoqdan kuniga atigi 6 soat olaman. Vaqt muntazam emas, po -ning mavjudligi
Arduino HVAC Servo termostati/boshqaruvchisi: 5 qadam (rasmlar bilan)
Arduino HVAC Servo termostati/boshqaruvchisi: Mening "yashil" ko'rsatmaga xush kelibsiz! Men sizga Arduino-dan, ikkita servo dvigateldan, harorat sensori va bir qancha metall (yoki yog'ochdan) devor orqali HVAC qurilmasi uchun raqamli termostatni yasashni ko'rsataman. CB Richard Ellisning so'zlariga ko'ra (asosiy haqiqiy