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

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

Проблема с пониманием кода

Привет всем! Нужно для личных целей реализовать меню в ардуино, наткнулся на пример, представляю как это работает но не понимаю логику . Может кто поможет понять что подразумевает написаное?

Зачем нужны эти переменные?

boolean buttonnextWasUp = true; 
boolean buttonprevWasUp = true;
boolean buttonupWasUp = true;
boolean buttondownWasUp = true;

При использовании pinMode, состояниие указанных переменных будет LOW если кнопка не нажата а если нажата то HIGH?

Не понятна часть кода

void loop()  
{
  currentTime = millis();
  if(currentTime >= (loopTime + 5))     // проверяем каждые 5мс (200 Гц)
  { 
    encoder_A = digitalRead(pin_A);     // считываем состояние выхода А энкодера 
    encoder_B = digitalRead(pin_B);     // считываем состояние выхода B энкодера    
    if((!encoder_A) && (encoder_A_prev))  // если состояние изменилось с положительного к нулю

Из массива в число

Всем привет!

Прошу подсказать как правильно решить такую задачу: Имеется массив данных типа boolean, например: boolean buf[10] = {1,0,1,1,1,1,1,0,0,1};

требуется разобрать массив на несколько бинарных чисел, например число a = с 0 по 4 элементы массива(получается 0b10111), b = с 5 по  9 (0b11101) и перевернуть число: младший бит слева (в итоге должно получится a = 0b11101; b = 10011).

Сам смог решить задачу вот таким способом:

Подключение светодиоды быстрого монтажа

Привет, народ. Я в общем то новичок, решил попробовать поработать с электроникой, так сказать вспомнить школьные времена.
У меня имеется 10 светодиодов быстрого монтажа и arduino mini. Как их подключить то? Просто подскажите, я не прошу сделать за меня. С кодом я сам разберусь, я программист

На пине UNO открывать землю

pinMode(1, OUTPUT);
digitalWrite(1, HIGH);

Данный код отправляет на 1 пин логическую "1"
То есть, между землей и пином 1 возникает напряжение 5 В.

Собранный мной драйвер шагового двигателя (на L293D) на оборот принимает на свои ножки землю, как логическую "1".

Можно ли программно открывать землю на пинах моей ардуино?

Arduino+Bluetooth+V-USB

Приветствую уважаемых гуру этого форума.

Передо мной встала задача-arduino'й принять символ по Bluetooth(с этим проблем нет) и выкинуть этот символ в ПК,притворяясь клавиатурой.

Проблема в том,что я не хочу покупать ATMega32u4 и им подобные МК,хочу реализовать USB на ATMega168/328 .А всети не нашел хороших примеров по связке Arduino+V-USB.

Если кто ткнёт в примеры и в саму библиотеку для Arduino,буду очень благодарен:)

Помогите пожалуйста с кодом для Ардуино. Запутался..

И так, написал код. Все работает как и должно. Все удовлетворяет. Но! Кроме одного! В середине цикла есть ввод кнопок. Точнее проверяется какую кнопку нажали, и заносится в массив определенное число. Но получается так, что программа не ждет нажатие кнопки, а продолжает работать дальше. В чем может быть причина? Вот код:

Счетчик сигнала

Доброго времени суток!
Я только начинаю познавать Ардуино и программирование. Интересует следующий скетч:

На цифровой пин приходят сигналы. Если на пин в теченни трех минут не пришел ни один сигнал, то включается другой пин. То есть, нужно зайдествовать счетчик, который будет отслеживать появление сигнала на пине и начинать отсчет времени с момента его прихода, при следующих сигналах счетчик должен обнулиться. 

Читая "толковые словари" библиотек времени только сильнее запутываюсь. 

сигналы со сдвигом

можно ли сделать подобное 

http://s017.radikal.ru/i430/1503/61/07b29925a44f.png

на одном таймере ардуины??

один "канал" :

(3 и 22 мкс)