Уважаемые коллеги.
Задумался над реализацией роботизированной машинки с установкой всевозможных датчиков и приборов.
Названия у проекта ещё нет.
В общем, основная платформа с колесами - детская игрушечная машинка на радиоуправлении с бесколлекторным двигателем масштаба 1/18.
С этой машинки поснимал всё лишнее - корпус, р/у управление, антенну, и оставил только шасси с мотором и контроллер для б/к мотора.
Сверху платформы укрепил блок Li-Po аккумуляторов, разводку питания, usb-хаб ... и над всем этим - Raspberry Pi.
Помимо всего перечисленного имеется:
- гироскоп, акселерометр, барометр, температурный датчик, модуль Wi-Fi (для связи), модуль GPS, модуль GPRS (обмен sms-ками прием/передача), web-камера, освещение, узел поворота для камеры и освещения, дальномер, модуль управления двигателями Pololu Mini Maestro, укрепление пружинных подвесок.
На текущий момент подхожу к изготовлению внешнего корпуса для модельки.
Всё работает и всё настроено, за некоторыми исключениями.
Все команды основаны на выполнении bash-скриптов.
Фотки пока выложить не могу.
Может быть многие из Вас уже держали в руках платы управления сервомашинками серии Pololu Maestro Mini, на которых есть выход PWM.
Решил "поиграться" с подключением маломощных лампочек.
При управлении с компьютера при помощи программы Maestro Control Center определил параметры: время включения 12, период 108 - при таких параметрах лампочка светится. Изменением периода от 12 до 108 можно управлять освещением от минимума к максимуму.
Теперь вопрос в том, как всё тоже самое переделать в командный набор параметров.
Написал вот такую последовательность, согласно документации на устройство Pololu:
Pololu protocol: 0xAA, device number, 0x0A, on time low bits, on time high bits, period low bits, period high bits
{
byte 0xAA #Start Byte
byte 0x01 #Device ID = 1
byte 0x0A #Command = Set PWM
byte $((TARGET1 & 0x7F)) #On time low bits
byte $((TARGET1 >> 7 & 0x7F)) #On time high bits
byte $((TARGET2 & 0x7F)) #Period low bits
byte $((TARGET2 >> 7 & 0x7F)) #Period high bits
} > $DEVICE
TARGET1 - время включения
TARGET2 - период
В качестве входных параметров использую: TARGET1=12 и TARGET2=108 , но ничего не происходит.
Помогите решить проблему.
Попутно подскажите, как можно включать и выключать PWM?