Lekce 12

Ovládání zvuku pomocí světla

Dvanáctá lekce Arduino kurzu pro začátečníky: spojíte fotorezistor s bzučákem a budete světlem řídit, jak rychle bzučák pípá. Ukážeme si zapojení, čtení analogového vstupu funkcí analogRead i kód do Arduino IDE – ve tmě bzučák pípá rychle, na světle pomalu. Hravé propojení dvou dřívějších lekcí dohromady.

🧩Co budeš potřebovat
Arduino USB kabel Fotorezistor Aktivní bzučák Rezistor 10 kΩ Breadboard Propojovací vodiče
🔌Zapojení
Schéma zapojení Arduino – fotorezistor na pinu A0 ovládá bzučák na pinu 9

Popisek obrázku: bzučák je zapojený kladnou nožičkou (+) na pin 9 a druhou na GND. Fotorezistor tvoří dělič napětí s rezistorem 10 kΩ, jeho střed vede na analogový vstup A0.

🔗Připojení pinů
KomponentaArduino
Bzučák (+)pin 9
Bzučák (−)GND
Fotorezistor (1. nožička)5V
Fotorezistor (2. nožička) + rezistor 10 kΩA0
Rezistor 10 kΩ (druhý konec)GND
💡Jak to funguje

Tahle lekce spojuje fotorezistor z minula s bzučákem. Fotorezistor mění svůj odpor podle světla a přes dělič napětí posílá na vstup A0 hodnotu, kterou Arduino přečte funkcí analogRead. Tuto hodnotu pak rovnou používáme jako délku pauzy ve funkci delay mezi zapnutím a vypnutím bzučáku. Při silném světle je hodnota vysoká – pauzy jsou delší a bzučák pípá pomalu. Ve tmě je hodnota nízká a pípání je rychlé.

Postup
  1. Sestavte obvod podle schématu a tabulky výše – bzučák na pin 9 a fotorezistor s děličem na A0.
  2. Zkopírujte kód do Arduino IDE, zkompilujte ho a nahrajte do Arduina.
  3. Zakrývejte fotorezistor a posviťte na něj – poslouchejte, jak se mění rychlost pípání.
</>Kód
lekce12_ovladani_zvuku_svetlem.ino
// Ovládání zvuku pomocí světla
// Když dáte fotorezistor do tmavého prostředí, bzučák bude pípat rychle.
// Když dáte fotorezistor do světlého prostředí, bzučák bude pípat pomalu.
// Email: podpora@laskakit.cz · Web: laskakit.cz

const int photocellPin = A0;       // pin fotorezistoru
int sensorValue = 0;                  // přečtená hodnota z čidla
const int buzzerPin = 9;           // pin bzučáku

void setup() {
  pinMode(buzzerPin, OUTPUT);      // bzučák jako výstup
}

void loop() {
  sensorValue = analogRead(photocellPin);  // přečíst hodnotu z pinu A0
  digitalWrite(buzzerPin, HIGH);    // zapnout bzučák
  delay(sensorValue);              // pauza nastaví frekvenci
  digitalWrite(buzzerPin, LOW);     // vypnout bzučák
  delay(sensorValue);              // pauza nastaví frekvenci
}
Výsledek
💡
Po nahrání bzučák začne pípat a rychlost se řídí světlem. Když fotorezistor zakryjete (tma), pípání se zrychlí. Když na něj posvítíte, zpomalí se. Máte hotový jednoduchý nástroj, který „zní" podle toho, kolik je kolem světla!
Časté chyby
?Kontrolní otázka

QJak se chová bzučák, když fotorezistor zakryjete (tma)?