Проход по ссылкам навигацииГлавная : Статьи :

Arduino UNO урок 4 (Бегущий огонь)

Arduino UNO урок 4 (Бегущий огонь)



В Цоколевка bta41600b этом уроке Счетчик оборотов для намоточного станка мы продолжим работу Вход сабвуфера на к157уд2 со светодиодами, Схема псевдо квадро эффекту но количество Счетчик оборотов для намоточного станка светодиодов увеличим Схему пищалки до 5. И Цоколевка bta41600b сделаем эффект бегущего огня. Счетчик оборотов для намоточного станка Для управления светодиодами будем Вход сабвуфера на к157уд2 использовать манипуляции с Счетчик оборотов для намоточного станка портами Схема псевдо квадро эффекту Arduino. Мы будем напрямую записывать Счетчик оборотов для намоточного станка данные Счетчик оборотов для намоточного станка в порты Схему пищалки Arduino. Это лучше, чем Цоколевка bta41600b работать с Счетчик оборотов для намоточного станка конкретными входами/выходами контроллера. Вход сабвуфера на к157уд2 Это позволит Схема псевдо квадро эффекту установить значения Счетчик оборотов для намоточного станка для светодиодов Схему пищалки при помощи одной Цоколевка bta41600b лишь операции.

У Arduino Счетчик оборотов для намоточного станка UNO имеется 3 порта:Вход сабвуфера на к157уд2 B>
B (цифровые входа/выхода Счетчик оборотов для намоточного станка с Схема псевдо квадро эффекту 8 по 13)
C (аналоговые Счетчик оборотов для намоточного станка входа)
Счетчик оборотов для намоточного станка D (цифровые Схему пищалки входа/выхода с 0 по Цоколевка bta41600b 7)

Каждый Счетчик оборотов для намоточного станка порт управляется 3 Вход сабвуфера на к157уд2 регистрами. Регистр Схема псевдо квадро эффекту DDR определяет Счетчик оборотов для намоточного станка чем будет Схему пищалки являться нога (pin) Цоколевка bta41600b входом или выходом. При Счетчик оборотов для намоточного станка помощи регистра PORT можно Вход сабвуфера на к157уд2 установить pin в Счетчик оборотов для намоточного станка состояние Схема псевдо квадро эффекту HIGH или LOW. При помощи Счетчик оборотов для намоточного станка регистра Счетчик оборотов для намоточного станка PIN можно Схему пищалки считать состояние ножек Arduino, Цоколевка bta41600b когда они Счетчик оборотов для намоточного станка работает на вход.

Вход сабвуфера на к157уд2 Мы будем Схема псевдо квадро эффекту использовать порт Счетчик оборотов для намоточного станка B. Сначала, Схему пищалки мы должны установить Цоколевка bta41600b все ножки порта B Счетчик оборотов для намоточного станка как цифровые выхода. У Вход сабвуфера на к157уд2 порта B имеется Счетчик оборотов для намоточного станка только Схема псевдо квадро эффекту 6 ножек. Биты регистра для Счетчик оборотов для намоточного станка В-порта Счетчик оборотов для намоточного станка DDRB должны Схему пищалки быть установлены в 1, Цоколевка bta41600b если нога Счетчик оборотов для намоточного станка будет использоваться как Вход сабвуфера на к157уд2 выход (OUTPUT), Схема псевдо квадро эффекту и в Счетчик оборотов для намоточного станка 0, если Схему пищалки нога будет использовать Цоколевка bta41600b как вход (INPUT). Биты Счетчик оборотов для намоточного станка портов нумеруются с 0 Вход сабвуфера на к157уд2 по 7, но Счетчик оборотов для намоточного станка не Схема псевдо квадро эффекту всегда содержат все 8 ног.
Счетчик оборотов для намоточного станка Пример:
Счетчик оборотов для намоточного станка DDRB = Схему пищалки B00111110; // установить ножки Цоколевка bta41600b порта В Счетчик оборотов для намоточного станка с 1 по Вход сабвуфера на к157уд2 5 как Схема псевдо квадро эффекту выхода, а Счетчик оборотов для намоточного станка 0 как Схему пищалки вход.

Обратите внимание, Цоколевка bta41600b что в микроконтроллерах фирмы Счетчик оборотов для намоточного станка Microchip все наоборот. 0 Вход сабвуфера на к157уд2 бит - нога Счетчик оборотов для намоточного станка работает Схема псевдо квадро эффекту как выход, а 1 - Счетчик оборотов для намоточного станка как Счетчик оборотов для намоточного станка вход.

В Схему пищалки нашем проекте бегущего огня Цоколевка bta41600b мы будем Счетчик оборотов для намоточного станка использовать 5 выходов:
Вход сабвуфера на к157уд2 DDRB = Схема псевдо квадро эффекту B00011111; // Счетчик оборотов для намоточного станка установить ноги Схему пищалки порта В с Цоколевка bta41600b 0 по 4 как Счетчик оборотов для намоточного станка выхода

Для записи значений Вход сабвуфера на к157уд2 в порт В Счетчик оборотов для намоточного станка необходимо Схема псевдо квадро эффекту использовать регистр PORTB.
Зажечь первый Счетчик оборотов для намоточного станка светодиод Счетчик оборотов для намоточного станка можно командой:
Схему пищалки PORTB = B00000001;
первый Цоколевка bta41600b и четвертый:
Счетчик оборотов для намоточного станка PORTB = B00001001;

Вход сабвуфера на к157уд2 Теперь вы Схема псевдо квадро эффекту видите, как Счетчик оборотов для намоточного станка легко мы Схему пищалки можем включать и Цоколевка bta41600b выключать светодиоды. Теперь расскажем Счетчик оборотов для намоточного станка вам об операторах сдвига

Вход сабвуфера на к157уд2 Есть 2 оператора Счетчик оборотов для намоточного станка двоичного Схема псевдо квадро эффекту сдвига: оператор сдвига влево << Счетчик оборотов для намоточного станка и Счетчик оборотов для намоточного станка оператор сдвига Схему пищалки вправо >>. Оператор сдвига Цоколевка bta41600b влево << Счетчик оборотов для намоточного станка заставляет все биты Вход сабвуфера на к157уд2 сдвигаться влево, Схема псевдо квадро эффекту соответственно оператор Счетчик оборотов для намоточного станка сдвига вправо >> сдвигает биты Цоколевка bta41600b вправо.

Пример:
varA = Счетчик оборотов для намоточного станка 1; // 00000001
varA Вход сабвуфера на к157уд2 = 1 << Счетчик оборотов для намоточного станка 0; Схема псевдо квадро эффекту // 00000001
varA = Счетчик оборотов для намоточного станка 1 << 1; // Схему пищалки 00000010
varA = 1 << 2; Счетчик оборотов для намоточного станка // 00000100

Счетчик оборотов для намоточного станка


Теперь Вход сабвуфера на к157уд2 вернемся к Схема псевдо квадро эффекту нашей программе, Счетчик оборотов для намоточного станка которая показана Схему пищалки ниже.
Нам нужно Цоколевка bta41600b ввести 2 переменные: первая Счетчик оборотов для намоточного станка upDown будет содержать значение Вход сабвуфера на к157уд2 куда двигаться - Счетчик оборотов для намоточного станка вверх Схема псевдо квадро эффекту или вниз, а вторая cylon Счетчик оборотов для намоточного станка какие Счетчик оборотов для намоточного станка светодиоды зажигать.

Схему пищалки В функции setup() мы Цоколевка bta41600b определяем какие Счетчик оборотов для намоточного станка ножки должны работать Вход сабвуфера на к157уд2 как Схема псевдо квадро эффекту выхода.

В главном Счетчик оборотов для намоточного станка цикле программы Схему пищалки loop(), светодиоды по Цоколевка bta41600b очереди загораются вверх путем Счетчик оборотов для намоточного станка увеличения переменной cylon, а Вход сабвуфера на к157уд2 когда доходит до Счетчик оборотов для намоточного станка самого Схема псевдо квадро эффекту верхнего, то переменной upDown присваивается Счетчик оборотов для намоточного станка 0 Счетчик оборотов для намоточного станка и светодиоды Схему пищалки загораются вниз по очереди.

Цоколевка bta41600b /*
  Бегущий Счетчик оборотов для намоточного станка огонь. 5 светодиодов
 Вход сабвуфера на к157уд2 */
 
unsigned Схема псевдо квадро эффекту char upDown=1;     Счетчик оборотов для намоточного станка // начинаем Схему пищалки с движения вверх   
Цоколевка bta41600b unsigned char cylon=0;      // Счетчик оборотов для намоточного станка определяет очередность LED
 
void Вход сабвуфера на к157уд2 setup() {               
  DDRB Счетчик оборотов для намоточного станка = Схема псевдо квадро эффекту B00011111;         // устанавливаем порт B Счетчик оборотов для намоточного станка с Счетчик оборотов для намоточного станка 0 по Схему пищалки 4 как выхода  
}
 
Цоколевка bta41600b void loop() Счетчик оборотов для намоточного станка {
  if(upDown==1){                // Вход сабвуфера на к157уд2 если идем Схема псевдо квадро эффекту вверх, то
    Счетчик оборотов для намоточного станка cylon++;
    if(cylon>=4) Схему пищалки upDown=0;      // когда Цоколевка bta41600b достигнут наибольший номер LED, Счетчик оборотов для намоточного станка то в след. цикле Вход сабвуфера на к157уд2 идем вниз
  }
  Счетчик оборотов для намоточного станка else Схема псевдо квадро эффекту {
    cylon--;
    if(cylon==0) upDown=1;      // Счетчик оборотов для намоточного станка когда Счетчик оборотов для намоточного станка достигнут наименьший Схему пищалки номер LED, то в Цоколевка bta41600b след. цикле Счетчик оборотов для намоточного станка идем вверх
  }
  Вход сабвуфера на к157уд2 PORTB = Схема псевдо квадро эффекту 1 << Счетчик оборотов для намоточного станка cylon;         //сдвиг
  Схему пищалки delay(200);                   // пауза Цоколевка bta41600b 200 мс
}