Sisukord:
- Samm: mida vajate…
- 2. samm: plaadi jootmine
- Samm: seadistage Arduino
- Samm: Pythoni seadistamine
- Samm: kus maagia toimub
Video: Servodriver-plaat Python-GUI ja Arduino abil: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Prototüüpide tegemisel või lennukimudelite ehitamisel puutute sageli kokku probleemiga, et peate kontrollima servosõitu või seadma servod keskasendisse.
Kui te ei kavatse kogu oma RC-süsteemi üles ehitada ega katsetada, kui kaugele saate servot lükata või kus on keskpositsioon, siis on see plaat teie jaoks! See võimaldab teil servo liigutada määratud asenditesse või reisida edasi -tagasi.
See töötab üllatavalt hästi, isegi kuue servoga, mis liiguvad silmuses ühelt positsioonilt teisele.
Samuti on see tore projekt õppida Python-GUI ja Arduino vahelist suhtlust Seriali abil.
Samm: mida vajate…
Selle projekti jaoks vajate järgmist:
Riistvara
- Arduino nano kaabliga. Ma kasutasin klooni ja Pythoni kood ootab tegelikult klooni CH340-kiipi
- Prototüüpimisplaat. Piisab 7x5 cm
- Umbes 2, 54 mm päised ja tihvtid
- 1-6 servot
- Servode toiteallikas (kasutasin 4 patareiga akupakki)
Tarkvara
- Python 3:
- USB-draiver CH340-kiipidele: googeldage lihtsalt CH340 draiverite jaoks
- Arduino IDE:
2. samm: plaadi jootmine
Jootmine on pildil oleva Fritzingi sõnul tegelikult otse edasi. Lihtsalt veenduge, et saate servod hõlpsalt 3-kontaktiliste ridade külge ühendada.
- 3-pin-ridad on kinnitatud Arduino nano digitaalsete tihvtide 3, 5, 6, 9, 10 ja 11 külge.
- Punane juhe on kinnitatud Arduino 5V-kontakti külge
- Must juhe on ühendatud Arduino GND-tihvtiga
- 3-kontaktiliste ridade all olevad tihvtide paarid on mõeldud tüüpilise RC-vastuvõtja toiteallika kinnitamiseks, saate lisada pistikuid, nagu soovite, nagu kruviklemmid, XT-pistikud, JST või… või…
Mulle isiklikult meeldivad rida naissoost päiseid, kuhu Arduino panna, aga see on teie otsustada.
Pange tähele, et lühikesed naissoost päised on hüppaja, mis võimaldab teil tarnida servot, kasutades testimiseks Arduino 5 V allikat. Kui pingutate seda liiga palju, lähtestab Arduino ja kaotab õige tempo. Need tuleb enne teise toiteallika ühendamist eemaldada.
Samm: seadistage Arduino
Paigaldage Arduino IDE ja välgutage Arduino nano koos lisatud visandiga.
Samm: Pythoni seadistamine
Pärast allalaadimist installige Python 3. Kontrollige kindlasti "PATH" muutuja loomise võimalust.
Peate pip abil installima veel kaks paketti. Selleks vajutage klahvi "Windows", tippige "cmd" ja vajutage "enter". Tippige käsureale järgmised käsud:
- pip install jada
- piip install pyserial
- pip paigaldada tkinter
Nagu näete, vajan nii moodulite seeriat kui ka pyserialit, mis pole tõenäoliselt kõige tõhusam, kuna pyserial peaks asendama seeria. Sellest hoolimata see toimib ja ma alles hakkan õppima;).
Avage Python-Script IDE-s ja käivitage see või käivitage see otse terminalist.
Rippmenüüst saate valida kahe režiimi vahel: "Mine otse" ja "Ping Pong":
- Minge otse: sisestage esimeses veerus servoasend mikrosekundites ja vajutage "Start", et servo liiguks määratud asendisse.
- Pingpong: sisestage teise ja kolmanda veeru alumine ja ülemine piir. See on alumine ja ülemine asend, mille vahel servo liigub edasi -tagasi. Veerus "Ping Pong Time" saate määrata aja millisekundites, mida servo ootab, kui on jõudnud ülemisse või alumisse asendisse. Vajuta "Start" ja servo hakkab edasi -tagasi liikuma, vajuta "Stopp" ja servo peatub.
Samm: kus maagia toimub
Viimaseks, kuid mitte vähem tähtsaks, tahan juhtida tähelepanu mõnele üksikasjale koodis neile, kes soovivad siseneda Pythoni ja Arduino vahelisse jadasuhtlusse.
Mis juhtub Pythoni programmis?
Esiteks kontrollib programm, mis on selle rea COM-portide külge kinnitatud, ja salvestab selle loendisse:
self. COMPortsList = nimekiri (serial.tools.list_ports.comports ())
Seejärel loeb see loendit, kuni leiab kurikuulsa CH340-kiibi, salvestab selle ja loob seejärel pärast for-loopi jadaühenduse. Pange tähele, et tsükkel katkeb kohe, kui esimene CH340 on leitud.
p jaoks self. COMPortsList: kui "CH340" p [1]: # Otsin Arduino klooni ise. COMPort = p [0] break else: pass self. Ser = serial. Serial (self. COMPort, 57600)
Jadaühendus luuakse COM-pordiga, mille andmeedastuskiirus on 57600.
Ja mida teeb Arduino kood? Noh, kuna Arduinol on ainult üks COM-port, on jadaühendus ainult üks rida:
Seriaalne algus (57600);
Nüüd saame mõlemat pordi kasutada suhtlemiseks. Sel juhul ainult sõnumid Pythonist Arduinole. Sõnumid saadetakse siia Pythonist. Jadaühendus edastab vaikimisi baite. See on ka kiireim viis andmete saatmiseks ja minu teada on see endiselt üsna laialt levinud. Seega muudetakse servo numbri (nii Arduino teab, millist servot liigutada) ja positsiooni mikrosekundites baitideks.
Command = structure.pack ('> B', self. Place) # Int-muutuja "self. Place" muudetakse baidiks
self. Ser.write (käsk) # Baidi kirjutamine käsk Serial-Port Command = int (self. ServoPos.get ()) // 10 # Sisendi lugemine väljalt ja sisselülitamine int Command = structure.pack (' > B ', käsk) # Int muutmine baitides. Ser.write (käsk) # Baidi kirjutamine jadapordile
Samuti võtab andmete parsimine aega (näiteks nelja baidi "1", "2", "3" ja "0" tõlgendamine kui int 1230, mitte nelja erineva märgina) ja parem on seda mitte teha Arduino puhul.
Arduino poolel saadetakse saadetud teave järgmiselt:
if (Serial.available ()> 1) {// Kui seeriaandmed on saadaval, sisestatakse tsükkel c = Serial.read (); // Esimene bait (servo arv) salvestatakse muutujale Micros = Serial.read (); // Servo asukoht salvestatakse siia Micros = Micros * 10; }
Soovitan:
Isetegemine -- Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: 6 sammu
Isetegemine || Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: Ämblikroboti tegemisel saab robootika kohta nii mõndagi õppida. Nagu robotite tegemine, on see nii meelelahutuslik kui ka väljakutsuv. Selles videos näitame teile, kuidas teha ämblikrobot, mida saame juhtida oma nutitelefoni abil (Androi
ATmega328 programmeerimine Arduino IDE abil 8MHz kristalli abil: 4 sammu
ATmega328 programmeerimine Arduino IDE -ga, kasutades 8MHz kristalli: Selles süstitavas kirjeldan samm -sammult ATmega328P IC (sama mikrokontroller olemas Arudino UNO -l) programmeerimise juhendit, kasutades Arduino IDE -d ja Arduino UNO -d programmeerijana, et teha endale kohandatud Arduino, et oma projekte teha
Juhtige kogu maailmas Interneti abil Arduino abil: 4 sammu
Juhtige kogu maailmas Interneti abil Arduino abil: Tere, ma olen Rithik. Teeme teie telefoni kasutades Interneti -juhitud LED -i. Kasutame sellist tarkvara nagu Arduino IDE ja Blynk. See on lihtne ja kui teil õnnestub, saate juhtida nii palju soovitud elektroonilisi komponente Asjad, mida vajame: riistvara:
Kuidas teha drooni Arduino UNO abil - Mikrokontrolleri abil kvadkopteri valmistamine: 8 sammu (piltidega)
Kuidas teha drooni Arduino UNO abil | Valmistage mikrokontrolleri abil kvadropter: Sissejuhatus Külastage minu Youtube'i kanalit Droon on ostmiseks väga kallis vidin (toode). Selles postituses arutlen, kuidas seda odavalt teha ?? Ja kuidas saate oma odava hinnaga sellist teha … No Indias kõik materjalid (mootorid, ESC -d
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil