Практическое программирование Arduino/CraftDuino — Аналоговый вывод — Fading


0. Начало
1. Цифровой ввод — кнопка

2. Аналоговый вывод — Fading

Рассмотрим скетч Fading (Sketchbook – Examples – Analog — Fading ), как пример работы с функцией analogWrite — аналоговым выводом сигнала 🙂

Как мы помним, значение, которое можно передавать в analogWrite должно быть между 0 и 255, что соответствует напряжению от 0V до 5V на выходе порта.
Т.о. постепенно увеличивая/уменьшая переданное в analogWrite значение можно добиться плавного роста/падения напряжения на выходе.
Теперь, подключив к одному из PWM-портов ардуины (3, 5, 6, 9, 10, 11 , а на платах на базе ATmega8 только — 9, 10, 11 ) светодиод будет плавно загораться и затухать (fading).

Остаётся собрать простейшую схему

и скомпилировать скетч 🙂

Код скетча:

// Fading LED 
// by BARRAGAN  

int value = 0;     // переменная для хранения нужного значения
int ledpin = 9;    // светодиод подключен к digital pin 9
 
void setup() 
{ 
  // Нет необходимости вызвать функцию pinMode, чтобы установить
  // порт на вывод сигналов перед вызовом функции analogWrite
} 
 
void loop() 
{ 
  for(value = 0 ; value <= 255; value+=5) // постепенно зажигаем светодиод (от min до max) 
  { 
    analogWrite(ledpin, value);           // устанавливаем значение вывода (от 0 до 255) 
    delay(30);                            // ждём :)
  } 
  for(value = 255; value >=0; value-=5)   // постепенно гасим светодиод (от max до min) 
  { 
    analogWrite(ledpin, value); 
    delay(30); 
  }  
}


Вот и всё 🙂 Пойду пить сок 🙂

читать далее: 3. Аналоговый ввод – потенциометр

По теме
Arduino, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)


0 комментариев на «“Практическое программирование Arduino/CraftDuino — Аналоговый вывод — Fading”»

  1. В случае светодиода глаз с ролью интегратора справляется на ура=)
    А так, да, это ШИМ, а не трушный аналоговый уровень, это надо помнить.

  2. у меня базовый вопрос — почему:
    1. резистор ставится после ЛЕД, а не до? можно ли ставить наоборот и в чем разница?
    2. почему номинал в 1к? собирая точно такую же схему в симулинке ЛЕД не горит а I=1.75 mA, а согласно даташиту минимум необходимо 5

    Знаю, что возможно вопросы глупые, но все таки может кто нибудь ответит?

    • 1. Разницы быть не должно — с каких пор от перемены мест слагаемых стала меняться сумма?
      2. А на глаз :))) Вообще ставят от 220 Ом до 1.2к, нормально — 300 Ом.
      А если точно — 5В/0.005А=1000 Ом.
      Есть калькулятор http://www.casemods.ru/services/raschet_rezistora.html
      С другой стороны, я недавно купил смд-светики, так синие настолько яркие, что пришлось ставить резюки на 6.8к, иначе глаза режет )

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение