Glastik robot: verschil tussen versies

Uit KekBot
Naar navigatie springen Naar zoeken springen
(Nieuwe pagina aangemaakt met '= Glastik robot = door Ralph en Kostas ---- == Status: == De drumbot kan rythme en noten lezen waardoor het mogelijk is om liedjes in te laden en door de drumbot...')
 
 
(9 tussenliggende versies door 2 gebruikers niet weergegeven)
Regel 1: Regel 1:
= Glastik robot =
{{hoofdmenu}}
----
== Info: ==  
door Ralph en Kostas
door Ralph en Kostas
Dit is een robot gemaakt voor het kekrobot project.
de glastikbot is een drumbot die een melody maakt doormiddel van op een glas te tikken




Regel 12: Regel 17:
== Problemen: ==
== Problemen: ==
   
   
- De Launchpad heeft een gelimiteerde mogelijkheid tot ontwikkeling. Zo kan er geen seriale poort worden aangesproken of uitgelezen.
* De Launchpad heeft een gelimiteerde mogelijkheid tot ontwikkeling. Zo kan er geen seriale poort worden aangesproken of uitgelezen.
 
* De Launchpad wekt te weinig energie op om meerdere servo's aan te spreken.
 
* We zijn uiteindelijk overgestapt naar een arduino, omdat deze wel de potentiële waarde heeft om een succesvol drumbot te ontwikkelen.
 
 
 
----
== Filmpje ==
Zie de robot in [http://youtu.be/0gTnZMi-6w4?hd=1.avi actie] en [http://youtu.be/aJ5U5yEHjKk hier]
 
 
----
 
== Code ==
<nowiki>
#include <Servo.h>
 
Servo myservo1; 
Servo myservo2; 
Servo myservo3;
 
int pos1 = 0;   
int delaylinks = 2;
int delayrechts = 2;
int delaymidden = 2;
int check1 = 0;
int check2 = 0;
 
int noteLib[] = {
  2,2,1,2,0,2,1,0,0,0,0,0,1,1,1,0,1,2,1,0,0 }; 
//e e d e c e d c c c c c d d d c d e d c c
int thisNote = 0;
int note;
int noteDurations[] = {
  4,6,4,6,4,6,4,4,6,4,4,6,4,6,4,4,4,6,4,4,6 };
//ee de ce dcc ccc dd dcde dcc
//46 46 46 446 446 46 4446 446
int thisDuration = 2;
int Duration;
void setup()
{
  Serial.begin(9600);
  myservo1.attach(11);
  myservo2.attach(10);
  myservo3.attach(9);
}
 
void links(){
  Serial.println("links");
  for(pos1 = 50; pos1 < 85; pos1 += 1)  // hoe hoger des te meer tegen het glas aan
  {                                 
    myservo1.write(pos1);             
    delay(delaylinks);                       
    //Serial.println(pos1);
  }
  Serial.println("links omlaag");
  for(pos1 = 85; pos1>=51; pos1-=1)    // hoe hoger des te meer tegen het glas aan
  {                               
    myservo1.write(pos1);             
    delay(delaylinks);                       
  }
}
 
void rechts(){
  Serial.println("rechts");
  for(pos1 = 35; pos1 < 65; pos1 += 1)  // hoe lager des te meer tegen het glas aan
  {                                 
    myservo2.write(pos1);             
    delay(delayrechts);                     
  }
  for(pos1 = 65; pos1>=36; pos1-=1)    // hoe lager des te meer tegen het glas aan
  {                               
    myservo2.write(pos1);           
    delay(delayrechts);                     
  }
}
 
void midden(){
  Serial.println("midden");
  for(pos1 = 30; pos1 < 60; pos1 += 1)    // hoe lager des te meer tegen het glas aan
  {
    myservo3.write(pos1);
    delay(delaymidden);
  }
  for(pos1 = 60; pos1>=31; pos1-=1)        // hoe lager des te meer tegen het glas aan
  {
    myservo3.write(pos1);
    delay(delaymidden);
  }
}
 
void loop(){
 
  // Serial.print("thisnote =  ");
  // Serial.println(thisNote);
  note = noteLib[thisNote];
  Duration = noteDurations[thisDuration];
  // Serial.print("note =  ");
  // Serial.println(note);
  switch (note) {
  case 0:   
    Serial.println("case 0");
    delaylinks = Duration;
    links();
    thisNote++;
    thisDuration++;
    break;
  case 1:   
    Serial.println("case 1");
    delayrechts = Duration;
    rechts();
    thisNote++;
    thisDuration++;
    break;
  case 2:
    Serial.println("case 2");
    delaymidden = Duration;
    midden();
    thisNote++;
    thisDuration++;
    break;
  }
  if (thisNote == 9){
    thisNote = 0;
    thisDuration = 0;
  }
}
</nowiki>
 
 
 
----
 
== Contact: ==
 
[mailto:263346@student.fontys.nl Ralph]
 


- De Launchpad wekt te weinig energie op om meerdere servo's aan te spreken.


- We zijn uiteindelijk overgestapt naar een arduino, omdat deze wel de potentiële waarde heeft om een succesvol drumbot te ontwikkelen.
Ralph--[[Speciaal:Bijdragen/84.27.35.55|84.27.35.55]] 11 nov 2012 15:05 (CET)

Huidige versie van 24 jan 2013 om 12:20

Hoofdpagina | Fanbot | Eckart College | Fontys Robots | Kekbot mechatronics kit | Hardware | Software&Programma's | Tips



Info:

door Ralph en Kostas

Dit is een robot gemaakt voor het kekrobot project. de glastikbot is een drumbot die een melody maakt doormiddel van op een glas te tikken



Status:

De drumbot kan rythme en noten lezen waardoor het mogelijk is om liedjes in te laden en door de drumbot te laten afspelen.



Problemen:

  • De Launchpad heeft een gelimiteerde mogelijkheid tot ontwikkeling. Zo kan er geen seriale poort worden aangesproken of uitgelezen.
  • De Launchpad wekt te weinig energie op om meerdere servo's aan te spreken.
  • We zijn uiteindelijk overgestapt naar een arduino, omdat deze wel de potentiële waarde heeft om een succesvol drumbot te ontwikkelen.



Filmpje

Zie de robot in actie en hier



Code

#include <Servo.h>

Servo myservo1;   
Servo myservo2;  
Servo myservo3;

int pos1 = 0;     
int delaylinks = 2;
int delayrechts = 2;
int delaymidden = 2;
int check1 = 0;
int check2 = 0;

int noteLib[] = {
  2,2,1,2,0,2,1,0,0,0,0,0,1,1,1,0,1,2,1,0,0 };  
//e e d e c e d c c c c c d d d c d e d c c
int thisNote = 0;
int note;
int noteDurations[] = {
  4,6,4,6,4,6,4,4,6,4,4,6,4,6,4,4,4,6,4,4,6 }; 
//ee de ce dcc ccc dd dcde dcc
//46 46 46 446 446 46 4446 446
int thisDuration = 2;
int Duration;
void setup() 
{ 
  Serial.begin(9600);
  myservo1.attach(11); 
  myservo2.attach(10); 
  myservo3.attach(9);
} 

void links(){
  Serial.println("links");
  for(pos1 = 50; pos1 < 85; pos1 += 1)  // hoe hoger des te meer tegen het glas aan
  {                                   
    myservo1.write(pos1);               
    delay(delaylinks);                        
    //Serial.println(pos1);
  }
  Serial.println("links omlaag");
  for(pos1 = 85; pos1>=51; pos1-=1)     // hoe hoger des te meer tegen het glas aan 
  {                                
    myservo1.write(pos1);              
    delay(delaylinks);                        
  } 
}

void rechts(){
  Serial.println("rechts");
  for(pos1 = 35; pos1 < 65; pos1 += 1)  // hoe lager des te meer tegen het glas aan
  {                                  
    myservo2.write(pos1);              
    delay(delayrechts);                       
  } 
  for(pos1 = 65; pos1>=36; pos1-=1)     // hoe lager des te meer tegen het glas aan 
  {                                
    myservo2.write(pos1);             
    delay(delayrechts);                       
  } 
}

void midden(){
  Serial.println("midden");
  for(pos1 = 30; pos1 < 60; pos1 += 1)    // hoe lager des te meer tegen het glas aan
  {
    myservo3.write(pos1);
    delay(delaymidden);
  }
  for(pos1 = 60; pos1>=31; pos1-=1)        // hoe lager des te meer tegen het glas aan
  {
    myservo3.write(pos1);
    delay(delaymidden);
  }
}

void loop(){

  // Serial.print("thisnote =  ");
  // Serial.println(thisNote);
  note = noteLib[thisNote];
  Duration = noteDurations[thisDuration];
  // Serial.print("note =  ");
  // Serial.println(note);
  switch (note) {
  case 0:    
    Serial.println("case 0");
    delaylinks = Duration;
    links();
    thisNote++;
    thisDuration++;
    break;
  case 1:    
    Serial.println("case 1");
    delayrechts = Duration;
    rechts();
    thisNote++;
    thisDuration++;
    break;
  case 2:
    Serial.println("case 2");
    delaymidden = Duration;
    midden();
    thisNote++;
    thisDuration++;
    break;
  }
  if (thisNote == 9){
    thisNote = 0;
    thisDuration = 0;
  }
}
 



Contact:

Ralph


Ralph--84.27.35.55 11 nov 2012 15:05 (CET)