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

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

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



В Яркость светодиода ардуино этом уроке Схема для управление вентилятором блока питания мы продолжим работу Fintar 418-01 схема ремонт со светодиодами, Схема toyota 86120 но количество Схема для управление вентилятором блока питания светодиодов увеличим Схема цифровые электронные часы до 5. И Яркость светодиода ардуино сделаем эффект бегущего огня. Схема для управление вентилятором блока питания Для управления светодиодами будем Fintar 418-01 схема ремонт использовать манипуляции с Схема для управление вентилятором блока питания портами Схема toyota 86120 Arduino. Мы будем напрямую записывать Схема для управление вентилятором блока питания данные Схема для управление вентилятором блока питания в порты Схема цифровые электронные часы Arduino. Это лучше, чем Яркость светодиода ардуино работать с Схема для управление вентилятором блока питания конкретными входами/выходами контроллера. Fintar 418-01 схема ремонт Это позволит Схема toyota 86120 установить значения Схема для управление вентилятором блока питания для светодиодов Схема цифровые электронные часы при помощи одной Яркость светодиода ардуино лишь операции.

У Arduino Схема для управление вентилятором блока питания UNO имеется 3 порта:Fintar 418-01 схема ремонт B>
B (цифровые входа/выхода Схема для управление вентилятором блока питания с Схема toyota 86120 8 по 13)
C (аналоговые Схема для управление вентилятором блока питания входа)
Схема для управление вентилятором блока питания D (цифровые Схема цифровые электронные часы входа/выхода с 0 по Яркость светодиода ардуино 7)

Каждый Схема для управление вентилятором блока питания порт управляется 3 Fintar 418-01 схема ремонт регистрами. Регистр Схема toyota 86120 DDR определяет Схема для управление вентилятором блока питания чем будет Схема цифровые электронные часы являться нога (pin) Яркость светодиода ардуино входом или выходом. При Схема для управление вентилятором блока питания помощи регистра PORT можно Fintar 418-01 схема ремонт установить pin в Схема для управление вентилятором блока питания состояние Схема toyota 86120 HIGH или LOW. При помощи Схема для управление вентилятором блока питания регистра Схема для управление вентилятором блока питания PIN можно Схема цифровые электронные часы считать состояние ножек Arduino, Яркость светодиода ардуино когда они Схема для управление вентилятором блока питания работает на вход.

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

Обратите внимание, Яркость светодиода ардуино что в микроконтроллерах фирмы Схема для управление вентилятором блока питания Microchip все наоборот. 0 Fintar 418-01 схема ремонт бит - нога Схема для управление вентилятором блока питания работает Схема toyota 86120 как выход, а 1 - Схема для управление вентилятором блока питания как Схема для управление вентилятором блока питания вход.

В Схема цифровые электронные часы нашем проекте бегущего огня Яркость светодиода ардуино мы будем Схема для управление вентилятором блока питания использовать 5 выходов:
Fintar 418-01 схема ремонт DDRB = Схема toyota 86120 B00011111; // Схема для управление вентилятором блока питания установить ноги Схема цифровые электронные часы порта В с Яркость светодиода ардуино 0 по 4 как Схема для управление вентилятором блока питания выхода

Для записи значений Fintar 418-01 схема ремонт в порт В Схема для управление вентилятором блока питания необходимо Схема toyota 86120 использовать регистр PORTB.
Зажечь первый Схема для управление вентилятором блока питания светодиод Схема для управление вентилятором блока питания можно командой:
Схема цифровые электронные часы PORTB = B00000001;
первый Яркость светодиода ардуино и четвертый:
Схема для управление вентилятором блока питания PORTB = B00001001;

Fintar 418-01 схема ремонт Теперь вы Схема toyota 86120 видите, как Схема для управление вентилятором блока питания легко мы Схема цифровые электронные часы можем включать и Яркость светодиода ардуино выключать светодиоды. Теперь расскажем Схема для управление вентилятором блока питания вам об операторах сдвига

Fintar 418-01 схема ремонт Есть 2 оператора Схема для управление вентилятором блока питания двоичного Схема toyota 86120 сдвига: оператор сдвига влево << Схема для управление вентилятором блока питания и Схема для управление вентилятором блока питания оператор сдвига Схема цифровые электронные часы вправо >>. Оператор сдвига Яркость светодиода ардуино влево << Схема для управление вентилятором блока питания заставляет все биты Fintar 418-01 схема ремонт сдвигаться влево, Схема toyota 86120 соответственно оператор Схема для управление вентилятором блока питания сдвига вправо >> сдвигает биты Яркость светодиода ардуино вправо.

Пример:
varA = Схема для управление вентилятором блока питания 1; // 00000001
varA Fintar 418-01 схема ремонт = 1 << Схема для управление вентилятором блока питания 0; Схема toyota 86120 // 00000001
varA = Схема для управление вентилятором блока питания 1 << 1; // Схема цифровые электронные часы 00000010
varA = 1 << 2; Схема для управление вентилятором блока питания // 00000100

Схема для  управление вентилятором блока питания


Теперь Fintar 418-01 схема ремонт вернемся к Схема toyota 86120 нашей программе, Схема для управление вентилятором блока питания которая показана Схема цифровые электронные часы ниже.
Нам нужно Яркость светодиода ардуино ввести 2 переменные: первая Схема для управление вентилятором блока питания upDown будет содержать значение Fintar 418-01 схема ремонт куда двигаться - Схема для управление вентилятором блока питания вверх Схема toyota 86120 или вниз, а вторая cylon Схема для управление вентилятором блока питания какие Схема для управление вентилятором блока питания светодиоды зажигать.

Схема цифровые электронные часы В функции setup() мы Яркость светодиода ардуино определяем какие Схема для управление вентилятором блока питания ножки должны работать Fintar 418-01 схема ремонт как Схема toyota 86120 выхода.

В главном Схема для управление вентилятором блока питания цикле программы Схема цифровые электронные часы loop(), светодиоды по Яркость светодиода ардуино очереди загораются вверх путем Схема для управление вентилятором блока питания увеличения переменной cylon, а Fintar 418-01 схема ремонт когда доходит до Схема для управление вентилятором блока питания самого Схема toyota 86120 верхнего, то переменной upDown присваивается Схема для управление вентилятором блока питания 0 Схема для управление вентилятором блока питания и светодиоды Схема цифровые электронные часы загораются вниз по очереди.

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