Программирование

Вопросы по программированию Arduino.

фазово-корректный analogWrite на любом пине

Есть два режима PWM: быстрый и с корректной фазой. На моей обычной Arduino Uno доступно 6 пинов для аппаратной реализации, каждые 2 пина отнимают один таймер. Поэтому, иногда надо реализовать ШИМ прогрмно. Хорошая реализация быстрого варианта сделана maksim, но иногда необходимо делать фазово-корректный ШИМ. Предлагаю посмотреть на мою реализацию тут: https://github.com/jabbervorx/arduino-any-pc-pwm

Пример использования:

Таймер в функции

Использую такой код для обработки нажатий кнопки. Может не самый удачный(большой размер), но работает.

Управление движением через браузер, что применить?

Всем привет!

Пожалуйста подскажите, каким образом можно управлять Ардуиной через браузер, с учетом непрерывного действия?
То есть, чтобы при нажатой кнопке "Вперед" непрерывно шла отправка нужного символа на последовательный порт.

Поясню, как я сейчас делаю:
1. Есть php-скрипт, пишущий через fwrite на COM3-порт символ "w", получая который, Ардуино включает нужный пин (драйвер мотора).
2. Скрипт вызывается через AJAX с HTML-страницы, таким образом:

Как сохранить массив в памяти программы

Существует массив со шрифтом, в котором на каждый символ приходится 8 байтовых переменных. То есть для большого количества символов памяти переменных в меге 328 просто не хватает. Возможно ли этот массив разместить в памяти программы?

Как узнать какое из 2х прерываний сработало

Здравствуйте. Помогите разобраться. Имеется 2 прерывания (слушают пины). Конструкция засыпания ардуино такая:

void sleepNow()         
{
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);   
    sleep_enable();         
    attachInterrupt(2,wakeUpNow, RISING); 
    attachInterrupt(3,wakeUpNow, LOW);
    sleep_mode();           
    sleep_disable();        
    detachInterrupt(2);     
    detachInterrupt(3);                             
 
}

 

Как определить, что сработало прерывание 2 или 3?

вопрос по циклам void()

Всем привет! В последнее время очень часто стал встречать программы с несколькими циклами void, т.е. Помимо void setup() и void loop() присутствуют и другие к примеру для управления моторами void left() void forward() и т.д. Подскажите где можно почитать про данный принцип построения программы, ну или сами расскажите,если не сложно)

Проблема с портированием старого .pde скетча: expected unqualified-id before numeric constant

Не могу скомпилировать 1.8_test_code.pde - Это пример для цветного экрана 128 x 160 ITDB02-1.8SP с сайта http://imall.iteadstudio.com/display/im120419001.htm

Вот этот файл отдельно: http://pastebin.com/j2u5T5qH

Ошибка:

Робот ездящий по линии

Есть датчики 

L293D Motor Drive Shield

Считывание значений нескольких выходов

Друзья осваиваю ардуино. А как мне код написать, что если на двух выходах (именно выходах, установились HIHG, установить на третьем выходе HIGH.

Пошаговая отладка

Здравствуйте всем!

Извините если я повторяюсь, но не могу найти, как пройти по программе компелятором по шагам каждую строчку, чтобы посмотреть как наполняются переменные и функции?

Спасибо! :)