Mündəricat:
- Addım 1: Ehtiyacınız ola biləcək şeylər …
- Addım 2: Hardware qoşun
- Addım 3: Arduino proqramlaşdırın
- Addım 4: Proqramı Qurun
- Addım 5: İnterfeys Proqramından istifadə edin
- Addım 6: Yaradıcı olun
Video: Arduino əsaslı Servo Servo Nəzarətçisi: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:49
Bu Arduino -ya əsaslanan bir çox servo üçün sadə bir serial nəzarətçisidir. (mənim də ilk təlimatçım:))
Bu işin çox hissəsi, proqramın arduino ilə danışmasını təmin etmək və məlumatların ötürülməsi üçün protokol hazırlamaqdır. Avadanlıq baxımından istifadə etdiyim hər şey iki servo idi (burada Parallax standart servo.) Bir Sparkfun Arduino ProtoShield və ATMEGA328 ilə Arduino Duemilanove, lakin bu hissələrin əksəriyyəti oxşar elementlərlə əvəz edilə bilər. Bu layihəni RC sisteminin bir hissəsi olaraq düşündüm, amma ünsiyyət qurmaq çox vaxt aldı. Hər hansı bir irəliləyiş, fikir və ya səhv varsa, şərh etməkdən çekinmeyin. EDIT: Bunu bir müddət əvvəl yazmışam, bu yaxınlarda nəşr etməliyəm.
Addım 1: Ehtiyacınız ola biləcək şeylər …
Bunu qurmaq üçün bəzi şeylərə ehtiyacınız olacaq. 1. Arduino lövhəsi (seçdiyiniz) 2. iki (və ya bir) servo 3. keçid telləri 4. Visual Studio 2008 Express - keçid (isteğe bağlı) 5. Arduino IDE - bağlantı Bağışlayın Linux və Apple azarkeşləri, proqramım yalnız işləyir Hələlik windows, ancaq kodu dəyişdirmədən arduino -ya əl ilə ardıcıl əmrlər göndərə bilərsiniz.
Addım 2: Hardware qoşun
Bu mərhələdə çox mürəkkəb bir şey yoxdur. Sadəcə bir servoyu pin 9 -a, digərini isə pin 10 -a bağlayın.
Addım 3: Arduino proqramlaşdırın
İndi eskizi arduino üzərinə yükləyə bilərsiniz.
İşdə kodun sadə bir dağılımı: #include Servo myservo; // servo idarə etmək üçün servo obyekti yaradın Servo myservo1; int incomingByte = 0, datacount = 0, counter = 0, ready = 0; // daxil olan serial məlumatların char məlumatları üçün [10]; const char verify [8] = "ma11hew"; char əmri [3]; void setup () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // serial portunu açır, məlumat sürətini təyin edir Serial.println ("Salam Arduino burada!"); // seriyalı portu təyin etməyə kömək etmək üçün əlavə edildi Bu, yalnız seriyalı portu və servoları qurur. int i; for (i = 0; i <180; i ++) {myservo.write (i); gecikmə (15); } myservo.write (5); for (i = 0; i <180; i ++) {myservo1.write (i); gecikmə (15); } myservo1.write (5); } Servoların düzgün işlədiyini yoxlamaq üçün sadə süpürmə hərəkəti. void loop () {ready = 0; sayğac = 0; while (1 == 1) {if (Serial.read ()! = [counter] yoxla)) {break; } if (counter == 6) {gecikmə (20); əmr [0] = Serial.read (); əmr [1] = Serial.read (); // əgər (Serial.read () == ((əmr [1] * 12) % 8)) // {hazır = 1; //} Serial.println ("xilas edilmiş əmr"); } sayğac ++; gecikmə (2); } bu, seriya tamponunun düzgün avtorizasiya xəttini yoxlayır, sonra komanda üçün iki bayt tutur. şərh, müvəqqəti bir yoxlama məbləğinə icazə verərsə, ancaq əl ilə əlaqəni çətinləşdirər. hazır 0 -a təyin edilə bilər, buna görə də əmrlər təhrif olunmayacaq, məsələn, zədələnmiş məlumatlar. // əgər əmrləri axtarın (hazır == 1) {əgər (əmr [0] == 'T') {əmr [0] = 0; Serial.print ("pin 9 -da qaz tənzimlənməsi:"); Serial.println (xəritə (əmr [1], 32, 126, 2, 180), DEC); myservo.write (xəritə (əmr [1], 32, 126, 2, 180)); } if (command [0] == 'S') {command [0] = 0; Serial.print ("pin 10 -da qaz tənzimlənməsi:"); Serial.println (xəritə (əmr [1], 32, 126, 2, 180), DEC); myservo1.write (xəritə (əmr [1], 32, 126, 2, 180)); }}} kodun qalan hissəsi, uyğun gəlsə, növbəti baytı alır və servoya göndərən etibarlı əmrləri (T və ya S.) əmrini axtarmaqdır. xəritədə daha çox (əmr [1], 32, 126, 2, 180) sonra… buradakı kod sizə lazım ola biləcək hər şey üçün genişləndirilə bilər (məsələn, işıqlar, mühərriklər, İR və s.) dəyişikliklər.
Addım 4: Proqramı Qurun
Bunu qurmağın iki yolu var … nsis yükləyicisi: Aşağıdakı özünü çıxaran yükləyicini yükləyin və işə salın. Quraşdırma zamanı mənbələri quraşdırmaq imkanınız olacaq. quraşdırıcı ikili paketi, əsas c ++ dll -lərini quraşdırır, belə ki, artıq əyani c ++ quraşdırılmadan kompüterdə işləyə bilər. Quraşdırma başa çatdıqdan sonra onu masaüstündən və ya başlanğıc menyusundan işə sala bilərsiniz. zip yolu (təsdiqlənməmiş): Yükləyin və işləyin, işləməlidir. ola bilər. (Zip arxivi, mənbələr olmadan quraşdırıcı tərəfindən yaradılan eyni qovluq quruluşuna malikdir. Bunu sınamaq üçün vizual studiyası olmayan bir maşınım yoxdur, buna görə də işləməyə bilər.)
Addım 5: İnterfeys Proqramından istifadə edin
Proqramdan istifadə etmək üçün əvvəlcə arduino eskizində müəyyən edilmiş ötürmə sürətini seçin. Dəyişdirilməmiş eskiz 38400 baud olaraq təyin olunur, lakin daha yavaş bir radio bağlantısı kimi şeylər üçün ehtiyaclarınıza uyğun olaraq dəyişdirilə bilər. Qeyd: 38400 -dən yüksək olan baud dərəcələri çox sabit olmadı, bunun səbəbi məlumatların işlənmədən əvvəl uartın dolmasıdır. Sonra istifadə etmək üçün COM portunu seçin. Proqram COM4 -ə çevrildiyindən əmin olun, əks halda proqram çökəcək. Nəhayət, aç düyməsini basın. Hər şey yaxşı olarsa, proqram seçilmiş serial portunu seçilmiş baud sürətində açacaq. Əks təqdirdə, işlənməmiş bir istisna ilə proqram yıxılacaq. portun düzgün olduğundan əmin olun və yenidən cəhd edin. Arduinoya birbaşa əmrlər göndərmək üçün mətn qutularından istifadə edin. "Xəritə (əmr [1], 32, 126, 2, 180)", ASCII -də arduino tərəfindən oxunan, 94 mümkün olan bütün əmrləri, * boşluqdan * -ə qədər ölçür, servo üçün 2 ilə 180 arasında. ASCII 32 -dən (boşluq) az və ya 126 -dan yuxarı olan (~) hər hansı bir bayt 63 (?) Varsayılan olaraq, yol çubuqları birbaşa əmrlər üçün qızdırıcı interfeysi təmin edir. hər addım ardıcıl olaraq arduinoya ardıcıl bir əmr göndərir.
Addım 6: Yaradıcı olun
Bununla etmək üçün gözəl şeylər düşünün. Bəzi fikirlər: 1. Bir avtomobil üçün uzaqdan qaz. 2. 3D kamera montajı 3. sualtı gəzən Əylən!
Tövsiyə:
Arduino əsaslı DIY Oyun Nəzarətçisi - Arduino PS2 Oyun Nəzarətçisi - DIY Arduino Gamepad ilə Tekken oynamaq: 7 addım
Arduino əsaslı DIY Oyun Nəzarətçisi | Arduino PS2 Oyun Nəzarətçisi | DIY Arduino Gamepad ilə Tekken Oynamaq: Salam uşaqlar, oyun oynamaq həmişə əyləncəlidir, ancaq öz DIY xüsusi oyun nəzarətçinizlə oynamaq daha əyləncəlidir, buna görə də bu təlimatlarda arduino pro micro istifadə edərək bir oyun nəzarətçisi edəcəyik
Arduino əsaslı təmassız infraqırmızı termometr - Arduino İstifadə edən İQ Əsaslı Termometr: 4 Addım
Arduino əsaslı təmassız infraqırmızı termometr | Arduino İstifadə edən İK Əsaslı Termometr: Salam uşaqlar bu təlimatlarda arduino istifadə edərək təmasda olmayan bir Termometr hazırlayacağıq. Bəzən mayenin/bərkin temperaturu çox yüksək və ya aşağıya enir, sonra onunla əlaqə qurmaq və oxumaq çətindir. o səhnədə temperatur
Suvarma Pompası üçün IOT əsaslı DOL Başlanğıc Nəzarətçisi: 6 addım
Suvarma Pompası üçün IOT əsaslı DOL Başlanğıc Nəzarətçisi: Salam Dostlar Bu təlimat internet üzərindən bir suvarma nasosu qurğusunu uzaqdan necə izləmək və idarə etmək haqqında. Hekayə: Təsərrüfatımda yerli şəbəkədən gündə təxminən 6 saat enerji alıram. Vaxtlar nizamlı deyil, po -nun mövcudluğu
AVR mikro nəzarətçisi. Pulse Genişliyi Modulyasiyası. DC Motor və LED İşıq Gücünün Nəzarətçisi .: 6 Addım
AVR mikro nəzarətçisi. Pulse Genişliyi Modulyasiyası. DC Motor və LED İşıq Gücünün Nəzarətçisi .: Hamıya salam! Pulse Width Modulation (PWM) telekommunikasiya və güc nəzarətində çox yayılmış bir texnikadır. bir mühərrik, bir LED, dinamiklər və s., bir elektrik cihazına verilən enerjini idarə etmək üçün ümumiyyətlə istifadə olunur. Əsasən bir modudur
YABC - Başqa bir Blynk Nəzarətçisi - IoT Bulud İstilik və Rütubət Nəzarətçisi, ESP8266: 4 Addım
YABC - Başqa bir Blynk Nəzarətçisi - IoT Bulud Temperaturu və Rütubət Nəzarətçisi, ESP8266: Salam Yaradıcılar, bu yaxınlarda evdə göbələk, İstiridye göbələyi yetişdirməyə başladım, ancaq ev dəmləməyim, arvadım üçün Fermentator Temperaturuna nəzarət etmək üçün evdə bu nəzarətçilərin üçdə birini var. indi də bu Kombucha işini edir və İstilik üçün Termostat olaraq