Difference between revisions of "SKYMEGA"
Jump to navigation
Jump to search
Jgvictores (talk | contribs) (Created page with 'http://www.iearobotics.com/wiki/index.php?title=SkyMega') |
(Programilla para PWM) |
||
(5 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
http://www.iearobotics.com/wiki/index.php?title=SkyMega | http://www.iearobotics.com/wiki/index.php?title=SkyMega | ||
+ | |||
+ | Se puede programar en el entorno Arduino (teclear '''arduino''' en una [[Consola_de_Linux |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: [http://arduino.cc/en/Reference/serial] | ||
+ | |||
+ | 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_de_Linux |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); | ||
+ | } |
Latest revision as of 18:51, 26 September 2013
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); }