Dodělej si sám: Dětská kuchyňka
01. leden, 2018
Ježíšek přinesl Bětce dětskou kuchyňku, aby mohla vařit dobroty panenkám a nosit virtuální čerstvě upečenou bábovku k snídani tátovi rovnou do postele. Z výroby docela fajn, jenom jsme přemontovali dvířka trouby, aby měla panty dole a otevírala se víc opravdově. Abychom zakryly díry po původním místě madla, tak jsme ještě dvířka přelepili samolepicí tapetou, co vypadá jako nerezový plech. Reálnější už to být nemůže. Nebo jo?
Od malička (resp. Bětka pořád maličká je, ale už to děláme dlouho) jsem tu naši berušku zvedal, aby si mohla mačkat čudlíky na mikrovlnce. Protože má nějaký automatický zámek, tak po zmáčknutí jakéhokoliv z nich dvakrát rychle zapípá. Nebudu vás napínat, my jsme si řekli, že krátké dvojité pípání prostě ke kuchyni patří. :)
Následující řádky budou trochu techničtější. Chtěl jsem si mezi svátkama trochu pohrát s elektronikou, naučit se něco nového a mám radost, jak pěkně se to splnilo.
Ok, takže zadání máme: Dvakrát krátké pípnutí po stisku tlačítka ve +- stejné frekvenci jako naše mikrovlnka. Dělat to nějakým Arduinem by bylo neúměrně drahý, vymyslet nějaký obvod třeba na základu 555 by zabralo hrozně času a hlavně by to bylo mraky součástek okolo. Tak jsem začal zkoumat ATTiny mikrokontrolery. Je to úplně boží, malej čip, co skoro nic nežere, je ultralevnej, nepotřebuje součástky okolo (ani pullup resistory) a programuje se pro to téměř stejně jako Arduino.
Trochu problém je nahráním programu do ATTiny, ale naštěstí pomůže samotné Arduino. Zrovna mi přišli z Aliexpressu nějaké Arduino Nano clony, tak jsem je použil a udělal si programátor jako je popsané třeba v tomto článku. Pro ATTiny13A jsem použil metadata o desce do Arduino IDE: https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json.
Zapojení pípátka s ATTiny13A víc jednoduché už být nemůže. Jenom čip a piezo reproduktor. Je potřeba dát pozor, aby to byl piezo reproduktor a ne bzučák, protože frekvence pípání se bude řídit signálem z ATTiny čipu.
Čipy ATTiny jsou jednodušší než Atmely v Arduinech, takže pro ně nejsou implementované všechny funkce. A zrovna v tomhle případě by se hodila funkce tone, která generuje obdélníkový signál o určité frekvenci a délce. Nevadí, tohle je tak jednoduchý úkol, že není potřeba na to mít vestavěnou funkci.
#define SPEAKER_OUT 4
void playTone(int tone, int duration) {
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(SPEAKER_OUT, HIGH);
delayMicroseconds(tone);
digitalWrite(SPEAKER_OUT, LOW);
delayMicroseconds(tone);
}
}
void setup() {
pinMode(SPEAKER_OUT, OUTPUT);
playTone(200, 100);
delayMicroseconds(1000*100);
playTone(200, 100);
}
void loop() {}
Další výhoda ATTiny je, že může být napájené malým napětím. V kychyňce jsou plotýnky s LED napájené dvěma tužkovými bateriemi, takže jsem rozdělal plotýnky a přidal pípátko dovnitř. Napájení je společné a zároveň je to hezky schované.
Finální fáze byla vzít vrtačku, udělat díru do dřevěného (resp. pseudodřevěného) panelu kuchyňky, vložit tlačítko a přiletovat to do finální podoby. Hotovo. Krom té radosti z výroby a nových technologií (i cesta může být cíl) mi udělalo velkou radost, že se Bětka chlubila rovnou do telefonu prarodičům, že jí pípá kuchyňka. Snad mě zítra probudí vůně “jenom jako” snídaně. :)
PS: Jako malýmu mi rodiče zakazovali rozebírat hračky, ale když rozebírám já ty Bětčiny, tak mi to nikdo nezakáže! :D