Проекты с использованием контроллера Arduino



Download 12,28 Mb.
Pdf ko'rish
bet203/215
Sana22.02.2022
Hajmi12,28 Mb.
#109180
1   ...   199   200   201   202   203   204   205   206   ...   215
Bog'liq
Petin V A - Proekty s ispolzovaniem kontrollera Arduino Elektronika 2014


Часть III. Практическое применение Arduino 
Mirf.spi = &MirfHardwareSpi; 
Mirf.init(); 
Mirf.setRADDR((byte *)"automobile1"); // Здесь задаем адрес 
Mirf.payload = MAX_BUFF; // Здесь задаем буфер 
Mirf.channel = 10; 
// Это канал приема-передачи - должен 
// быть одинаковым у устройств. 
Mirf.config(); 
// настраиваем выводы для моторов 
pinMode(3, OUTPUT); 
pinMode(4, OUTPUT); 
pinMode(5, OUTPUT); 
pinMode(6, OUTPUT); 
Serial.println("Start.."); 

char buff[MAX_BUFF]; 
void loop(){ 
delay(10); 
//receiving 
if(Mirf.dataReady()) { 
Mirf.getData((uint8_t *)buff); 
int fb1=buff[0]; 
int lr=buff[1]; 
go12(fb1,lr1); 

delay(100); 

// 
void go12(int fb,int lr) 

// вперед-назад 
if(fb>50) 
{digitalWrite(3,HIGH);digitalWrite(4,LOW); 
digitalWrite(5,HIGH);digitalWrite(6,LOW);} 
else if(fb<50) 
{digitalWrite(3,LOW);digitalWrite(4,HIGH); 
digitalWrite(5,LOW);digitalWrite(6,HIGH);} 
else 
{digitalWrite(3,LOW);digitalWrite(4,LOW); 
digitalWrite(5,LOW);digitalWrite(6,LOW);} 
// влево-вправо 
int lr1=map(abs(50-lr),1,50,1,255); 
int fb1=map(abs(50-fb),1,50,1,255); 


Глава 28. Работа Arduino с USB-устройствами 
379 
if(lr<50) 
{int left=min(255,max(0,fb1-lr1/2)); 
int right=min(255,fb1+lr1/2)} 
else 
{int right=min(255,max(0,fb1-lr1/2)); 
int left=min(255,fb1+lr1/2)} 
analogWrite(9, left); 
analogWrite(10, right); 

Полностью данные скетчи можно найти в папках 
examples/_28_1
и 
examples/_28_2
сопровождающего книгу электронного архива. 
28.6. Подключение к Arduino Android-устройства 
через USB Host Shield 
В 2011 г. корпорация Google представила стандарт Android Open Accessory (AOA), 
который обеспечивает взаимосвязь между внешними USB-устройствами (Arduino-
подобными платами и др.) и Android-устройством. Начиная с версии Android 3.1 
(поддержка AOA портирована и в Android 2.3.4) по замыслу Google все устройства 
должны поддерживать USB-соединение в режиме "accessory mode". В этом режиме 
подключенное устройство (к примеру плата Arduino) является хостом (в т. ч. питает 
шину 5 В/500 мА), а Android-устройство — периферией. 
Данная взаимосвязь между устройством на базе Android и Arduino-подобными пла-
тами открывает массу возможностей для разработчика и радиолюбителя: управле-
ние сервоприводами, двигателями, индикацией с Android-телефона, считывание 
состояния датчиков на Android-телефоне или планшете — таких, как гироскоп,
акселерометр, компас, GPS, передача данных через модуль GPRS/HDSPA планшета 
и многое другое. 


Г Л А В А
29 
Arduino и ROS 
29.1. Что такое ROS? 
ROS (Robot Operating System, операционная система для роботов) — это структура 
программной системы (фреймворк), предоставляющая функционал для распреде-
ленной работы по программированию роботов. ROS (под названием Switchyard) 
была первоначально разработана в 2007 году в Лаборатории искусственного интел-
лекта Стэнфордского университета. 
При разработке робота обычно приходится реализовывать свою архитектуру, свой 
протокол обмена сообщениями, драйвер пульта управления, логику навигации и пр. 
И даже если имеется возможность использовать для этих задач различные готовые 
библиотеки, то все равно остается серьезная проблема — объединить их для робота 
в единую систему. Разработчики ROS позиционируют свою систему именно как 
операционную — для программ взаимодействия и управления роботом ROS играет 
роль операционной системы, предоставляя программам управления свои интерфей-
сы, библиотеки и готовые приложения. ROS работает под уже готовой OC (Ubuntu 
Linux), в которой реализует свой дополнительный слой абстракции — конкретно 
для управления роботами. ROS обеспечивает стандартные службы операционной 
системы, такие как аппаратную абстракцию, низкоуровневый контроль устройств
реализацию часто используемых функций, передачу сообщений между процессами 
и управление пакетами. 
ROS развивается в двух направлениях: в качестве уже описанной здесь операцион-
ной системы и в виде поддерживаемых пользователями пакетов (ros-pkg), органи-
зованных в наборы (
стеки), реализующие различные функции робототехники. Так, 
ROS содержит вспомогательные библиотеки и приложения для роботов: преобра-
зование систем координат, утилиты для визуализации данных и распознавания объ-
ектов, стек навигации и многое другое. Реализованы для ROS и драйверы, позво-
ляющие единым образом работать со многими устройствами: джойстиками, уст-
ройствами GPS, камерами, лазерными дальномерами и пр. 
ROS основан на архитектуре 
графов, где обработка данных происходит в узлах, 
которые могут получать и передавать между собой сообщения (структурированные 


Download 12,28 Mb.

Do'stlaringiz bilan baham:
1   ...   199   200   201   202   203   204   205   206   ...   215




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish