Drumbot: verschil tussen versies
Regel 2: | Regel 2: | ||
Door: Joris Metzemaekers & Daan Steenbakkers & Roland van der Burg | Door: Joris Metzemaekers & Daan Steenbakkers & Roland van der Burg | ||
Dit is een robot gemaakt voor het kekrobot project. | Dit is een robot gemaakt voor het kekrobot project. | ||
De Drumbot is een machine, die door middel van een [[http://www.arduino.cc/en/Main/arduinoBoardUno Arduino Uno]] en een drumstel, kan drummen. Hiervoor gebruiken wij [[http://nl.wikipedia.org/wiki/ | De Drumbot is een machine, die door middel van een [[http://www.arduino.cc/en/Main/arduinoBoardUno Arduino Uno]] en een drumstel, kan drummen. Hiervoor gebruiken wij 4 [[http://nl.wikipedia.org/wiki/Halfgeleiderrelais Halfgeleiderrelais]] en 4 solenoids. Hiervoor hebben wij ook een labvoeding nodig om de solenoids van de benodigde stroom te voorzien. Door middel van de code worden de relais aangestuurd zodat de solenoids dichtklappen. Aan de solenoids hebben wij stokjes vast gemaakt. Deze slaan op hun beurt tegen de drums van het drumstel. | ||
[[Bestand:drumbot.png]] | |||
== Status: == | == Status: == |
Versie van 14 nov 2012 09:30
Info:
Door: Joris Metzemaekers & Daan Steenbakkers & Roland van der Burg Dit is een robot gemaakt voor het kekrobot project. De Drumbot is een machine, die door middel van een [Arduino Uno] en een drumstel, kan drummen. Hiervoor gebruiken wij 4 [Halfgeleiderrelais] en 4 solenoids. Hiervoor hebben wij ook een labvoeding nodig om de solenoids van de benodigde stroom te voorzien. Door middel van de code worden de relais aangestuurd zodat de solenoids dichtklappen. Aan de solenoids hebben wij stokjes vast gemaakt. Deze slaan op hun beurt tegen de drums van het drumstel. Bestand:Drumbot.png
Status:
De drumbot kan rythme en noten spelen.
Problemen:
-De Launchpad is te beperkt voor seriële communicatie
-Servo motoren maakte onvoldoende geluid.
-Stap response motor was stil genoeg maar had niet de kracht.
Code:
#include "Wire.h" int bass = 9; int tom = 10; int snare = 8; int cymbal = 11; int count = 0; int delay_drums = 0; void setup() { Wire.begin(3); pinMode(bass, OUTPUT); pinMode(tom, OUTPUT); pinMode(snare, OUTPUT); pinMode(cymbal, OUTPUT); } void loop() { delay_drums = Wire.read(); if (delay_drums != 0) // todo commando stop afvangen en stop(); aanroepen { switch (count) { case 0: Rhythm1(delay_drums); count++; break; case 1: Rhythm2(delay_drums); count++; break; case 2: Rhythm3(delay_drums); count++; break; case 3: count++; break; case 4: count = 0; break; default: break; } } }
void BassDrum(void) { digitalWrite(bass, HIGH); } void TomDrum(void) { digitalWrite(tom, HIGH); } void SnareDrum(void) { digitalWrite(snare, HIGH); } void CymbalDrum(void) { digitalWrite(cymbal, HIGH); } void Reset(void) { digitalWrite(bass, LOW); digitalWrite(tom, LOW); digitalWrite(snare, LOW); digitalWrite(cymbal, LOW); }