Drumles
3 berichten
• Pagina 1 van 1
Drumles
Een doosje dat kan drummen. Kijk eerst maar:
https://www.youtube.com/watch?v=7jnyAMi8lj8
Aan electronica heb je niet veel nodig: een microfoontje, een servo motor en een ledje.
Mail maar als je de sketch wilt krijgen.
https://www.youtube.com/watch?v=7jnyAMi8lj8
Aan electronica heb je niet veel nodig: een microfoontje, een servo motor en een ledje.
Mail maar als je de sketch wilt krijgen.
Advertisement
Re: Drumles
Dat is grappig, hij kan het naspelen Mooi gedaan. Leuk om te zien.
Dus jouw doosje kan de eerste paar drumlessen al overslaan
Wil je de code niet zomaar openbaar maken? Dat kan hier of op Github.
Iets vergelijkbaars is dit: https://www.youtube.com/watch?v=f3Z1a47yvdQ, en de code daarvan staat hier: https://www.instructables.com/id/Knock-Back-A-Knock-Echoing-Arduino/.
Dus jouw doosje kan de eerste paar drumlessen al overslaan
Wil je de code niet zomaar openbaar maken? Dat kan hier of op Github.
Iets vergelijkbaars is dit: https://www.youtube.com/watch?v=f3Z1a47yvdQ, en de code daarvan staat hier: https://www.instructables.com/id/Knock-Back-A-Knock-Echoing-Arduino/.
Re: Drumles
Hierbij de sketch. Moest nog even uitzoeken hoe ik die hier kon plaatsen.
Dank voor de link naar 'knock back'.
Dank voor de link naar 'knock back'.
- Code: Alles selecteren
/*
Zie video https://youtu.be/7jnyAMi8lj8
In deze versie wacht de arduino tot er 5 slagen zijn geweest en doet ze dan na.
Je zou ook het aantal slagen open kunnen laten en de arduino een vaste tijd laten luisteren.
Dan moet je de sketch wel helemaal herschrijven.
*/
#include <Servo.h>
Servo drumServo;
int aantalPiepjes = 0;//het aantal slagen/harde geluiden dat hij al gehoord heeft
int omhoog = 90;//drumstokje omhoog
int omlaag = 100;//drumstokje omlaag
unsigned long starttijden[5];
int ledPin = 13;
int sensorPin = 7;
boolean val = 0;
void setup() {
Serial.begin(9600);
drumServo.attach(9);
drumServo.write(omlaag);
//delay(15);
pinMode(ledPin, OUTPUT);
pinMode(sensorPin, INPUT);
}
void loop() {
val = digitalRead(sensorPin);
if (val == HIGH) { //boven de drempel
digitalWrite(ledPin, HIGH);//LED gaat aan
starttijden[aantalPiepjes] = millis();
aantalPiepjes++;
delay(200); //hij moet dat ene geluid maar 1 keer registreren
}
else {
digitalWrite(ledPin, LOW);
}
if ((millis() - starttijden[0]) > 10000) {
aantalPiepjes = 0;
}
if (aantalPiepjes == 5) {
aantalPiepjes = 0;
delay (1000);
for (int i = 1; i < 5 ; i++) {
drumServo.write(omlaag);
delay(100);
drumServo.write(omhoog);
delay (starttijden[i] - starttijden[i - 1] - 100);
}
drumServo.write(omlaag);
delay(100);
drumServo.write(omhoog);
delay(800); // want anders hoort hij de servo als eerste tik
}
}
3 berichten
• Pagina 1 van 1
Terug naar Afgeronde projecten
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 18 gasten