Përmbajtje:
- Hapi 1: Çfarë ju nevojitet…
- Hapi 2: Saldimi i Bordit
- Hapi 3: Vendosja e Arduino
- Hapi 4: Konfigurimi i Python
- Hapi 5: Ku Ndodh Magjia
Video: Servodriver-Board Me Python-GUI dhe Arduino: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:22
Kur bëni prototip ose ndërtoni aeroplanë model, shpesh hasni në problemin, që ju duhet të kontrolloni udhëtimin me servo ose t'i vendosni servot në pozicionin e mesëm.
Në rast se nuk e keni zakon të ndërtoni të gjithë sistemin tuaj RC ose testin, sa larg mund ta shtyni servon ose ku është pozicioni i mesëm, atëherë kjo tabelë është për ju! Kjo ju lejon të lëvizni servo në pozicione të caktuara ose le të udhëtojmë mbrapsht.
Punon çuditërisht mirë, edhe me 6 servos që garojnë nga një pozicion në tjetrin në lak.
Gjithashtu, është një projekt i bukur për të mësuar në lidhje me komunikimin midis Python-GUI dhe Arduino duke përdorur Serial.
Hapi 1: Çfarë ju nevojitet…
Për këtë projekt, do t'ju duhet sa vijon:
Hardware
- Arduino nano me kabllo. Kam përdorur një klon, dhe kodi Python në fakt pret një chip CH340 të një kloni
- Një tabelë prototipimi. 7x5cm është e mjaftueshme
- Disa kokë dhe kunja 2, 54 mm
- 1-6 servos
- Furnizimi me energji elektrike për servos (kam përdorur një paketë me 4 bateri)
Softuer
- Python 3:
- Një Shofer USB për patate të skuqura CH340: Thjesht google për drejtuesit për drejtuesit CH340
- Arduino IDE:
Hapi 2: Saldimi i Bordit
Lidhja është në të vërtetë drejtpërdrejt sipas Fritzing në foto. Vetëm sigurohuni që ju mund t'i lidhni servot lehtë me rreshtat me 3 kunja.
- Rreshtat me 3 kunja janë bashkangjitur në pinin dixhital 3, 5, 6, 9, 10 dhe 11 të Arduino nano.
- Teli i kuq është ngjitur në pinin 5V të Arduino
- Teli i zi është i lidhur me pin-in GND të Arduino
- Çifti i kunjave poshtë rreshtave me 3 kunja kanë për qëllim të lidhin një furnizim me energji tipike të marrësit RC, mund të shtoni lidhje si të doni, si vidhosja e terminaleve, lidhësit XT, JST ose… ose…
Personalisht, më pëlqejnë rreshtat e kokave femra për të vendosur Arduino -n, por kjo varet nga ju.
Ju lutemi vini re, se titujt e shkurtuar të femrave janë një kërcyes, që ju lejojnë të furnizoni servo duke përdorur burimin 5V të Arduino për qëllime testimi. Nëse e tendosni shumë, Arduino do të rivendoset dhe do të humbasë ritmin e duhur. Ato DUHET të hiqen, para se të lidhni një furnizim tjetër me energji elektrike.
Hapi 3: Vendosja e Arduino
Instaloni Arduino IDE dhe ndizni Arduino nano me skicën e bashkangjitur.
Hapi 4: Konfigurimi i Python
Instaloni Python 3 pasi ta keni shkarkuar. Sigurohuni që të kontrolloni opsionin për të krijuar një ndryshore "PATH".
Ju duhet të instaloni dy pako të tjera duke përdorur pip. Për ta bërë këtë, shtypni butonin "Windows", shkruani "cmd" dhe shtypni "enter". Në komandën e shpejtë shkruani komandat e mëposhtme:
- serial i instalimit të pip
- piip install pyserial
- pip instaloni tkinter
Siç mund ta shihni, unë kam nevojë për modulet serik, si dhe pyserial, i cili ka shumë të ngjarë të mos jetë më efikas, pasi pyserial duhet të zëvendësojë serialin. Sidoqoftë funksionon dhe unë sapo kam filluar të mësoj;).
Hapni Python-Script në IDE dhe drejtojeni atë, ose drejtojeni direkt nga terminali.
Në menunë zbritëse, ju mund të zgjidhni midis dy mënyrave, "Shko Drejt" dhe "Ping Pong":
- Shkoni Drejt: Shkruani një Servo-Position në mikrosekonda në kolonën e parë dhe shtypni "Start" për ta bërë servo-në të lëvizë në pozicionin e specifikuar.
- Ping Pong: Futni një kufi të poshtëm dhe një kufi të sipërm në kolonën e dytë dhe të tretë. Këto janë pozicionet e poshtme dhe të sipërme, midis të cilave servo do të kthehet mbrapsht. Në kolonën "Koha e Ping Pong" mund të specifikoni një kohë në milisekonda, që servo do të presë kur të ketë arritur pozicionin e sipërm ose të poshtëm. Klikoni "Start" dhe servo do të fillojë të lëvizë mbrapsht, goditni "Stop" dhe servo do të ndalet.
Hapi 5: Ku Ndodh Magjia
E fundit por jo më pak e rëndësishme, unë dua të theksoj disa nga detajet në kodin për ata që duan të hyjnë në pak komunikim serik midis Python dhe Arduino.
Tani, çfarë ndodh në programin Python?
Para së gjithash, programi kontrollon se çfarë i bashkëngjitet portave COM në këtë linjë dhe e ruan atë në një listë:
self. COMPortsList = lista (serial.tools.list_ports.comports ())
Pastaj kalon nëpër listë derisa të gjejë një çip famëkeq CH340, e ruan atë dhe më pas krijon një lidhje serike pas lakut for. Vini re, se for-loop prishet sapo të gjendet CH340 i parë.
për p në vetvete. COMPortsList: nëse "CH340" në p [1]: # Duke kërkuar për një Arduino Clone self. COMPort = p [0] pushim tjetër: kalo veten. Ser = serial. Serial (self. COMPort, 57600)
Lidhja serike krijohet me portën COM me një baudrate 57600.
Dhe çfarë bën kodi Arduino? Epo, meqenëse Arduino ka vetëm një port COM, lidhja serike është vetëm një linjë:
Serial.filloj (57600);
Tani, ne mund të përdorim të dy portet për të komunikuar. Në këtë rast, vetëm mesazhe nga Python në Arduino. Mesazhet dërgohen këtu nga Python. Lidhja serike transmeton byte si parazgjedhje. Kjo është gjithashtu mënyra më e shpejtë e dërgimit të të dhënave dhe me sa di unë është ende mjaft e përhapur. Pra, ints për numrin e servo (kështu që Arduino e di se cilin servo të lëvizë) dhe pozicioni në mikrosekonda shndërrohen në një bajt.
Command = struct.pack ('> B', self. Place) # Ndryshorja int "self. Place" kthehet në një bajt
self. Ser.write (Command) # Shkrimi i bajtit në Serial-Port Command = int (self. ServoPos.get ()) // 10 # Leximi i hyrjes nga fusha dhe kthimi në int Command = struct.pack (' > B ', Komanda) # Kthimi i int-it në një byte. Ser.write (Command) # Shkrimi i bajtit në Portën Seriale
Gjithashtu, analizimi i të dhënave kërkon kohë (për shembull interpretimi i katër bajtëve "1", "2", "3" dhe "0" si int 1230, jo si katër karaktere të ndryshme) dhe është më mirë ta bëni këtë jo në Arduino.
Nga ana Arduino, informacioni i dërguar merret si më poshtë:
nëse (Serial.disponueshëm ()> 1) {// Nëse të dhënat serike janë të disponueshme, atëherë laku futet c = Serial.read (); // Bajti i parë (numri i servo) ruhet në një ndryshore Micros = Serial.read (); // Pozicioni i servo -s ruhet këtu Micros = Micros * 10; }
Recommended:
Si të krijoni dhe futni një tabelë dhe shtoni kolona shtesë dhe/ose rreshta në atë tabelë në Microsoft Office Word 2007: 11 hapa
Si të krijoni dhe futni një tabelë dhe shtoni kolona shtesë dhe/ose rreshta në atë tabelë në Microsoft Office Word 2007: A keni pasur ndonjëherë shumë të dhëna me të cilat po punoni dhe keni menduar me veten … " si mund t'i bëj të gjitha nga këto të dhëna duken më mirë dhe janë më të lehta për tu kuptuar? " Nëse është kështu, atëherë një tabelë në Microsoft Office Word 2007 mund të jetë përgjigja juaj
Njohja dhe Identifikimi i Fytyrës - Arduino Face ID duke përdorur OpenCV Python dhe Arduino .: 6 hapa
Njohja dhe Identifikimi i Fytyrës | Arduino Face ID Duke përdorur OpenCV Python dhe Arduino .: Njohja e fytyrës ID e fytyrës AKA është një nga veçoritë më të rëndësishme në telefonat celularë në ditët e sotme. Pra, kisha një pyetje " a mund të kem një ID të fytyrës për projektin tim Arduino " dhe përgjigja është po … Udhëtimi im filloi si më poshtë: Hapi 1: Qasja tek ne
8 Kontrolli i stafetës me NodeMCU dhe Marrës IR duke përdorur WiFi dhe IR Telekomandë dhe Aplikacion Android: 5 hapa (me fotografi)
8 Rele Control me NodeMCU dhe IR Receiver Using WiFi and IR Remote and Android App: Kontrolli i 8 ndërprerësve të stafetave duke përdorur nodemcu dhe marrësin ir mbi wifi dhe ir aplikacionin e largët dhe android. Ir i largët punon pavarësisht nga lidhja wifi. K ISTU ASHT A KLIKIM I VERSIONIT TP PPRDITSUAR KETU
Shfaqja e temperaturës dhe lagështisë dhe mbledhja e të dhënave me Arduino dhe përpunimi: 13 hapa (me fotografi)
Shfaqja e Temperaturës dhe Lagështisë dhe Mbledhja e të Dhënave Me Arduino dhe Përpunimi: Hyrje: Ky është një Projekt që përdor një bord Arduino, një Sensor (DHT11), një kompjuter Windows dhe një Përpunim (një program pa shkarkim falas) për të shfaqur të dhënat e Temperaturës, Lagështisë në dixhital dhe forma e grafikut të shiritit, shfaqja e kohës dhe datës dhe ekzekutimi i kohës së numërimit
Qëndrim për laptopë me 3 hapa dhe 3 hapa (me syze leximi dhe tabaka me stilolaps): 5 hapa
Qëndrim për laptopë me hapa 3 & 3 hapa (me syze leximi dhe tabaka për stilolapsa): Kjo $ 3 & Qëndrimi i laptopit me 3 hapa mund të bëhet brenda 5 minutave. It'sshtë shumë e fortë, me peshë të lehtë dhe mund të paloset për ta marrë kudo që të shkoni