Для детской игры мне нужен светофор с радио управлением. У меня уже есть Z-Wave контроллер RaZberry, поэтому и светофор я решил сделать с управлением по Z-Wave. Суть проста: 4 разноцветные лампочки управляются с помощью 4-х реле (четвертая — синяя, режим турбо).
Для разработки своего Z-Wave устройства с 4-мя реле я выбрал плату Z-UNO второй версии, которая стала более компактная.
Программирование и заливка прошивки осуществляются в Arduino IDE. Для работы с Z-Wave к синтаксису Arduino добавлены специфичные Z-Wave функции.
Модули реле используются 5 вольтовые, управляемые оптопарой PC817C (datasheet), подключены к ножкам 9,10,11,12. Стоит обратить внимание, что максимальный ток проходящий через ножку Z-UNO может быть не более 8мА, поэтому ограничиваем ток резистором на 220Ом.
Скетч пишется на Си с возможностью использовать Arduino функции и специфичные Z-Wave вызовы.
*
* 4 Relays controlled thouth resistors 220Omh and optocouplers 817С
* Off — HIGH
* On — LOW
*/
// Pins definitions
#define LedPin1 9
#define LedPin2 10
#define LedPin3 11
#define LedPin4 12
// Global variables to store data reported via getters
byte switchValue1 = 1;
byte switchValue2 = 1;
byte switchValue3 = 1;
byte switchValue4 = 1;
ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_ALWAYS_AWAKE);
// Set up 10 channels
ZUNO_SETUP_CHANNELS(
ZUNO_SWITCH_BINARY(getterSwitch1, setterSwitch1),
ZUNO_SWITCH_BINARY(getterSwitch2, setterSwitch2),
ZUNO_SWITCH_BINARY(getterSwitch3, setterSwitch3),
ZUNO_SWITCH_BINARY(getterSwitch4, setterSwitch4)
);
void setup() {
// set up I/O pins. Analog and PWM will be automatically set up on analogRead/analogWrite functions call
pinMode(LedPin1, OUTPUT);
pinMode(LedPin2, OUTPUT);
pinMode(LedPin3, OUTPUT);
pinMode(LedPin4, OUTPUT);
}
void loop() {
// Empty
}
// Getters and setters
void setterSwitch1(byte value) {
digitalWrite(LedPin1, (value > 0)? LOW: HIGH);
switchValue1 = value;
}
byte getterSwitch1(){
return switchValue1;
}
void setterSwitch2(byte value) {
digitalWrite(LedPin2, (value > 0)? LOW: HIGH);
switchValue2 = value;
}
byte getterSwitch2(){
return switchValue2;
}
void setterSwitch3(byte value) {
digitalWrite(LedPin3, (value > 0)? LOW: HIGH);
switchValue3 = value;
}
byte getterSwitch3(){
return switchValue3;
}
void setterSwitch4(byte value) {
digitalWrite(LedPin4, (value > 0)? LOW: HIGH);
switchValue4 = value;
}
byte getterSwitch4(){
return switchValue4;
}
Заливаем скетч в Z-UNO, после чего добавляем наше устройство в Z-Wave контроллер. Немного кастомизируем иконки и пульт управления светофором готов.
На телефоне веб интерфейс RaZberry тоже не плохо выглядит.
Также этим светофором можно управлять с других Z-Wave устройств, например брелока Key Fob с 4 кнопками.
В игре я сам буду управлять светофором в зависимости от дорожной ситуации, но с помощью дополнительных датчиков, расписания и приложений RaZberry можно было бы и автоматизировать систему.
Плата Z-UNO позволяет разрабатывать Z-Wave устройства любого типа: реле, диммеры, датчики освещенности, движения, расстояния и многие другие. Z-UNO это одно из самых дешевых Z-Wave устройств. За 3000р вы можете сделать например 10-канальное реле или 10 канальный RGBW модуль! Это очень круто!
Комментарии (12)
impetus
31.03.2016 18:45Э-э-э… Сколько лет детям? Вы не опасаетсь внедрить им несколько неправильное понимание логики работы настоящих светофоров? т.е. понятно что игра, понарошку и всё такое прочее, но рефлексы вещь долгоиграющая — иногда через столько лет срабатывают (типа эффект велосипеда — раз научивись хрен разучишься) и иногда весьма неожиданно.
impetus
31.03.2016 18:52во, нашёл:
полный размер:
http://olga.ru.com/travel/india/deli2/2910.jpg
угадай страну по светофоруAlexanderG
31.03.2016 19:43Угадай страну по фрагменту ссылки: india/deli2/
А в метро, кстати, синий есть:
Lethal_Weapon
01.04.2016 13:46Синий и бело-лунный используются на железной дороге для маневровых составов (вместо красного и зелёного).
AlexanderG
02.04.2016 18:15Так точно. Еще бывает два белых, маневры на свободный путь со скоростью до 40 км/ч.
А в метро синий это разрешение движения по показаниям АЛС-АРС, белый разрешает маневры, два белых разрешают маневры в направлении главных путей (при движении с парковых путей депо).
Lethal_Weapon
31.03.2016 21:20В США, например, тоже есть светофоры с 4 сегментами — четвёртый в качестве доп. секции.
aivs
31.03.2016 23:39Дети такого возраста, что уже знают на какой сигнал ехать можно, а на какой нет. Да и синий должен включаться в исключительных случаях, в основном он выключен.
VGusev2007
01.04.2016 18:51Спасибо за статью. Буду весьма рад, если расскажете что за светодиодные лампы используются?
sisaenkov
Еще бы найти это чудо в продаже.
aivs
Через 2 недели с производства придут Z-UNO второй версии. Чуть-чуть подождать.