Site Language

Translate

Danish Dutch English French German

CashBack Реальный возврат при покупках в интернете

Основные версии плат Arduino

Due — плата на базе 32-битного ARM микропроцессора Cortex-M3 ARM SAM3U4E;

Leonardo — плата на микроконтроллере ATmega32U4;

Uno — самая популярная версия базовой платформы Arduino;

Duemilanove — плата на микроконтроллере ATmega168 или ATmega328;

Diecimila — версия базовой платформы Arduino USB;

Nano — компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B;

Mega ADK — версия платы Mega 2560 с поддержкой интерфейса USB-host для связи с телефонами на Android и другими устройствами с интерфейсом USB;

Mega2560 — плата на базе микроконтроллера ATmega2560 с использованием чипа ATMega8U2 для последовательного соединения по USB-порту;

Mega — версия серии Mega на базе микроконтроллера ATmega1280;

Arduino BT — платформа с модулем Bluetooth для беспроводной связи и программирования;

LilyPad — платформа, разработанная для переноски, может зашиваться в ткань;

Fio — платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки;

Mini — самая маленькая платформа Arduino;

Pro — платформа, разработанная для опытных пользователей, может являться частью большего проекта;

Pro Mini — как и платформа Pro, разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность.

CashBack Все честно и без обмана

Робот-паук на сервоприводах

Проект по созданию простейшего четвероногого робота-паука на сервоприводах. У робота будут два режима:

 

 автономный — робот движется вперед, при обнаружении препятствия (используется ультразвуковой датчик) поворачивается и движется дальше;

 внешнее управление с помощью ИК-пульта (вперед, назад, поворот влево, поворот вправо, остановка, засыпание).

 

Для проекта понадобятся 4 сервопривода.

 

Для сервоприводов требуется отдельное питание. В качестве источника питания взята литий-полимерная батарея Turnigy 2S 1600 mAh. Напряжение, выдаваемое батареей: 7,4–8,4 В. Поскольку для питания сервоприводов необходимо напряжение 4,8–6,0 В, применим стабилизатор напряжения 5 В, собранный на микросхеме L7805. Как выяснилось, одна микросхема постоянно перегревалась, проблема была решена установкой параллельно двух микросхем L7805.

Для обнаружения препятствий использован ультразвуковой датчик HC-SR04 , который позволяет определять расстояние до объекта в диапазоне от 2 до 500 см с точностью 0,3 см. Датчик излучает короткий ультразвуковой импульс (в момент времени 0), который отражается от объекта и принимается сенсором. Расстояние рассчитывается, исходя из времени до получения эха и скорости звука в воздухе. Если расстояние до препятствия меньше 10 см, робот делает поворот и движется дальше вперед.

В качестве пульта управления применен пульт ИК приемник ИК-сигналов — TSOP31238.

  Схема паука-робота
 Схема паука-робота

 

 Программа  для управления роботом-пауком

Для управления сервоприводами используется Arduino-библиотека Servo. Нам необходимо реализовать настройку сервоприводов для движения робота-паука вперед, назад, поворота по часовой стрелке и поворота против часовой стрелки, функции остановки робота, а также — для экономии электроэнергии — предусмотрим режим засыпания (когда сервоприводы находятся в режиме detach) и пробуждения (перевод сервоприводов в режим attach). Поэтому каждое движение робота состоит из нескольких шагов.

Например, движение вперед состоит из следующих шагов:

 левая передняя нога вперед;

 правая передняя нога вперед;

 левая задняя нога вперед;

 правая задняя нога вперед;

 четыре ноги вместе назад (что приведет к перетаскиванию тела робота-паука).

Данные для угла поворота каждого сервопривода на каждом шаге для каждого движения робота-паука хранятся в трехмерном массиве arr_pos .

 

int arr_pos[4][6][4]={

{ // forward

{90,90,90,90},{45,90,90,90},{45,135,90,90},

{45,135,45,90},{45,135,45,135},{135,45,135,45}

},

{ // back

{90,90,90,90},{90,90,90,45},{90,90,135,45},

{90,45,135,45},{135,45,135,45},{45,135,45,135}

},

{ // circle_left

{90,90,90,90},{0,90,90,90},{0,0,90,90},

{0,0,0,90},{0,0,0,0},{180,180,180,180}

},

{ // circle_right

{90,90,90,90},{180,90,90,90},{180,180,90,90},

{180,180,180,90},{180,180,180,180},{0,0,0,0}

}

};

