Orodha ya maudhui:
- Hatua ya 1: Unachohitaji…
- Hatua ya 2: Kuunganisha bodi
- Hatua ya 3: Kuanzisha Arduino
- Hatua ya 4: Kuweka Python
- Hatua ya 5: Ambapo Uchawi Hutokea
Video: Bodi ya Servodriver na Python-GUI na Arduino: Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Unapofanya prototyping au ujenzi wa ndege za mfano, mara nyingi unakutana na shida, kwamba lazima uangalie kusafiri kwa servo au kuweka servos kwa nafasi ya katikati.
Ikiwa hautaki kujenga mfumo wako wote wa RC au mtihani, ni umbali gani unaweza kushinikiza servo au mahali pa katikati, basi bodi hii ni yako! Inakuruhusu kuhamisha servo kwa nafasi maalum au wacha tusafiri huko na huko.
Inafanya kazi vizuri, hata na servos 6 ambazo hukimbia kutoka nafasi moja hadi nyingine kitanzi.
Pia, ni mradi mzuri wa kujifunza juu ya mawasiliano kati ya Python-GUI na Arduino kwa kutumia Serial.
Hatua ya 1: Unachohitaji…
Kwa mradi huu, utahitaji yafuatayo:
Vifaa
- Nano ya Arduino na kebo. Nilikuwa mkoni, na nambari ya Python inatarajia CH340-chip ya mtu
- Bodi ya kuiga. 7x5cm inatosha
- Baadhi ya vichwa 2, 54mm na pini
- 1-6 servos
- Ugavi wa umeme kwa servos (nilitumia batterypack na betri 4)
Programu
- Python 3:
- Dereva ya USB ya chips-CH340: google tu kwa madereva kwa madereva CH340
- IDE ya Arduino:
Hatua ya 2: Kuunganisha bodi
Uuzaji ni sawa mbele moja kwa moja kulingana na Fritzing kwenye picha. Hakikisha tu, kwamba unaweza kushikamana na servos kwa urahisi kwenye safu-3 za pini.
- Mstari wa pini-3 umeambatanishwa na pini ya dijiti 3, 5, 6, 9, 10 na 11 ya nano ya Arduino.
- Waya nyekundu imeambatanishwa na pini 5V ya Arduino
- Waya mweusi umeunganishwa na pini ya GND ya Arduino
- Vipande viwili chini ya safu-pini-tatu vimekusudiwa kuambatisha umeme wa kawaida wa mpokeaji wa RC, unaweza kuongeza viunganishi jinsi unavyopenda, kama vituo vya kusokota, XT-Connectors, JST au… au… au…
Binafsi, napenda safu za vichwa vya kike kuweka Arduino, lakini hiyo ni juu yako.
Tafadhali kumbuka, kwamba vichwa vya kike vilivyopunguzwa ni kuruka, ambayo inakuwezesha kusambaza servo ukitumia chanzo cha 5V cha Arduino kwa madhumuni ya upimaji. Ikiwa unachuja sana, Arduino itaweka upya na kufungua kasi inayofaa. LAZIMA ziondolewe, kabla ya kushikamana na usambazaji mwingine wa umeme.
Hatua ya 3: Kuanzisha Arduino
Sakinisha IDE ya Arduino na uangaze nano ya Arduino na mchoro ulioambatanishwa.
Hatua ya 4: Kuweka Python
Sakinisha Python 3 baada ya kuipakua. Hakikisha uangalie chaguo la kuunda "PATH" - inayobadilika.
Unahitaji kusanikisha vifurushi vingine viwili ukitumia bomba. Kwa hilo, bonyeza kitufe cha "Windows", andika "cmd" na gonga "ingiza". Katika aina ya haraka ya amri amri zifuatazo:
- bomba funga mfululizo
- piip kufunga pyserial
- pip kufunga tkinter
Kama unavyoona, ninahitaji moduli za serial pamoja na pyserial, ambayo inawezekana sio bora zaidi, kwani pyserial inapaswa kuchukua nafasi ya serial. Walakini inafanya kazi na ninaanza kujifunza;).
Fungua Hati-ya-Python kwenye IDE na uiendeshe, au uiendeshe moja kwa moja kutoka kwa wastaafu.
Katika menyu kunjuzi, unaweza kuchagua kati ya njia mbili, "Nenda Sawa" na "Ping Pong":
- Nenda Sawa: Ingiza Nafasi ya Servo kwenye microseconds kwenye safu ya kwanza na gonga "Anza" ili kufanya servo iende kwenye nafasi iliyoainishwa.
- Ping Pong: Ingiza mpaka wa chini na mpaka wa juu kwenye safu ya pili na ya tatu. Hiyo ndio nafasi ya chini na ya juu, kati ya ambayo servo itarudi huko na huko. Kwenye safu "Saa ya Ping Pong" unaweza kutaja wakati katika milliseconds, kwamba servo itasubiri ikiwa imefikia nafasi ya juu au ya chini. Piga "Anza" na servo itaanza kurudi nyuma na nyuma, piga "Stop" na servo itaacha.
Hatua ya 5: Ambapo Uchawi Hutokea
Mwisho lakini sio uchache, ninataka kuelezea maelezo kadhaa kwa nambari hiyo kwa wale, ambao wanataka kuingia katika mawasiliano kidogo kati ya Python na Arduino.
Sasa, ni nini hufanyika katika programu ya Python?
Kwanza kabisa, programu inakagua, ni nini kinachoambatanishwa na bandari za COM kwenye mstari huu na kuihifadhi kwenye orodha:
self. COMPortsList = orodha (serial.tools.list_ports.comports ())
Halafu inapita kwenye orodha hadi ipate CH340-chip, inaiokoa na kisha inaanzisha unganisho la serial baada ya kitanzi. Kumbuka, kwamba mapumziko ya kitanzi mara tu CH340 ya kwanza inapatikana.
kwa p katika kibinafsi. COMPortsList: ikiwa "CH340" katika p [1]: # Kutafuta Arduino Clone self. COMPort = p [0] kuvunja kingine: kupita self. Ser = serial. Serial (self. COMPort, 57600)
Uunganisho wa serial umeanzishwa na bandari ya COM na baudrate ya 57600.
Je! Nambari ya Arduino inafanya nini? Kweli, kwani Arduino ina Port-COM moja tu, unganisho la serial ni laini moja tu:
Serial. Kuanza (57600);
Sasa, tunaweza kutumia bandari zote mbili kuwasiliana. Kwa hali hii, ujumbe tu kutoka kwa chatu hadi Arduino. Ujumbe huo umetumwa hapa kutoka kwa chatu. Uunganisho wa serial hupitisha ka kama chaguo-msingi. Hiyo pia ni njia ya haraka zaidi ya kutuma data na kadiri ninavyojua pia bado imeenea sana. Kwa hivyo ints ya idadi ya servo (kwa hivyo Arduino anajua ni servo ipi inayoweza kusonga) na msimamo katika microsecond hubadilishwa kuwa ka.
Amri = muundo.
andika mwenyewe. >"
Pia, kuchanganua data kunachukua muda (kwa mfano kutafsiri ka nne "1", "2", "3" na "0" kama int 1230, sio kama chars nne tofauti) na ni bora kuifanya sio kwenye Arduino.
Kwenye upande wa Arduino, habari iliyotumwa huchukuliwa kama ifuatavyo:
ikiwa (Serial haipatikani ()> 1) {// Ikiwa data ya serial inapatikana, basi kitanzi kimeingizwa c = Serial.read (); // Baiti ya kwanza (idadi ya servo) imehifadhiwa kwa Micros = Serial.read (); // Msimamo wa servo umehifadhiwa hapa Micros = Micros * 10; }
Ilipendekeza:
Bodi ya MXY - Bodi ya Uchoraji wa chini ya Bajeti ya XY ya Bajeti: Hatua 8 (na Picha)
Bodi ya MXY - Bodi ya Robot ya Kuchora ya Bajeti ya chini ya Bajeti: Lengo langu lilikuwa kubuni bodi ya mXY kutengeneza bajeti ndogo mashine ya kuchora ya XY. Kwa hivyo nilibuni bodi ambayo inafanya iwe rahisi kwa wale ambao wanataka kufanya mradi huu. Katika mradi uliopita, wakati wa kutumia pcs 2 Nema17 stepper motors, bodi hii u
Bodi ya mkate ya Bodi ya Dev: Hatua 12 (na Picha)
Bodi ya Mkate wa Bodi ya Dev: Maagizo haya yanaonyesha jinsi ya kuunda ubao wa mikate uliotengenezwa maalum kwa bodi ya dev
Chanzo wazi Bodi ya mkate-Urafiki wa kawaida wa Neopixel Bodi ya kuzuka: Hatua 4 (na Picha)
Bodi ya kuzuka ya Chombo cha Mkate cha Burudani cha Rahisi cha Bodi ya Mkato: Hii inaweza kufundishwa ni juu ya bodi ndogo (8mm x 10mm) ya bodi ya kuzunguka kwa mkate wa LED za Neopixel ambazo zinaweza kushonwa na kuuziana, pia hutoa ugumu zaidi wa muundo kuliko nyembamba Ukanda wa LED katika hali ndogo zaidi ya fomu
Jinsi ya Kupanga Bodi ya AVR Kutumia Bodi ya Arduino: Hatua 6
Jinsi ya Kupanga Bodi ya AVR Kutumia Bodi ya Arduino: Je! Una bodi ya kudhibiti microcontroller ya AVR iliyowekwa kote? Je! Ni ngumu kuipanga? Kweli, uko mahali pazuri. Hapa, nitakuonyesha jinsi ya kupanga bodi ndogo ya Atmega8a kwa kutumia bodi ya Arduino Uno kama programu. Kwa hivyo bila furth
Bodi ndogo ya AVR na Bodi za Ziada: Hatua 7
Bodi ya Mini ya AVR iliyo na Bodi za Ziada: Sawa sawa na PIC 12f675 mini protoboard, lakini imepanuliwa na na bodi za ziada. Kutumia attiny2313