Агуулгын хүснэгт:

Arduino дээр суурилсан Servo Servo Controller: 6 алхам
Arduino дээр суурилсан Servo Servo Controller: 6 алхам

Видео: Arduino дээр суурилсан Servo Servo Controller: 6 алхам

Видео: Arduino дээр суурилсан Servo Servo Controller: 6 алхам
Видео: MKS Robin Nano v2.0 - motherboard basics for 3d Printing 2024, Арваннэгдүгээр
Anonim
Arduino дээр суурилсан цуваа серво хянагч
Arduino дээр суурилсан цуваа серво хянагч
Arduino дээр суурилсан цуваа серво хянагч
Arduino дээр суурилсан цуваа серво хянагч

Энэ бол Arduino дээр суурилсан олон сервод зориулсан энгийн сериал хянагч юм. (миний анхны зааварчилгаа бас:))

Үүний ихэнх ажил нь програм хангамжийг arduino -той ярилцах, өгөгдлийг дамжуулах протокол гаргахтай холбоотой байв. Тоног төхөөрөмжийн хувьд миний ашигладаг бүх зүйл бол хоёр servo (Parallax стандарт servo энд.) Sparkfun Arduino ProtoShield ба ATMEGA328 бүхий Arduino Duemilanove байсан боловч эдгээр хэсгүүдийн ихэнхийг ижил төстэй зүйлээр орлуулж болно. Би энэ төслийг RC системийн нэг хэсэг гэж бодож үзсэн боловч харилцаа холбоог бий болгоход маш их цаг хугацаа шаардагдсан. Хэрэв хэн нэгэн ямар нэгэн сайжруулалт, санаа, алдаатай байвал сэтгэгдлээ чөлөөтэй үлдээнэ үү. EDIT: Би үүнийг хэсэг хугацааны өмнө бичсэн, саяхан хэвлэх ёстой байсан.

Алхам 1: Танд хэрэгтэй байж болох зүйлс …

Танд хэрэгтэй байж болох зүйлс…
Танд хэрэгтэй байж болох зүйлс…
Танд хэрэгтэй байж болох зүйлс…
Танд хэрэгтэй байж болох зүйлс…

Үүнийг бүтээхэд танд зарим зүйл хэрэгтэй болно. 1. Arduino самбар (таны сонгосон) 2. хоёр (эсвэл нэг) серво 3. холбогч утас 4. Visual Studio 2008 Express - холбоос (заавал биш) 5. Arduino IDE - холбоос Уучлаарай Линукс болон Apple фенүүд, миний програм зөвхөн ажилладаг Одоогоор цонх байгаа боловч та кодыг өөрчлөхгүйгээр arduino руу цуваа тушаалуудыг гараар илгээх боломжтой хэвээр байна.

Алхам 2: Тоног төхөөрөмжийг холбоно уу

Тоног төхөөрөмжийг холбоно уу
Тоног төхөөрөмжийг холбоно уу

Энэ алхамд тийм ч төвөгтэй зүйл байхгүй, нэг servo -ийг 9 -р зүү рүү, нөгөөхийг нь 10 -р зүүгээр холбоно уу.

Алхам 3: Arduino програмчлах

Arduino програмчлах
Arduino програмчлах

одоо та ноорогоо arduino дээр байршуулж болно.

Кодын энгийн задаргаа энд байна: #include Servo myservo; // servo -ийг удирдах servo объект үүсгэх Servo myservo1; int incomingByte = 0, datacount = 0, counter = 0, ready = 0; // ирж буй цуваа өгөгдлийн char өгөгдөлд [10]; const char verify [8] = "ma11hew"; char тушаал [3]; void setup () {myservo.attach (9); myservo1.attach (10); Цуваа эхлэх (38400); // цуваа портыг нээж, өгөгдлийн хурдыг тохируулдаг Serial.println ("Hi Arduino Here!"); // цуваа портыг танихад туслах зорилгоор нэмсэн Энэ нь зөвхөн цуваа порт болон servo -г тохируулдаг. int i; for (i = 0; i <180; i ++) {myservo.write (i); саатал (15); } myservo.write (5); for (i = 0; i <180; i ++) {myservo1.write (i); саатал (15); } myservo1.write (5); } Серво зөв ажиллаж байгаа эсэхийг шалгах энгийн шүүрдэх хөдөлгөөн. void loop () {бэлэн = 0; тоолуур = 0; while (1 == 1) {if (Serial.read ()! = verify [counter]) {завсарлага; } if (counter == 6) {delay (20); тушаал [0] = Serial.read (); тушаал [1] = Serial.read (); // хэрэв (Serial.read () == ((тушаал [1] * 12) % 8)) // {бэлэн = 1; //} Serial.println ("хадгалсан тушаал"); } тоолуур ++; саатал (2); } Энэ нь цуваа буферын зөв зөвшөөрлийн мөрийг шалгаж, дараа нь командын хувьд хоёр байтыг авдаг. Хэрэв мэдэгдэл нь түр зуурын шалгалт өгөх боломжийг олгодог боловч гарын авлагын интерфейсийг хүндрүүлэх болно гэж тайлбарлав. ready -ийг 0 болгож тохируулж болох тул өгөгдөл гэмтсэн тохиолдолд командыг задлахгүй. // командыг ашиглан хайлт хийх (бэлэн == 1) {if (тушаал [0] == 'T') {команд [0] = 0; Serial.print ("зүү 9 дээрх тохируулагчийн хяналт:"); Serial.println (газрын зураг (тушаал [1], 32, 126, 2, 180), DEC); myservo.write (газрын зураг (тушаал [1], 32, 126, 2, 180)); } if (command [0] == 'S') {command [0] = 0; Serial.print ("10 -р зүү дээрх тохируулагч хяналт:"); Serial.println (газрын зураг (тушаал [1], 32, 126, 2, 180), DEC); myservo1.write (газрын зураг (тушаал [1], 32, 126, 2, 180)); }}} кодын үлдсэн хэсэг нь хүчин төгөлдөр командуудыг хайх явдал юм. газрын зураг дээр илүү дэлгэрэнгүй (тушаал [1], 32, 126, 2, 180) дараа нь … энд байгаа кодыг өөр хэрэгцээтэй зүйлд (жишээ нь, гэрэл, мотор, IR гэх мэт) өргөтгөх боломжтой бөгөөд энэ код нь ажиллахгүй байх ёстой. өөрчлөлтүүд.

