SKYMEGA

From Asociación de Robótica UC3M
Jump to navigation Jump to search

http://www.iearobotics.com/wiki/index.php?title=SkyMega

Se puede programar en el entorno Arduino (teclear arduino en una consola).

Se necesitan programar dos funciones:

  • setup() para rutinas de inicio
  • loop() para funciones periódicas

Un ejemplo sencillo que nos devuelve lo que enviamos por el puerto serie: [1]

int incomingByte = 0;   // for incoming serial data

void setup() {
       Serial.begin(9600);     // opens serial port, sets data rate to 9600 bps
}

void loop() {

       // send data only when you receive data:
       if (Serial.available() > 0) {
               // read the incoming byte:
               incomingByte = Serial.read();

               // say what you got:
               Serial.print("I received: ");
               Serial.println(incomingByte, DEC);
       }
}

Podemos probarlo desde el entorno Arduino haciendo click en Tools -> Serial Monitor, utilizando el programa cutecom, o desde una consola:

screen /dev/ttyUSB0 9600

Un programa que envía PWM:

#include <Servo.h> 
 
const int SALIDA = 10;
const int ENTRADA = 5;

Servo signal; 

void setup() {
       pinMode(ENTRADA,INPUT);
       signal.attach(SALIDA);
       Serial.begin(9600);
}  

void loop() { 
       if(digitalRead(ENTRADA))signal.writeMicroseconds(1000);
       else signal.writeMicroseconds(2000);      
}