Meillä on koulussa projekti, jossa ohjelmoimme arduinolla.
Tarkoitus olisi tehdä elokuvista tuttu klap klap eli taputus valot. Olemme todella amatöörejä ohjelmoinnin suhteen ja kaipalemme neuvoja
Eli meillä on seuraavat laitteet:
Arduino mega 2560
Microphone
TFT Tscreen + shield
Langaton etäohjattava virtakytkin
Toimintaperiaate:
- Laite kuuntelee herkeämättä taputuksia
- Kun se kuulee kaksi taputusta, antaa lähetyssignaalin hakkeroidulle kaukosäätimelle > ja lamppu syttyy
- Kun se kuulee toisen kerran kaksi taputusta, lähettää se toisesta pinnistä off käskyn > lamppu sammuu
Lisäksi näytölle tarvitaan ohjelma, jolla voidaan ohjata samaa ja ehkä useampaa lamppua.
Tässä ohjelmaa tähän asti: (tätäkään emme ihan omin neuvoin saaneet kasaan)
int aika = 0;
int led = 13; // virta päälle
int led = 12; // virta pois
int muisti1
int threshold = 550; //Change This
int volume;
int koputus1 = 0;
int koputus2 = 0;
void setup() {
Serial.begin(9600); // For debugging
pinMode(led, OUTPUT);
}
void loop() {
volume = analogRead(A0); // Reads the value from the Analog PIN A0
/*
//Debug mode
Serial.println(volume);
delay(100);
int aika = 0;
*/
if(volume>=threshold) // jos koputus ylittää asetetun kynnysäänen
{
koputus1 = millis(); // lähtee kello käyntiin
delay(10);
while(aika-koputus1 < 1000) // sekunnin aikana kuuntelee seuraavaa koputusta
{
volume = analogRead(A0); // lukee arvon
aika = millis();
if(volume>=threshold)
{
koputus2 = aika;
while(aika-koputus2 < 700)
{
aika =millis();
}
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
}
}
}
}
Ledi vilkahtaa kyllä tällä ohjelmalla, joten tarvitsisimme apua valon sammuttamiseen , jotta voisimme samalla käskyllä lähettää sammutus-käskyn toisesta pinnistä.
Kiitos!!