Blokfluit Robot: verschil tussen versies

Uit KekBot
Naar navigatie springen Naar zoeken springen
Regel 1: Regel 1:
== Info: ==  
== Info: ==  
door Rainier en Ruben
De blokfluit robot is gemaakt door Rainier en Ruben.


De blokfluit wordt aangestuurd met 4 servo motoren en een luchtpomp.
Voor de luchtpomp is wel een externe voeding nodig (9V)
verder wordt er gebruik gemaakt van een arduino uno.
----
== Status: ==
De blokfluit kan worden bespeeld met verschillende liedjes.
----
== Problemen: ==
- de servo's die de gaten moeten dichten was een klein probleem mee.
  we hebben hiervoor een schuim tape soort gebruikt, deze neemt de vorm van de gaten aan.
  Het probleem was dat deze lucht doorlaten tussen de schuim delen, deze hebben we nu afgeplak met plakband.
----




== Filmpje: ==


in de maak.
----
----


== Status: ==
== Code: ==
 
hieronder is de code die we gebruiken voor de blokfluit:
 
 
#include <Servo.h>  // library van de servo's motoren
 
Servo myservo;    // maak servo objecten aan.
Servo myservo2;         
Servo myservo3; 
Servo myservo4; 
 
int Grepen[16] =  {0,1,2,3,4,3,2,1,0,1,2,3,4,3,2,1};  // liedje 1
int Grepen2[16] = {1,3,4,3,1,0,1,3,4,3,1,0,1,3,4,3};  // liedje 2
 
void setup()
{
  myservo.attach(13);    // zet eerste servo op pin 13
  myservo2.attach(12);  // zet eerste servo op pin 12
  myservo3.attach(11);  // zet eerste servo op pin 11
  myservo4.attach(10);  // zet eerste servo op pin 10
}
void loop()
{
  for(int i = 0; i <= 16 ; i++)          // deze loop doorloopt het grepen arry voor het liedje.
  {
    switch (Grepen1[i])
    {
    case 0:
      myservo.write(60);  //open
      delay(50);
      myservo2.write(120); //open
      delay(50);
      myservo3.write(60); //open
      delay(50);
      myservo4.write(120); //open
      delay(300);
      break;
 
    case 1:   
      myservo.write(120); //dicht
      delay(50);
      myservo2.write(120); //open
      delay(50);
      myservo3.write(60); //open
      delay(50);
      myservo4.write(120); //open
      delay(300);
      break;
 
    case 2:   
      myservo.write(120);  //dicht
      delay(50);
      myservo2.write(60); //dicht
      delay(50);
      myservo3.write(60); //open
      delay(50);
      myservo4.write(120); //open
      delay(300);
      break;


De drumbot kan rythme en noten lezen waardoor het mogelijk is om liedjes in te laden en door de drumbot te laten afspelen.
    case 3:
      myservo.write(120);  //dicht
      delay(50);
      myservo2.write(60); //dicht
      delay(50);
      myservo3.write(120); //dicht
      delay(50);
      myservo4.write(120); //open
      delay(300);
      break;


    case 4:
      myservo.write(120); //dicht
      delay(50);
      myservo2.write(60); //dicht
      delay(50);
      myservo3.write(120); //dicht
      delay(50);
      myservo4.write(60); //dicht
      delay(300);
      break;
    }
  }
}


----
----

Versie van 14 nov 2012 09:59

Info:

De blokfluit robot is gemaakt door Rainier en Ruben.

De blokfluit wordt aangestuurd met 4 servo motoren en een luchtpomp. Voor de luchtpomp is wel een externe voeding nodig (9V) verder wordt er gebruik gemaakt van een arduino uno.


Status:

De blokfluit kan worden bespeeld met verschillende liedjes.



Problemen:

- de servo's die de gaten moeten dichten was een klein probleem mee.

 we hebben hiervoor een schuim tape soort gebruikt, deze neemt de vorm van de gaten aan. 
 Het probleem was dat deze lucht doorlaten tussen de schuim delen, deze hebben we nu afgeplak met plakband.


Filmpje:

in de maak.


Code:

hieronder is de code die we gebruiken voor de blokfluit:


  1. include <Servo.h> // library van de servo's motoren

Servo myservo; // maak servo objecten aan. Servo myservo2; Servo myservo3; Servo myservo4;

int Grepen[16] = {0,1,2,3,4,3,2,1,0,1,2,3,4,3,2,1}; // liedje 1 int Grepen2[16] = {1,3,4,3,1,0,1,3,4,3,1,0,1,3,4,3}; // liedje 2

void setup() {

 myservo.attach(13);    // zet eerste servo op pin 13
 myservo2.attach(12);   // zet eerste servo op pin 12
 myservo3.attach(11);   // zet eerste servo op pin 11
 myservo4.attach(10);   // zet eerste servo op pin 10

} void loop() {

 for(int i = 0; i <= 16 ; i++)          // deze loop doorloopt het grepen arry voor het liedje.
 {
   switch (Grepen1[i]) 
   {
   case 0:
     myservo.write(60);   //open
     delay(50);
     myservo2.write(120); //open
     delay(50);
     myservo3.write(60); //open
     delay(50);
     myservo4.write(120); //open
     delay(300);
     break;
   case 1:    
     myservo.write(120); //dicht
     delay(50);
     myservo2.write(120); //open
     delay(50);
     myservo3.write(60); //open
     delay(50);
     myservo4.write(120); //open
     delay(300);
     break;
   case 2:    
     myservo.write(120);  //dicht
     delay(50);
     myservo2.write(60); //dicht
     delay(50);
     myservo3.write(60); //open
     delay(50);
     myservo4.write(120); //open
     delay(300);
     break;
   case 3:
     myservo.write(120);  //dicht
     delay(50);
     myservo2.write(60); //dicht
     delay(50);
     myservo3.write(120); //dicht
     delay(50);
     myservo4.write(120); //open
     delay(300);
     break;
   case 4:
     myservo.write(120); //dicht
     delay(50);
     myservo2.write(60); //dicht
     delay(50);
     myservo3.write(120); //dicht
     delay(50);
     myservo4.write(60); //dicht
     delay(300);
     break;
   } 
 }

}