Arduino UNO. Управление сервоприводом
Оценка 4.8

Arduino UNO. Управление сервоприводом

Оценка 4.8
Образовательные программы
docx
информатика
11 кл +1
22.10.2018
Arduino UNO. Управление сервоприводом
Сервопривод является очень важным элементом при конструировании роботов и радиоуправляемых моделей. Во втором уроке мы рассмотрим как при помощи Arduino UNO управлять сервоприводом. Программа очень проста и наглядна. Начинается она с подключения файла. Данный файл содержит все необходимые команды для управления серво, чтобы облегчить нам жизнь и не изобретать велосипед. Далее, мы должны создать обьект servo. Пусть это будет servoMain. Следующая функция будет setup(), в которой мы указываем, что сервопривод подключен к выводу 10 контроллера. Теперь все готово и мы можем посылать команды для управления серво. В главной функцииloop(), мы даем различные команды для серводвигателя, выдерживая паузы между командами.
8.3.1 Arduino UNO - Serial LCD.docx
«Роботты техника». 5­ші деңгей. 12 сабақ. Сабақтың тақырыбы: Arduino UNO. Serial LCD. Сабақтың ұзақтығы: 2 сағ. Arduino UNO. Serial LCD Өткен сабақта біз LCD­экранның Arduino­ға қосылуын қарастырдық.  Қолайсыздығы, 4­битті режимді іске қосқан кезде, Arduino­ның 7 сыртқа  шығарылған өткізгіші іске қосылады, ал 8­битті іске қосылған кезде, тіпті 11   сыртқа шығарылған өткізгіші іске қосылады. LCD қосылған кезде I/O Arduino  сыртқа шығарылған өткізгішінің санын қысқарту үшін тізбекті интерфейсті  Serial LCD деп аталатын  LCD әзірленді. I2C арқылы қосылған кезде өткізгіш  саны 4­еуге дейін қысқарады. eBay­де Serial LCD бүгінгі таңда орташа 10$ бағасы бойынша сатылуда,  оларды іздеу жолына Serial LCD, I2C LCD, Serial LCD Arduino, UART LCD  және т.б. сұратуларын енгізу арқылы табу айтарлықтай жеңіл. Егер бөлек  сатылатын адаптерлер болса. Негізгі көпшілікте, бұл, түбегейлі өзгерісті қамтамасыз ететін, теріс жағынан  орнатылған модулімен кеңінен таралған қытайлық 1602, JHD162A және т.б.  модулді LCD.  Әдеттегідей, модульдерде I2C интерфейске арналған 8 биттік  шина кеңейткіш түріндегі PCF8574T микросызба пайдаланылады. Жоғарыдағы суреттен байқалғандай, модульдің барлығы 4 сыртқа  шығарылған өткізгіші бар: GND, VCC, SDA, SCL. SDA (data) желісі Analog In  4 қосылады, ал SCL (clock) Analog In 5­ке. Әрине, 5В қуат көзі. Платада жарықандыруды қосуға арналған джампер, сондай­ақ кереғарлықты  реттеуге арналған потенциометр орналасқан. Бастапқы код: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include Wire.h  #include LiquidCrystal_I2C.h   LiquidCrystal_I2C lcd(0x27,16,2);  // 2 жолға (16х2) 0x27 адресін және  16 таңба дисплейді орнатамыз    int interval = 0;   void setup() {   lcd.init();                     //  LCD бастапқы жүктеу    lcd.backlight();                // жарықтандыруды іске қосамыз   lcd.clear();                    // дисплейді тазарту   lcd.setCursor(4, 0);            // меңзерді 1­жолға орнатамыз, 4 таңба   lcd.print("cxem.net");          // жазбаны шығару   lcd.setCursor(1, 1);            // меңзерді 2­жолға орнатамыз, 1 таңба   lcd.print("count:");     lcd.setCursor(8, 1);       // меңзерді 2­жолға орнатамыз, 8 таңба   lcd.print(interval); }   void loop() {   delay(500);   interval++;   lcd.setCursor(8, 1);   lcd.print(interval); } Кодты мен жақсылап түсіндіруге тырыстым, сол себепті, оның жұмысы  туралы сұрақтар туындамауы тиіс. Пайдаланушылық таңбаларды қалыптастыру Экранда пайдаланушылық таңбаларды шығаруға болады, оларды құру өте  қарапайым. Бір таңбаның көлемі көлденеңінен 5 пиксельді және тігінінен 7  пиксельді құрайды. Таңбаны құру үшін 5х7 тақтайшасын сызу және қажетті  торларды бояу қажет.  Оларға 1, ал бостарына 0 қоямыз. Содан соң қосарлы  пішімде жеті жолды қалыптастырамыз. Мысалы, «П» орыс әрпі: Бірінші жол толықтай боялған, яғни, қосарлы форматты бұл 11111.  Оналтылық пішімге ауыстырамыз және 1F аламыз. Барлық 7 жол үшін осылай. Екінші және кейінгі барлық жолдар да солай 10001 және 0x11. Бағдарламаның өзінде таңбаны құру үшін сіздер 7 элементтен тұратын  массивті бастапқы жүктеп аласыздар және оны қосарлы пішім ретінде де,  оналтылық пішім ретінде де жасай аласыздар. LCD­ге «ДӘНЕКЕРЛЕГІШ» жазбасын шығару үлігісін қарастырайықшы: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #include "Wire.h"  #include "LiquidCrystal_I2C.h"   uint8_t bukva_P[8] = {0x1F,0x11,0x11,0x11,0x11,0x11,0x11}; uint8_t bukva_Ya[8] = {   B01111,   B10001,   B10001,   B01111,   B00101,   B01001,   B10001 }; uint8_t bukva_L[8] = {0x3,0x7,0x5,0x5,0xD,0x9,0x19}; uint8_t bukva_Mz[8] = {0x10,0x10,0x10,0x1E,0x11,0x11,0x1E}; uint8_t bukva_I[8] = {0x11,0x13,0x13,0x15,0x19,0x19,0x11};   LiquidCrystal_I2C lcd(0x27,16,2);  // 2 жолға (16х2) 0x27 адресін және 16 таңба дисплейді орнатамыз    void setup() {   lcd.init();                      //  LCD бастапқы жүктеу    lcd.backlight();                 // жарықтандыруды іске қосамыз   lcd.clear();                     // дисплейді тазарту       lcd.createChar(0, bukva_P);      // таңбаны құрып, оны LCD жадына  жазамыз   lcd.createChar(1, bukva_Ya);   lcd.createChar(2, bukva_L);   lcd.createChar(3, bukva_Mz);   lcd.createChar(4, bukva_I);   lcd.home();   lcd.print(0, BYTE);              // таңбаны LCD жадында 0 адресі  бойынша көрсетеміз   lcd.print("A");   lcd.print(1, BYTE);   lcd.print(2, BYTE);     lcd.print(3, BYTE);   lcd.print("H"); 41 42 43 44 45   lcd.print(4, BYTE);   lcd.print("K");   }   void loop() {     } П, Л, Ь, И таңбаларын біз оналтылық мәнді массивпен тапсырдық. Ал Я  тапсырмасы қосмәнді массивпен тапсырылған LCD­ге шығару суреті:

Arduino UNO. Управление сервоприводом

Arduino UNO. Управление сервоприводом

Arduino UNO. Управление сервоприводом

Arduino UNO. Управление сервоприводом

Arduino UNO. Управление сервоприводом

Arduino UNO. Управление сервоприводом

Arduino UNO. Управление сервоприводом

Arduino UNO. Управление сервоприводом

Arduino UNO. Управление сервоприводом

Arduino UNO. Управление сервоприводом
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
22.10.2018