Мазмуну:
- 1 -кадам: Сизге керектүү нерселер…
- 2 -кадам: Аппаратты туташтыруу
- 3 -кадам: Arduino программасы
- 4 -кадам: Программаны орнотуңуз
- 5 -кадам: Interface программасын колдонуу
- 6 -кадам: Чыгармачыл болуңуз
Video: Arduino негизделген Servo Servo Controller: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:43
Бул Arduino негизинде бир нече servo үчүн жөнөкөй сериялык контролеру. (Менин да биринчи көрсөтмөм:))
Бул иштин көбү программалык камсыздоону arduino менен сүйлөшүүгө алуудан жана берилиштер үчүн протокол түзүүдөн келип чыккан. Аппараттык аспектиге келсек, мен колдонгон эки сервос (Parallax стандарттуу сервосу бул жерде.) Sparkfun Arduino ProtoShield жана ATMEGA328 менен Arduino Duemilanove болгон, бирок бул бөлүктөрдүн көбү окшош нерселер менен алмаштырылышы мүмкүн. Мен бул долбоорду RC системасынын бир бөлүгү катары ойлодум, бирок байланышты орнотуу көп убакытты талап кылды. Кимде кандайдыр бир жакшыртуулар, идеялар же мүчүлүштүктөр болсо, комментарий жазуудан тартынба. ТҮЗӨТҮҮ: Мен муну бир аз мурун жазгам, жакында эле жарыялоого туура келди.
1 -кадам: Сизге керектүү нерселер…
Муну куруу үчүн сизге кээ бир нерселер керек болот. 1. Arduino тактасы (сиз тандайсыз) 2. эки (же бир) сервос 3. секирүүчү зымдар 4. Visual Studio 2008 Express - шилтеме (милдеттүү эмес) 5. Arduino IDE - шилтеме Кечиресиз Linux жана Apple күйөрмандары, менин программам гана иштейт азырынча терезелер, бирок сиз кодду өзгөртпөстөн дагы эле ардуиного сериялык буйруктарды жөнөтө аласыз.
2 -кадам: Аппаратты туташтыруу
Бул кадамга өтө татаал эч нерсе жок. Бир сервону 9 -пинге, экинчисин 10 -пинге туташтырыңыз.
3 -кадам: Arduino программасы
Эми сиз эскизди arduinoго жүктөй аласыз.
Бул жерде коддун жөнөкөй бөлүнүшү: #include Servo myservo; // сервоприёмникти башкаруу үчүн servo объектти түзүү Servo myservo1; int incomingByte = 0, datacount = 0, counter = 0, даяр = 0; // кирүүчү сериялык маалыматтардын char маалыматтары үчүн [10]; const char verify [8] = "ma11hew"; char буйругу [3]; void setup () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // сериялык портту ачат, Serial.println маалымат ылдамдыгын коет ("Hi Arduino Here!"); // сериялык портту аныктоого жардам берүү үчүн кошулду Бул жөн гана сериялык портту жана серверлерди орнотот. 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 () {ready = 0; counter = 0; while (1 == 1) {if (Serial.read ()! = verify [counter]) {break; } if (counter == 6) {delay (20); команда [0] = Serial.read (); команда [1] = Serial.read (); // if (Serial.read () == ((command [1] * 12) % 8)) // {даяр = 1; //} Serial.println ("сакталган буйрук"); } counter ++; кечигүү (2); } бул сериялык буфердин туура авторизация сабын текшерет, андан кийин команда үчүн эки байтты кармайт. комментарийленди, эгерде билдирүү убактылуу текшерүүгө мүмкүндүк берсе, бирок кол менен интерфейсти кыйындатат. даярды 0 деп койсо болот, андыктан буйруктар талданбайт, мисалы, бузулган маалыматтар сыяктуу. // командалар аркылуу издөө if (ready == 1) {if (command [0] == 'T') {command [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)); }}} коддун калган бөлүгү жарактуу буйруктарды издөө үчүн болуп саналат (T же S), эгерде дал келүү кийинки байтты алат жана аны сервого жөнөтөт. картада дагы (буйрук [1], 32, 126, 2, 180) кийинчерээк … бул жердеги код сизге керектүү нерселердин баарына кеңейтилет (мисалы, жарыктар, моторлор, ИК ж. б.) өзгөртүүлөр.
4 -кадам: Программаны орнотуңуз
Менде муну орнотуунун эки жолу бар … nsis орноткучу: Төмөндөгү өзүнөн өзү ачылуучу орнотуучуну жүктөп алып, иштетиңиз. Сиз орнотуу учурунда булактарды орнотуу мүмкүнчүлүгүнө ээ болосуз. орнотуучу бинардык пакет негизги c ++ dllsин орнотот, андыктан ал көргөзмө c ++ жок эле компьютерде иштетилиши мүмкүн. Орнотуучу аяктагандан кийин, аны рабочий столунан же баштоо менюсунан иштете аласыз. zip жолу (текшерилбеген): Жүктөө жана иштетүү, ал иштеши керек. болушу мүмкүн. (ZIP архивинде булактары жок эле орнотуучу түзгөн папка структурасы бар. Менде аны текшерүү үчүн визуалдык студиясы жок машина жок. Ал иштебеши мүмкүн.)
5 -кадам: Interface программасын колдонуу
Программаны колдонуу үчүн адегенде arduino эскизинде аныкталган ылдамдыкты тандаңыз. Өзгөртүлбөгөн эскиз демейки боюнча 38400 bod, бирок жайыраак радио шилтемеси сыяктуу нерселерге болгон муктаждыгыңызга жараша өзгөртүлүшү мүмкүн. Эскертүү: 38400дөн жогору болгон baud ставкалары анча туруктуу болгон жок, менимче, бул маалымат иштетиле электе UART толуп кетет. Андан кийин, колдонуу үчүн COM портун тандаңыз. программа демейки COM4 үчүн аны өзгөртүүнү унутпаңыз, болбосо программа бузулат. Акырында, ачууну басыңыз. Эгерде баары ойдогудай болсо, программа тандалган сериялык портту тандалган ылдамдыкта ачат. Болбосо, программа иштетилбеген өзгөчө учурлар менен бузулат. порт туура экенин текшерип, кайра аракет кылыңыз. Arduino түз буйруктарды жөнөтүү үчүн текст кутучаларын колдонуңуз. "Карта (буйрук [1], 32, 126, 2, 180)" ASCIIдеги arduino тарабынан окула турган 94 мүмкүн болгон бардык буйруктарды, * боштукту * ~ чейин масштабдайт. кандайдыр бир байт ASCII 32ден (боштуктан) же 126дан жогору (~) 63кө чейин (?) Трек тилкелери түз буйруктар үчүн eaiser интерфейсин камсыз кылат. ар бир кадам ардуиного ырааттуу буйрук жөнөтөт.
6 -кадам: Чыгармачыл болуңуз
Муну менен сонун нерселерди ойлонуп көрүңүз. Кээ бир ойлор: 1. Машинанын дистанциялык дроссели. 2. 3D камерага орнотуу 3. суу астындагы ровер Көңүл ачыңыз !!
Сунушталууда:
Arduino браузерине негизделген алыстан башкаруу (linux): 9 кадам (сүрөттөр менен)
Arduino браузерине негизделген алыстан башкаруу (linux): Бизде балдар бар. Мен аларды жакшы көрөм, бирок алар балдардын каналдарын кошкондо спутниктин жана сыналгынын пультун жашырышат. Бул бир нече жыл бою күн сайын болуп өткөндөн кийин, жана менин сүйүктүү аялым мага уруксат бергенден кийин
Arduino негизделген DIY оюн контролери - Arduino PS2 оюн контроллери - DIY Arduino Gamepad менен Tekken ойноо: 7 кадам
Arduino негизделген DIY оюн контролери | Arduino PS2 оюн контроллери | DIY Arduino Gamepad менен Tekken ойноо: Саламатсыздарбы балдар, оюндарды ойноо ар дайым кызыктуу, бирок өзүңүздүн DIY колдонмо оюнуңузду башкаруучу менен ойноо алда канча кызыктуу. Ошентип, биз бул инструкцияларда arduino pro micro колдонуп оюн контроллерин жасайбыз
Ардуиного негизделген байланышсыз инфракызыл термометр - IR негизделген термометр Arduino колдонуу: 4 кадам
Ардуиного негизделген байланышсыз инфракызыл термометр | IR негизделген термометр Arduino колдонуу: Салам балдар бул көрсөтмөлөрдө биз ардуинону колдонобуз. ошол сахнада температура
Аба ырайына негизделген музыка генератору (ESP8266 негизделген Midi генератору): 4 кадам (сүрөттөр менен)
Аба ырайына негизделген музыка генератору (ESP8266 негизделген Midi генератору): Саламатсызбы, мен бүгүн өзүңүздүн кичинекей аба ырайына негизделген музыкалык генераторду кантип жасоону түшүндүрүп берем. жана жарыктын интенсивдүүлүгү. Бул бүтүндөй ырларды же аккорд программасын түзөт деп күтпөңүз
Arduino негизделген гуманоид робот Servo моторлорду колдонуп: 7 кадам (сүрөттөр менен)
Arduino негизделген гуманоид роботу Servo Motors колдонуп: Саламатсыздарбы, бул PVC көбүк баракчасынан жасалган менин биринчи гуманоид роботум. Ал ар кандай калыңдыкта жеткиликтүү. Бул жерде мен 0,5мм колдондум. Учурда бул робот мен күйгүзүлгөндө жөн эле баса алат. Азыр мен Bluetooth аркылуу Arduino менен Мобилди туташтыруунун үстүндө иштеп жатам