Pokojový teploměr
Každých 10 sekund přečte hodnotu z adresy senzoru a vypíše ji na displej. Pro okrasu je zde i malá uvítací animace při zapnutí teploměru.
Arduino Launchpad
Není žádnou novinkou že pomocí většiny typů Arduina je možné sestavit klávesnici. Co takhle ale launchpad na stejném základu?
Co to vlastně launchpad je?
Launchpad (nebo Beatpad) je dnes již velmi používaný hudební nástroj. Při stisku tlačítka na Launchpadu dojde k zahrání zvuku,melodie, nebo tónu. Profesionální launchpady využívají programy zpracující MIDI jako Ableton, Fl Studio, nebo Magix Music Maker. Tyto hudební nástroje však stojí cca. od 1500 Kč (jde o to od které firmy a který typ), tak mě napadlo sestavit Launchpad z arduina a PCB připraveného na tlačítka.
Budeme potřebovat :
Zapojení
Na tomto obrázku můžete vidět zapojení tlačítek na nepájivém poli, ti, co chtějí PCB, si odvodí jak na to.
Každý kabel připojen k Arduinu je přes 22k odpor přiveden k zemi a druhá strana tlačítka je připojena k 5V (k zapojení stačí i 3.3 V)
Kód (Arduino IDE)
Po úspěšném zapojení a nahrání kódu do Arduina zkuste s připojeným PC zmáčknout všechny tlačítka - pokud budou všechny něco psát a nebo alespoň něco dělat (na 8 tlačítku v levé řadě je v kódu nastaven TAB pro přepínání pozic tlačítek) máte vyhráno, teď již si jen osvojte kód a nastavte si tlačítka tak jak potřebujete.
#include <Keyboard.h> void setup() { pinMode(0, INPUT); pinMode(1, INPUT); pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); pinMode(5, INPUT); pinMode(6, INPUT); pinMode(7, INPUT); pinMode(8, INPUT); pinMode(9, INPUT); pinMode(10, INPUT); pinMode(11, INPUT); pinMode(12, INPUT); Keyboard.begin(); } void loop() { if (digitalRead(0) == HIGH) { Keyboard.write(81); while (digitalRead(0) == HIGH) {} delay(10); } if (digitalRead(1) == HIGH) { Keyboard.write(87); while (digitalRead(1) == HIGH) {} delay(10); } if (digitalRead(2) == HIGH) { Keyboard.write(69); while (digitalRead(2) == HIGH) {} delay(10); } if (digitalRead(3) == HIGH) { Keyboard.write(82); while (digitalRead(3) == HIGH) {} delay(10); } if (digitalRead(4) == HIGH) { Keyboard.write(84); while (digitalRead(4) == HIGH) {} delay(10); } if (digitalRead(5) == HIGH) { Keyboard.write(89); while (digitalRead(5) == HIGH) {} delay(10); } if (digitalRead(6) == HIGH) { Keyboard.write(85); while (digitalRead(6) == HIGH) {} delay(10); } if (digitalRead(7) == HIGH) { Keyboard.write(9); while (digitalRead(7) == HIGH) {} delay(10); } //s if (digitalRead(8) == HIGH) { Keyboard.write(65); while (digitalRead(8) == HIGH) {} delay(10); } if (digitalRead(9) == HIGH) { Keyboard.write(83); while (digitalRead(9) == HIGH) {} delay(50); } if (digitalRead(10) == HIGH) { Keyboard.write(71); while (digitalRead(10) == HIGH) {} delay(10); } if (digitalRead(11) == HIGH) { Keyboard.write(68); while (digitalRead(11) == HIGH) {} delay(10); } if (digitalRead(12) == HIGH) { Keyboard.write(70); while (digitalRead(12) == HIGH) {} delay(10); } }
Program Beatpad
Abyste si osvojili práci v tomto programu budete nejdříve potřebovat nějaké zvukové nahrávky. Ty překompilujte do formátu .WAV. Poté si na pracovní ploše vytvořte složku beats v ní další složky s názvem písničky a do ní nahrávky dejte. Protože Beatpad má 64 pozic a my jsme schopni s tím našim dosáhnout maximálně 26 (pod jedním tlačítkem 2 pozice) některá tlačítka ani nebudou využita. Jmenovky nahrávek musí být od 01.wav až po 64.wav pokud ale budete využívat qwertzu jako prvních 7 budete muset přeskočit 8 předchozích (1-8 ) a začít 09.wav.
Ukázka mojí verze:
Ukázka práce Launchpadu na videu:
Každých 10 sekund přečte hodnotu z adresy senzoru a vypíše ji na displej. Pro okrasu je zde i malá uvítací animace při zapnutí teploměru.
Tento projekt slouží k měření teploty, tlaku a času a k jejich zobrazení na OLED displeji. Současně data vypisuje na sériovou linku.