Dla odmiany od dłubania w drewnie tym razem ciut inny wpis, wygrzebany z archiwum, ale myślę, że wciąż ciekawy. Temat laserowej harfy przewija się u mnie co jakiś czas. Wpis ten powstał dość spontanicznie, nie jest w żadnym razie szczegółowym tutorialem – to jedynie dowód na to, że się da.
Od razu mówię, nie jest to piękne, nie gra to melodii. Jedyna zaleta jest taka, że da się zrobić szybko i działa. Nie chciało mi się nawet usuwać zbędnych elementów z płytki, więc nie wszystko co widać na filmie jest potrzebne. Zasadniczo użyjemy:
- arduino,
- dwóch fototranzystorów (nie wiem jakie, były pod ręką),
- dwóch ledów czerwonych (bo takie miałem),
- trzech rezystorów 220 Ω,
- buzzera (wylutowany ze starego komputera pc speaker).
Do tego napisany na kolanie fragment kodu:
void setup() {
Serial.begin(9600);
}
void loop() {
int va0 = analogRead(A0);
int va1 = analogRead(A1);
delay(100);
Serial.print( "A0=");
Serial.print( va0 );
Serial.print( " A4=" );
Serial.println( va1 );
if( va1 < 1022 ) {
tone( 12, 2500 );
}
if( va0 < 950 ) {
tone( 12, 3500 );
}
if( va0 >=950 && va1 >=1022 )
noTone(12);
}
Obsługa portu szeregowego w programie służyla tylko i wyłącznie kalibracji wejść i dobraniu wartości va0
i va1
dla których włączać miał się dźwięk. Do jednego z fototranzystorów wstawiłem dodatkowy rezystor, gdyż prawie cały czas miałem maksymalne odczyty (1023) na wejściu analogowym. A działa to tak: