Управление светодиодной платой подключенной через I2C с помощью AT команд.
- Войдите на сайт для отправки комментариев
Пт, 22/01/2016 - 12:07
У меня есть светодиодная плата artofcircuits. Возможно она стандартная. Возможно была сделана по спец. заказу. В описании к этой плате сказано что ею можно управлять через AT команды. Например так:
Programming and Running Test Code Following Test Codes can be programmed in Arduino Due board to test Lower LED board: ● TLC59116_Debug ● TLC59116_Test There are two registers associated with Lower LED Board Control: 1. DUTY_CYCLE_2 Register (Address 16) 2. LOWER_LED_ON Register for Lower LED Board (Address 28) The DUTY_CYCLE_2 register sets Brightness level for the all 16 LEDs. The possible values are 0 to 255. The LOWER_LED_ON register sets on of control of individual 16 LEDs. Example AT Commands AT+WR 16 127 // sets 50% duty cycle AT+WR 28 1 // only turns on LED0 at 50% duty cycle AT+WR 16 64 // sets duty cycle to 25% AT+WR 28 65535 // turns on all LEDs at 25% duty cycle
В связи с чем возникают следующие вопросы:
Я использую linux. Я предполагаю, что команды нужно отправлять через обычный терминал для модемов по виртуальному com порту определяющемуся от arduino.
Вопросы
1. Как надо подключать Arduino к PC, чтобы увиделся COM порт.
2. Чем лучше открыать COM порт ?
3. Есть ли какой либо мануал (ссылка с примерами как это делать)
4. Может быть я вообще не прав (и все обстоит совсем иначе)?
Спасибо большое.
При подключении последовательного порта - появится соотвествующеее устройство.
последовательные устройства перечисленны в каталоге /sys/class/tty/
Доступ к ним идет через файлы устройств в каталоге /dev/
Например если есть /sys/class/tty/ttyUSB0
то файл устройства будет /dev/ttyUSB0
Для отправки данных можно использовать команду
echo "AT+WR 16 127" >> /dev/ttyUSB0
принимать данные можно командой cat /dev/ttyUSB0
принять одну строку можно командой head -n1 /dev/ttyUSB0
tty - это последовательные устройства
ttyUSB0, ttyUSB1, ... - подключенные по USB( USB-RS232 переходники такие как FT232, CH340)
ttyA0, ttyA1 - обычно ком порты на материнской плате
ttyAC0, ttyAC1 - часто бывают GSM модемы
Но принципиальной разницы в их работе нет.
скорость работы устройств по умолчанию 115200 или 9600
настроить можно командой stty
Спасибо. Я попробовал, но результат отрицательный.
То есть запись команд напрямую в порт ttyACM1 - ошибка kernel'а "failed to set dtr/rts"
Я пробовал подключать как usb, так и через prog. port - результат одинаковый.
Еще я залил в arduino пустую программу ( setup и loop - пустые). Возможно дело в инициализации. Т.е. нужно в программе сначала проинициализировать все как надо. А после ни чего не включать. Далее уже пробовать AT командами управлять яркостью. В этих вопросах я пока новичок. Поэтому действую возможно не правильно.