В
Схему пищалки этом уроке
Цоколевка bta41600b мы продолжим работу
Схема псевдо квадро эффекту со светодиодами,
Счетчик витков на базе андроид но количество
Цоколевка bta41600b светодиодов увеличим
Вход сабвуфера на к157уд2 до 5. И
Схему пищалки сделаем эффект бегущего огня.
Цоколевка bta41600b Для управления светодиодами будем
Схема псевдо квадро эффекту использовать манипуляции с
Цоколевка bta41600b портами
Счетчик витков на базе андроид Arduino. Мы будем напрямую записывать
Цоколевка bta41600b данные
Цоколевка bta41600b в порты
Вход сабвуфера на к157уд2 Arduino. Это лучше, чем
Схему пищалки работать с
Цоколевка bta41600b конкретными входами/выходами контроллера.
Схема псевдо квадро эффекту Это позволит
Счетчик витков на базе андроид установить значения
Цоколевка bta41600b для светодиодов
Вход сабвуфера на к157уд2 при помощи одной
Схему пищалки лишь операции.
У Arduino Цоколевка bta41600b UNO имеется 3 порта:Схема псевдо квадро эффекту B>
B (цифровые входа/выхода Цоколевка bta41600b с Счетчик витков на базе андроид 8 по 13)
C (аналоговые Цоколевка bta41600b входа)
Цоколевка bta41600b D (цифровые Вход сабвуфера на к157уд2 входа/выхода с 0 по Схему пищалки 7)
Каждый Цоколевка bta41600b порт управляется 3 Схема псевдо квадро эффекту регистрами. Регистр Счетчик витков на базе андроид DDR определяет Цоколевка bta41600b чем будет Вход сабвуфера на к157уд2 являться нога (pin) Схему пищалки входом или выходом. При Цоколевка bta41600b помощи регистра PORT можно Схема псевдо квадро эффекту установить pin в Цоколевка bta41600b состояние Счетчик витков на базе андроид HIGH или LOW. При помощи Цоколевка bta41600b регистра Цоколевка bta41600b PIN можно Вход сабвуфера на к157уд2 считать состояние ножек Arduino, Схему пищалки когда они Цоколевка bta41600b работает на вход.
Схема псевдо квадро эффекту Мы будем Счетчик витков на базе андроид использовать порт Цоколевка bta41600b B. Сначала, Вход сабвуфера на к157уд2 мы должны установить Схему пищалки все ножки порта B Цоколевка bta41600b как цифровые выхода. У Схема псевдо квадро эффекту порта B имеется Цоколевка bta41600b только Счетчик витков на базе андроид 6 ножек. Биты регистра для Цоколевка bta41600b В-порта Цоколевка bta41600b DDRB должны Вход сабвуфера на к157уд2 быть установлены в 1, Схему пищалки если нога Цоколевка bta41600b будет использоваться как Схема псевдо квадро эффекту выход (OUTPUT), Счетчик витков на базе андроид и в Цоколевка bta41600b 0, если Вход сабвуфера на к157уд2 нога будет использовать Схему пищалки как вход (INPUT). Биты Цоколевка bta41600b портов нумеруются с 0 Схема псевдо квадро эффекту по 7, но Цоколевка bta41600b не Счетчик витков на базе андроид всегда содержат все 8 ног.
Цоколевка bta41600b Пример:
Цоколевка bta41600b DDRB = Вход сабвуфера на к157уд2 B00111110; // установить ножки Схему пищалки порта В Цоколевка bta41600b с 1 по Схема псевдо квадро эффекту 5 как Счетчик витков на базе андроид выхода, а Цоколевка bta41600b 0 как Вход сабвуфера на к157уд2 вход.
Обратите внимание, Схему пищалки что в микроконтроллерах фирмы Цоколевка bta41600b Microchip все наоборот. 0 Схема псевдо квадро эффекту бит - нога Цоколевка bta41600b работает Счетчик витков на базе андроид как выход, а 1 - Цоколевка bta41600b как Цоколевка bta41600b вход.
В Вход сабвуфера на к157уд2 нашем проекте бегущего огня Схему пищалки мы будем Цоколевка bta41600b использовать 5 выходов:
Схема псевдо квадро эффекту DDRB = Счетчик витков на базе андроид B00011111; // Цоколевка bta41600b установить ноги Вход сабвуфера на к157уд2 порта В с Схему пищалки 0 по 4 как Цоколевка bta41600b выхода
Для записи значений Схема псевдо квадро эффекту в порт В Цоколевка bta41600b необходимо Счетчик витков на базе андроид использовать регистр PORTB.
Зажечь первый Цоколевка bta41600b светодиод Цоколевка bta41600b можно командой:
Вход сабвуфера на к157уд2 PORTB = B00000001;
первый Схему пищалки и четвертый:
Цоколевка bta41600b PORTB = B00001001;
Схема псевдо квадро эффекту Теперь вы Счетчик витков на базе андроид видите, как Цоколевка bta41600b легко мы Вход сабвуфера на к157уд2 можем включать и Схему пищалки выключать светодиоды. Теперь расскажем Цоколевка bta41600b вам об операторах сдвига
Схема псевдо квадро эффекту Есть 2 оператора Цоколевка bta41600b двоичного Счетчик витков на базе андроид сдвига: оператор сдвига влево << Цоколевка bta41600b и Цоколевка bta41600b оператор сдвига Вход сабвуфера на к157уд2 вправо >>. Оператор сдвига Схему пищалки влево << Цоколевка bta41600b заставляет все биты Схема псевдо квадро эффекту сдвигаться влево, Счетчик витков на базе андроид соответственно оператор Цоколевка bta41600b сдвига вправо >> сдвигает биты Схему пищалки вправо.
Пример:
varA = Цоколевка bta41600b 1; // 00000001
varA Схема псевдо квадро эффекту = 1 << Цоколевка bta41600b 0; Счетчик витков на базе андроид // 00000001
varA = Цоколевка bta41600b 1 << 1; // Вход сабвуфера на к157уд2 00000010
varA = 1 << 2; Цоколевка bta41600b // 00000100
Теперь Схема псевдо квадро эффекту вернемся к Счетчик витков на базе андроид нашей программе, Цоколевка bta41600b которая показана Вход сабвуфера на к157уд2 ниже.
Нам нужно Схему пищалки ввести 2 переменные: первая Цоколевка bta41600b upDown будет содержать значение Схема псевдо квадро эффекту куда двигаться - Цоколевка bta41600b вверх Счетчик витков на базе андроид или вниз, а вторая cylon Цоколевка bta41600b какие Цоколевка bta41600b светодиоды зажигать.
Вход сабвуфера на к157уд2 В функции setup() мы Схему пищалки определяем какие Цоколевка bta41600b ножки должны работать Схема псевдо квадро эффекту как Счетчик витков на базе андроид выхода.
В главном Цоколевка bta41600b цикле программы Вход сабвуфера на к157уд2 loop(), светодиоды по Схему пищалки очереди загораются вверх путем Цоколевка bta41600b увеличения переменной cylon, а Схема псевдо квадро эффекту когда доходит до Цоколевка bta41600b самого Счетчик витков на базе андроид верхнего, то переменной upDown присваивается Цоколевка bta41600b 0 Цоколевка bta41600b и светодиоды Вход сабвуфера на к157уд2 загораются вниз по очереди.
Схему пищалки /*
Бегущий Цоколевка bta41600b огонь. 5 светодиодов
Схема псевдо квадро эффекту */
unsigned Счетчик витков на базе андроид char upDown=1; Цоколевка bta41600b // начинаем Вход сабвуфера на к157уд2 с движения вверх
Схему пищалки unsigned char cylon=0; // Цоколевка bta41600b определяет очередность LED
void Схема псевдо квадро эффекту setup() {
DDRB Цоколевка bta41600b = Счетчик витков на базе андроид B00011111; // устанавливаем порт B Цоколевка bta41600b с Цоколевка bta41600b 0 по Вход сабвуфера на к157уд2 4 как выхода
}
Схему пищалки void loop() Цоколевка bta41600b {
if(upDown==1){ // Схема псевдо квадро эффекту если идем Счетчик витков на базе андроид вверх, то
Цоколевка bta41600b cylon++;
if(cylon>=4) Вход сабвуфера на к157уд2 upDown=0; // когда Схему пищалки достигнут наибольший номер LED, Цоколевка bta41600b то в след. цикле Схема псевдо квадро эффекту идем вниз
}
Цоколевка bta41600b else Счетчик витков на базе андроид {
cylon--;
if(cylon==0) upDown=1; // Цоколевка bta41600b когда Цоколевка bta41600b достигнут наименьший Вход сабвуфера на к157уд2 номер LED, то в Схему пищалки след. цикле Цоколевка bta41600b идем вверх
}
Схема псевдо квадро эффекту PORTB = Счетчик витков на базе андроид 1 << Цоколевка bta41600b cylon; //сдвиг
Вход сабвуфера на к157уд2 delay(200); // пауза Схему пищалки 200 мс
}
Схема псевдо квадро эффекту Источник:
http://www.hobbytronics.
Цоколевка bta41600b co.
Счетчик витков на базе андроид uk/