Два маячка в противофазе

В этом эксперименте мы меняем яркость светодиода, вращая ручку переменного резистора, а второй светодиод должен светиться с противоположной яркостью.

Список деталей для эксперимента

  • 2 светодиод
  • 2 резистор номиналом 220 Ом
  • 8 проводов
  • 1 потенциометр

Схема на макетке

Скетч

            const int LED1_PIN = 9;
const int LED2_PIN = 10;

#define POT_PIN A0

void setup() {
  pinMode(LED1_PIN, OUTPUT);
  pinMode(LED2_PIN, OUTPUT);
  pinMode(POT_PIN, INPUT);
}

void loop() {
  int rotation, brightness;
  
  rotation = analogRead(POT_PIN);

  brightness = rotation / 4;

  analogWrite(LED1_PIN, brightness);
  analogWrite(LED2_PIN, 255 - brightness);
}            
            

Обратите внимание

  • Мы подключили «землю» светодиода и переменного резистора (потенциометра) к длинной рельсе «-» макетной платы, и уже ее соединили с входом GND микроконтроллера. Таким образом мы использовали меньше входов и от макетки к контроллеру тянется меньше проводов.
  • Подписи «+» и «-» на макетке не обязывают вас использовать их строго для питания, просто чаще всего они используются именно так и маркировка нам помогает
  • Не важно, какая из крайних ножек потенциометра будет подключена к 5 В, а какая к GND, поменяется только направление, в котором нужно крутить ручку для увеличения напряжения. Запомните, что сигнал мы считываем со средней ножки
  • Для считывания аналогового сигнала, принимающего широкий спектр значений, а не просто 0 или 1, как цифровой, подходят только порты, помеченные на плате как «ANALOG IN» и пронумерованные с префиксом A. Для Arduino Uno — это A0-A5.