int pos_stop[1][4]={{90,90,90,90}};

 

Процедура course(int variant) реализует перемещение сервоприводов для каждого шага следующих движений робота-паука: вперед, назад, поворота по часовой стрелке и поворота против часовой стрелки.

 

void course(int variant)

{int i=0;; for(i=1;i<6;i++)

{

if(arr_pos[variant-1][i][0]!=arr_pos[variant-1][i-1][0])

{myservo11.write(arr_pos[variant-1][i][0]);} if(arr_pos[variant-1][i][1]!=arr_pos[variant-1][i-1][1])

{myservo12.write(arr_pos[variant-1][i][1]);} if(arr_pos[variant-1][i][2]!=arr_pos[variant-1][i-1][2])

{myservo13.write(arr_pos[variant-1][i][2]);} if(arr_pos[variant-1][i][3]!=arr_pos[variant-1][i-1][3])

{myservo14.write(arr_pos[variant-1][i][3]);} delay(200);

}

}

 

Для остановки, засыпания и пробуждения робота-паука существует процедура go_hor_all().

 

void go_hor_all()

{

myservo11.write(pos_stop[0][0]);

myservo12.write(pos_stop[0][1]);

myservo13.write(pos_stop[0][2]);

myservo14.write(pos_stop[0][3]);

delay(500);

}

 

Реализуем простое ИК-управление с пульта. Выбираем семь клавиш, данные о кодах заносим в скетч в виде констант и в цикле loop() реализуем логику выбора движений робота-паука при нажатии клавиш ИК-пульта. Программа получения кода get_ir_kod() вызывается по прерыванию CHANGE на входе 2. Используется Arduino-библиотека IRremote.

К режиму управления робота с ИК-пульта добавим автономный режим. В автономном режиме робот будет двигаться вперед, при достижении препятствия делать поворот и опять двигаться вперед. Примененный ультразвуковой дальномер HC-SR04, как уже отмечалось, позволяет определять расстояние до объекта в диапазоне от 2 до 500 см с точностью 0,3 см. Короткий ультразвуковой импульс, излученный датчиком в момент времени 0, отражается от объекта и принимается сенсором. Расстояние рассчитывается, исходя из времени до получения отраженного эха и скорости звука в воздухе. Если расстояние до препятствия меньше 10 см, робот делает поворот и продолжает движение. Переход из режима ИК-управления в автономный режим осуществляется нажатием клавиш "желтая" и "синяя" на ИК- пульте.

 

Для работы с датчиком HC-SR04 используется Arduino-библиотека Ultrasonic

 

Sketch code

#include "Ultrasonic.h"

// trig -12, echo - 13

Ultrasonic ultrasonic(12, 13);

// коды клавиш ИК-пульта lg 6710v00090d

#define FORWARD 32 // pr +

#define BACK 33 // pr -

#define CIRCLE_LEFT 17 // vol-

#define CIRCLE_RIGHT 16 // vol+

#define STOP 54 // зеленая

#define SLEEP 55 // красная

#define AWAKE 37 // ок

#define EXT 50 // желтая

#define AUTO 52 // синяя

... .... .....

void loop()

{

delay(1000); if(ext==0)

{

float dist_cm = ultrasonic.Ranging(CM);

Serial.print("dist_cm=");Serial.println(dist_cm);

if(dist_cm<10.0)

ir_kod=CIRCLE_LEFT;

else ir_kod=FORWARD;

}

if(ir_kod!=0)

{

Serial.print("ir_kod=");Serial.println(ir_kod); switch(ir_kod)

{

case FORWARD : // вперед course(1); Serial.print("forward\n"); break;

case BACK : // назад course(2);

Serial.print("back\n"); break;

case CIRCLE_LEFT: // вращение влево course(3); Serial.print("circle_left\n"); break;

case CIRCLE_RIGHT : // вращение вправо Serial.print("circle_right\n"); course(4);

break;

case STOP : // остановка ir_kod=0; go_hor_all();

Serial.print("pause\n"); break;

case SLEEP : // засыпание ir_kod=0;

go_hor_all(); myservo11.detach();

myservo12.detach();

myservo13.detach();

myservo14.detach();

digitalWrite(13,LOW);

Serial.print("sleep\n");

break;

case AWAKE : // пробуждение ir_kod=0;

myservo11.attach(5);

myservo12.attach(6);

myservo13.attach(7);

myservo14.attach(8);

digitalWrite(13,HIGH);

go_hor_all();

Serial.print("awake\n");

break;

case AUTO : // режим автономный

//ir_kod=FORWARD; ext=0;

myservo11.attach(5);myservo12.attach(6);

myservo13.attach(7);myservo14.attach(8); Serial.print("auto\n");

break; default: break;

}

}

}

// получить код, переданный с ИК-пульта void get_ir_kod()

{

detachInterrupt(0); // отключить прерывание 0

if (irrecv.decode(&results))

{

if (results.value > 0 && results.value < 0xFFFFFFFF)

{

ir_dt = results.value; if(ir_dt==EXT && ext==0)

{ir_kod = SLEEP;ext=1;} else if(ext==1)

{

if(ir_dt==FORWARD || ir_dt==BACK || ir_dt==CIRCLE_LEFT

|| ir_dt==CIRCLE_RIGHT || ir_dt==STOP || ir_dt==SLEEP

|| ir_dt==AWAKE || ir_dt==AUTO ) ir_kod = ir_dt;

}

else

;

}

irrecv.resume();

}

attachInterrupt(0, get_ir_kod, CHANGE);

}

 

 

Плата расширения L293D, ИК-датчик VS1838B, TFT LCD, Модем M590E GSM GPRS, "монитор TFT LCD, датчик движения HC-SR501, ИК-пульт дистанционного управления, Радиомодуль NRF24L01, SD Card Module, Звуковой модуль, 5-axis stepper motor driver, Шаговый двигатель, Модем M590E GSM GPRS, 5-axis stepper motor driver, Часы реального времени DS 3231/DS 1307, терморегулятор W1209 DC, Релейный модуль, датчик движения HC-SR501, Модуль Wi-Fi ESP8266-12E, датчик движения HC-SR501, Передатчик и приемник в диапазоне RF 433 Mhz, Блок питания, L293D, Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, Датчики контроля температуры, Радиомодуль NRF24L01, OKI 120A2, Rotary Encoder, SD Card Module, Беспроводной пульт дистанционного управления, Микросхема контроллера коллекторного электродвигателя, Модуль Bluetooth HC-06,, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Mini 360 на схеме LM2596, MP3-TF-16P, L293D, Модуль LCD монитора, Инфракрасные датчики расстояния, Часы реального времени, USB Host Shield, HC-SR501, Cветочувствительный датчик сопротивления, блок питания Mini 360 на схеме LM2596, ЖК-дисплей TFT дисплей, Контроллер L298N, HC-SR501, Модуль MP3 Player WTV020, GSM GPRS, Сервоприводы, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Модуль Wi-Fi ESP8266-12E, Инфракрасные датчики расстояния, Card Module, Ультразвуковые дальномеры HC-SR04, Блок питания, Карта памяти SD, Mini 360, Ethernet shield, L293D, блок питания Mini 360 на схеме LM2596, Радиомодуль, датчик температуры DS18B20, ИК-пульт дистанционного управления, USB конвертер UART, ИК-пульт, Антена для модуля WiFi, Ethernet shield, Модуль блока питания XL6009, Микросхема контроллера коллекторного электродвигателя, Модуль качества воздуха MQ-135, Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, SD Card Module, Радиомодуль NRF24L01, двигатель OKI, 5-axis stepper motor driver, L293D, TB6560, Драйвер шагового двигателя TB6600, Шаговый двигатель, Модуль камеры, Блок питания, L293D, блок питания Mini 360 на схеме LM2596, 5axis mach3 interface, Карта памяти SD, Ethernet shield, Контроллер L298N, датчик движения HC-SR501, Модуль Wi-Fi ESP8266-12E, Модуль LCD монитора LCD1602, Шаговый двигатель OKI 120A2, Шаговый двигатель, Шаговый двигатель.

РУБИКОН Группа «Мозаика», ИЕРОГЛИФ ГРУППА «ПИКНИК», В ПОЛЁТ ГРУППА «ТЯЖЕЛЫЙ ДЕНЬ», Группа «Алиса», Бенни Гудмен, Равноденствие ГРУППА «АКВАРИУМ», Элтон Джон Твоя песня, Демон Группа «Август», Deep Purple – The House Of Blue Light, «Лед Зеппелин» Led Zeppelin, «Акцепт», Doors, «Металлика», АНСАМБЛЬ „UB 40", группа «Зоопарк», рок-группа «ЗОДИАК», «Браво», «Кино», Rolling Stones «Роллинг стоунз», РОК-ГРУППА «МАШИНА ВРЕМЕНИ»,«Кокто твинз», Группа «ДИАЛОГ», Bill Evans, Джимми Лансфорд, Флетчера Хендерсона, Дюк Эллингтон, Каунт Бейси, АНСАМБЛЬ "THE MOODY BLUES", Элвис Пресли, "Юнона" и "Авось" , Дж. Верди Реквием G.Verdi Requiem Mass, Элтон Джон, Реджинальд Кеннет Дуайт, АББА, ABBA, “Deep Purple”, «ЧЕЛОВЕК С БУЛЬВАРА КАПУЦИНОВ», “Rolling Stone”, Instrumrutal rock group Zodiac,‘‘Long Tall Ernie and The Shakers”, “The Beatles”, "Tom Fcgerty and The Blue Velvets", "Creedruce Clearwater Revival","Greru River" "Bayou Country", "Willy and The Poorboys", Varnishing Day Songs on Ilya Reznik's lirics , Leo Sayer ЛЕО СЕЙЕР, Boney M,"Waiting For The Sun", Doors «ДОРЗ», "Piper At The Gates Of Dawn", Led Zeppelin ? «ЛЕД ЗЕППЕЛИН», Rolling Stones , "Юнона" и "Авось" Опера Либретто, «РОЛЛИНГ СТОУНЗ», Modern talking,"Aftermath", «ДОМ ГОЛУБОГО СВЕТА», "Out Of Our Heads", Ricchi E Poveri, PINK FLOYD «Пинк Флойд», Vladimir Kuzmin, ПОЛ МАККАРТНИ Paul McCartney, «TWruTY FLIGHT ROCK», Creedruce Clearvater revival Traveling band,«LAWDY. MISS CLAWDY», «BRING IT ON HOME TO ME», Light My Fire,«DON'T GET AROUND MUCH ANY MORE», МУЗЫКАЛЬНЫЙ ТЕЛЕТАЙП-3,«I'М GONNA BE A WHEEL SOME DAY», МОДЕРН ТОКИНГ,«AINT THAT A SHAME», «THAT'S ALL RIGHT (МАМА)», АНСАМБЛЬ UB 40, «JUST BECAUSE», МИГЕЛЬ РАМОС, «SUMMERTIME», "АНСАМБЛЬ "THE MOODY BLUES", «CRACKIN UP», ТНЕ СОММОDORES, «MIDNIGHT SPECIAL», АННА ГEРМАН, Deep Purple «ДИП ПЁРПЛ», „Deep Purple in Rock", Андрей Миронов, Олег Табаков, Михаил Боярский, Николай Караченцов, Альберт Филозов, Олег Анофриев, Игорь Кваша, Леонид Ярмольник, ИЛЬЯ РЕЗНИК , Резанов Николай Петрович, ВЛАДИМИР ВЫСОЦКИЙ, Роджер Уотерс, АЛЕКСАНДР РОЗЕНБАУМ, Ричард Райт и Ник Мэйсон, ВЛАДИМИР КУЗЬМИН, Элвис Аарон Пресли, Leo Sayer, АДРИАНО ЧЕЛЕНТАНО, Билл Эванс, Клаудия Мори....

и это еще не конец.

С уваженим Dron!