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)?