Часть III. Практическое применение Arduino
Листинг 29.3
// подключить библиотеку LiquidCrystal
#include
// создание экземпляра объекта LiquidCrystal
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// rosserial
#include
#include
#include
ros::NodeHandle nh;
void messageCb( const std_msgs::Float32& toggle_msg){
digitalWrite(13, HIGH-digitalRead(13)); // blink the led
lcd.setCursor(0, 0);
lcd.print("Temp=");
lcd.setCursor(0, 1);
lcd.print(toggle_msg.data);}
ros::Subscriber sub("temperature", &messageCb );
void setup() {
lcd.begin(8, 2);
pinMode(13, OUTPUT);
nh.initNode();
nh.subscribe(sub);
}
void loop() {
nh.spinOnce();
delay(1000);
}
Данный скетч находится в папке
examples/_29_03
сопровождающего книгу элек-
тронного архива.
Теперь посмотрим, как реализовать передачу в ROS. Запустить два узла
serial_node
с одним именем не получится. Одна из особенностей ROS состоит
в том, что вы можете переназначить имена (
Names
) узлов из командной строки:
$ rosrun rosserial_python serial_node.py /dev/ttyUSB0 __name:=serial1
$ rosrun rosserial_python serial_node.py /dev/ttyACM0 __name:=serial2
Теперь посмотрим список активных узлов командой
rosnode_list
:
/rosout
/serial1
/serial2
А командой
rxgraph
посмотрим узлы и темы (рис. 29.4). При этом показания темпе-
ратуры отображаются на дисплее WH0802.
Глава 29. Arduino и ROS
391
Рис. 29.4. Утилита
rxgraph
— cписок активных узлов и тем
Г Л А В А
30
Arduino и "умный дом" X10
Услышав словосочетание "умный дом", мы тут же представляем себе роскошный
особняк миллионера, в котором холодильник заказывает продукты через Интернет,
ужин разогревается сам, комнаты реагируют включением освещения на любое сло-
во или взмах руки, а сам дом охраняется и контролируется удаленно. Тем не менее,
если не гнаться за подобной фантастикой, вполне реально устроить в своей кварти-
ре филиал "умного дома". И конечно же, рассмотрим применение Arduino в этом
деле.
30.1. Система домашней автоматизации X10
Существует несколько стандартов домашней автоматизации. Самой первой систе-
мой домашней автоматизации является X10, которая использует для передачи дан-
ных метод частотного уплотнения в обычной электросети квартиры. Плюсы данной
технологии:
легка в установке;
никаких дополнительных проводов в квартире;
распространенный стандарт, много исполнительных элементов;
система может управляться дистанционно;
система может программироваться;
относительно низкая стоимость и простота компонентов;
не требует дополнительного электропитания.
В системе X10 есть два основных компонента:
модуль — принимает сигналы от X10-трансивера через электропроводку и
управляет устройством, подключенным к нему;
контроллер — посылает сигналы модулям.
Модули бывают разными. На рис. 30.1 показан стандартный модуль для управле-
ния светом. Модули также могут быть вмонтированы в электропроводку или
встроены в прибор.
Do'stlaringiz bilan baham: |