Drumbot

Uit KekBot
Versie door Roland (overleg | bijdragen) op 13 nov 2012 om 23:33 (Nieuwe pagina aangemaakt met '== Info: == Door: Joris Vervuurt & Daan Steenbakkers & Roland van der Burg Dit is een robot gemaakt voor het kekrobot project. De Drumbot is een machine, die door...')
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

Info:

Door: Joris Vervuurt & 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 relais.


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); }