Агуулгын хүснэгт:
- Алхам 1: Танд хэрэгтэй зүйл…
- Алхам 2: Самбарыг гагнах
- Алхам 3: Arduino -г тохируулах
- Алхам 4: Python -ийг тохируулах
- Алхам 5: Ид шид хаана тохиолддог
Видео: Python-GUI ба Arduino-тэй серводрайвер самбар: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Прототип хийх эсвэл загвар нисэх онгоц хийхдээ ихэвчлэн servo аяллыг шалгах эсвэл servos -ийг дунд байрлалд байрлуулах шаардлагатай болдог.
Хэрэв та RC систем эсвэл туршилтаа бүхэлд нь бүтээхгүй бол servo-ийг хэр зэрэг түлхэх эсвэл дунд байрлал хаана байгаа бол энэ самбар танд зориулагдсан болно! Энэ нь servo -ийг тогтоосон байрлалд шилжүүлэх, эсвэл нааш цааш аялах боломжийг олгодог.
Энэ нь нэг байрлалаас нөгөө байрлалд уралддаг 6 servo ч гэсэн гайхалтай сайн ажилладаг.
Түүнчлэн, Python-GUI ба Arduino хоёрын хооронд Serial ашиглан харилцах талаар суралцах сайхан төсөл юм.
Алхам 1: Танд хэрэгтэй зүйл…
Энэ төслийн хувьд танд дараахь зүйлс хэрэгтэй болно.
Техник хангамж
- Ардуино нано кабельтай. Би клон ашигласан бөгөөд Python код нь CH340 чипийг клон хүлээж байна
- Прототип хийх самбар. 7х5см хангалттай
- Зарим 2, 54 мм -ийн толгой ба зүү
- 1-6 servo
- Сервүүдийн цахилгаан хангамж (би 4 батерейтай баттерей ашигласан)
Програм хангамж
- Python 3:
- CH340 чипсэд зориулсан USB драйвер: CH340 драйверуудын драйверуудыг зүгээр л google дээр ашиглаарай
- Arduino IDE:
Алхам 2: Самбарыг гагнах
Зураг дээрх Fritzing -ийн дагуу гагнуур нь шууд урагшаа чиглэсэн байдаг. Сервүүдийг 3 зүү эгнээнд амархан залгах боломжтой эсэхийг шалгаарай.
- 3 зүү бүхий мөрүүдийг Arduino нано дижитал зүү 3, 5, 6, 9, 10, 11-д хавсаргасан болно.
- Улаан утас нь Arduino-ийн 5V-зүүтэй холбогдсон байна
- Хар утас нь Arduino-ийн GND зүүтэй холбогдсон байна
- 3 зүү бүхий эгнээний доор байрлах хос зүү нь ердийн RC хүлээн авагчийн цахилгаан тэжээлийг холбох зориулалттай бөгөөд та терминал, XT-холбогч, JST эсвэл… эсвэл… гэх мэт холбогчийг хүссэнээрээ нэмж болно.
Би хувьдаа Arduino -г оруулахын тулд эмэгтэй толгойн эгнээний эгнээнд дуртай байдаг, гэхдээ энэ нь чиний л асуудал.
Богино холбосон эмэгтэй толгойнууд нь холбогч бөгөөд туршилтын зориулалтаар Arduino-ийн 5V эх үүсвэрийг ашиглан серво нийлүүлэх боломжийг олгодог. Хэрэв та үүнийг хэт их ачаалах юм бол Arduino дахин тохируулж, зөв хурдыг нь алдах болно. Өөр тэжээлийн хангамжийг холбохын өмнө тэдгээрийг зайлуулах ёстой.
Алхам 3: Arduino -г тохируулах
Arduino IDE -ийг суулгаж, Arduino наног хавсаргасан ноорогоор нь асаана уу.
Алхам 4: Python -ийг тохируулах
Татаж авсны дараа Python 3 -ийг суулгана уу. "PATH" хувьсагч үүсгэх сонголтыг шалгаарай.
Та pip ашиглан өөр хоёр багцыг суулгах хэрэгтэй. Үүнийг хийхийн тулд "Windows" товчлуурыг дараад "cmd" гэж бичээд "enter" дарна уу. Тушаалын мөрөнд дараах тушаалуудыг бичнэ үү.
- pip цуваа суулгах
- piip pyserial суулгах
- tkinter -ийг pip суулгах
Таны харж байгаагаар надад сериал модуль болон pyserial хэрэгтэй бөгөөд энэ нь хамгийн үр дүнтэй биш байх болно, учир нь pyserial нь цувралыг орлох ёстой. Гэсэн хэдий ч энэ нь ажилладаг бөгөөд би дөнгөж сурч байна;).
Python-Script-ийг IDE дээр нээгээд ажиллуул эсвэл терминалаас шууд ажиллуулна уу.
Унтраах цэсэнд та "Шулуун явах" ба "Ширээний теннис" гэсэн хоёр горимыг сонгох боломжтой.
- Шулуун явах: Серво-байрлалыг микросекундээр эхний баганад оруулаад "Эхлүүлэх" дээр дарж servo-ийг заасан байрлал руу шилжүүлнэ.
- Ширээний теннис: Хоёр, гурав дахь баганад доод хил, дээд хязгаарыг оруулна уу. Энэ бол доод ба дээд байрлал бөгөөд тэдгээрийн хооронд servo буцаж, нааш цааш явах болно. "Ширээний теннисний цаг" баганад сервис дээд эсвэл доод байрлалд хүрэхэд хүлээх хугацааг миллисекундээр зааж өгч болно. "Эхлүүлэх" товчийг дарахад servo нааш цааш хөдөлж эхлэх бөгөөд "Stop" товчлуурыг дарахад servo зогсох болно.
Алхам 5: Ид шид хаана тохиолддог
Эцэст нь хэлэхэд, Python болон Arduino -ийн хооронд бага зэрэг цуваа холбоо тогтоохыг хүссэн хүмүүст зориулсан кодын зарим нарийн ширийн зүйлийг тодруулахыг хүсч байна.
Одоо Python програм дээр юу болох вэ?
Нэгдүгээрт, програм нь энэ мөрөнд байгаа COM портуудад хавсаргасан зүйлийг шалгаж, жагсаалтад хадгална.
self. COMPortsList = жагсаалт (serial.tools.list_ports.comports ())
Дараа нь тэр алдартай CH340 чипийг олж, хадгалаад дараа нь давталтын дараа цуваа холболт хийх хүртэл жагсаалтыг тойрон гарна. Эхний CH340-ийг олсон даруйд давталт тасардаг болохыг анхаарна уу.
for in in.
Цуваа холболтыг 57600 бауд хурдтай COM-порттой холбосон.
Тэгээд Arduino код юу хийдэг вэ? Arduino нь зөвхөн нэг COM порттой тул цуваа холболт нь зөвхөн нэг мөр юм.
Цуваа.begin (57600);
Одоо бид хоёр портыг ашиглан харилцах боломжтой боллоо. Энэ тохиолдолд зөвхөн Python -аас Arduino руу мессеж илгээдэг. Мессежүүдийг энд Python -ээс илгээдэг. Цуваа холболт нь байтыг анхдагч байдлаар дамжуулдаг. Энэ бол өгөгдөл илгээх хамгийн хурдан арга бөгөөд миний мэдэж байгаагаар нэлээд өргөн тархсан хэвээр байна. Тиймээс servo -ийн тоонууд (ингэснээр Arduino аль servo шилжихийг мэддэг) ба микросекунд дахь байрлалыг байт болгон хувиргадаг.
Command = struct.pack ('> B', self. Place) # "self. Place" int хувьсагчийг байт болгон хувиргадаг
self. Ser.write (Command) # Цуваа порт порт дээр байт бичих = int (self. ServoPos.get ()) // 10 # Талбараас оролтыг уншиж, int Command = struct.pack (' > B ', Command) # int байтыг өөртөө эргүүлэх. Ser.write (Command) # Цуваа порт дээр байт бичих
Түүнчлэн өгөгдлийг задлан шинжлэхэд цаг хугацаа шаардагддаг (жишээлбэл дөрвөн байтыг "1", "2", "3" ба "0" -ийг дөрвөн өөр тэмдэгт биш int 1230 гэж тайлбарлах), үүнийг Arduino дээр хийхгүй байх нь дээр.
Arduino талд илгээсэн мэдээллийг дараах байдлаар авна.
if (Serial.available ()> 1) {// Хэрэв цуваа өгөгдөл байгаа бол давталтыг оруулна c = Serial.read (); // Эхний байт (servo тоо) нь Micros = Serial.read () хувьсагчид хадгалагдана; // Сервогийн байрлалыг энд хадгална Micros = Micros * 10; }
Зөвлөмж болгож буй:
Arduino LTC6804 BMS - 2 -р хэсэг: Тэнцвэрийн самбар: 5 алхам
Arduino LTC6804 BMS - 2 -р хэсэг: Тэнцвэрийн самбар: 1 -р хэсэг энд байна Зайны удирдлагын систем (BMS) нь үүрний хүчдэл, батерейны гүйдэл, эсийн температур гэх мэт батерейны чухал параметрүүдийг мэдрэх функцийг агуулдаг. тодорхойлсон хүрээ, багцыг диско хийх боломжтой
Спот гагнуурчин 1-2-3 Arduino хэвлэмэл хэлхээний самбар: 4 алхам
Спот гагнуурчин 1-2-3 Arduino хэвлэмэл хэлхээний самбар: Хэсэг хугацааны өмнө би зааварчилгаа бичиж, спот гагнуурчинг Arduino болон түгээмэл хэрэглэгддэг эд ангиудыг ашиглан хэрхэн нарийн зохицуулах талаар тайлбарласан. Олон хүмүүс хяналтын хэлхээг бүтээсэн бөгөөд надад нэлээд урам зориг өгсөн санал ирсэн. Энэ бол
Дэлхийн газрын зураг дээрх COVID19 хяналтын самбар (Python ашиглан): 16 алхам
Дэлхийн газрын зураг дээрх COVID19 хяналтын самбар (Python ашиглан): Би бараг бүгдээрээ COVID19-ийн талаархи ихэнх мэдээллийг мэддэг бөгөөд энэ заавар нь дэлхийн газрын зураг дээрх бодит цагийн мэдээллийг (тохиолдлуудыг) гаргахын тулд хөөс зураг үүсгэх тухай юм. , би програмыг Github репозиторт нэмсэн: https: //github.co
K210 самбар болон Arduino IDE/Micropython ашиглан зураг таних: 6 алхам (зурагтай)
K210 самбар, Arduino IDE/Micropython ашиглан зураг таних: Би Sipeed Maix Bit дээр OpenMV демо програмыг хэрхэн ажиллуулах талаар нэг нийтлэл бичсэн бөгөөд энэ самбараар объект илрүүлэх демо видео хийсэн. Хүмүүсийн асуусан олон асуултуудын нэг бол мэдрэлийн сүлжээ биш гэдгийг би яаж таних вэ?
Arduino дууны самбар: 5 алхам
Arduino Sound Board: Энэ бол Arduino дууны самбарын туршилт юм. Идэвхгүй дуугаралт хэрхэн ажилладаг, энэ туршилтаар энгийн Arduino дууны самбар хэрхэн бүтээхийг та ойлгох болно. Зарим товчлуурыг ашиглан тохирох аяыг сонгосноор та аялгуу үүсгэх боломжтой!來源: