Drumbot

Uit KekBot
Naar navigatie springen Naar zoeken springen

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 [[ http://www.arduino.cc/en/Main/arduinoBoardUno 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);
}