Алхам 4: Програм хангамжийг суулгана уу

Програм хангамж суулгах
Програм хангамж суулгах

Үүнийг суулгах хоёр арга надад байна … nsis суулгагч: Доорх өөрөө задлах суулгагчийг татаж аваад ажиллуулна уу. Суулгах явцад танд эх сурвалж суулгах боломжтой болно. суулгагч хоёртын багц нь үндсэн c ++ dll -ийг суулгадаг тул үүнийг харааны c ++ суулгаагүй компьютер дээр ажиллуулж болно. Суулгагч дууссаны дараа та үүнийг ширээний компьютер эсвэл эхлүүлэх цэснээс ажиллуулж болно. zip way (баталгаажаагүй): Татаж аваад ажиллуул, энэ нь ажиллах ёстой. магадгүй. (Зип архив нь эх сурвалжгүйгээр суулгагчийн үүсгэсэн ижил хавтасны бүтэцтэй байдаг. Надад харуулах студи байхгүй машин байхгүй тул ажиллахгүй байж магадгүй юм.)

Алхам 5: Интерфэйс програмыг ашиглана уу

Интерфэйс програмыг ашиглана уу
Интерфэйс програмыг ашиглана уу
Интерфэйс програмыг ашиглана уу
Интерфэйс програмыг ашиглана уу

Хөтөлбөрийг ашиглахын тулд эхлээд arduino ноорог дээр тодорхойлсон дамжуулах хурдыг сонгоно уу. Өөрчлөгдөөгүй ноорог нь үндсэндээ 38400 baud байх боловч удаан радио холбоос гэх мэт зүйлсийн хэрэгцээнд нийцүүлэн өөрчилж болно. Тэмдэглэл: 38400 -аас дээш хурдтай хурд нь тийм ч тогтвортой биш байсан тул энэ нь өгөгдлийг боловсруулахаас өмнө уарт дүүрсэнтэй холбоотой гэж би бодож байна. Дараа нь ашиглах COM портыг сонгоно уу. Хөтөлбөр нь анхдагчаар COM4 болж өөрчлөгддөг, эс тэгвээс програм сүйрэх болно. Эцэст нь нээх дээр дарна уу. Хэрэв бүх зүйл сайн болсон бол програм нь сонгосон цуваа портыг сонгосон дамжуулалтын хурдаар нээх болно. Үгүй бол програм нь зохицуулагдаагүй үл хамаарах зүйлээр сүйрэх болно. порт зөв эсэхийг шалгаад дахин оролдоно уу. Текст хайрцгийг ашиглан arduino руу шууд тушаалуудыг илгээнэ үү. "Газрын зураг (тушаал [1], 32, 126, 2, 180)" нь ASCII дахь arduino -ийн уншиж болох боломжтой 94 зай, * зай * -аас ~ хүртэлх бүх масштабыг массивын хувьд 2 -оос 180 хүртэл хэмждэг. ASCII 32 (зай) -аас бага эсвэл 126 (~) - с дээш ямар ч байт нь анхдагчаар 63 (?) байна. алхам бүр үе үе arduino руу цуваа команд илгээдэг.

Алхам 6: Бүтээлч сэтгэлгээтэй болоорой

Бүтээлч болох!
Бүтээлч болох!
Бүтээлч болох!
Бүтээлч болох!

Үүнтэй хамт хийх гайхалтай зүйлсийн талаар бодоорой. Зарим санаа: 1. Машины алсын тохируулагч. 2. 3D камер суурилуулах 3. усан доорх ровер Хөгжилтэй байгаарай !!

Зөвлөмж болгож буй: