- Mié, 20 Feb 2008 1:39
#627960
Arduino es una plataforma de desarrollo hipersimple para cacharrear con microcontroladores de la manera mas fácil y económica. Podéis ver mas info en mi blog donde también están los enlaces externos para meterse en éste mundillo: http://arocholl.blogspot.com/2008/02/pr ... duino.html
Animaros, se pueden hacer muchas cosas con muy poco esfuerzo y dinero, sin necesidad de las complicaciones habituales del trabajo con micros para el aficionado. Por ejemplo, muchos de los ejemplos que se han presentado en este foro para hacer parpadear leds a distintas frecuencias y con distintas configuraciones se puede configurar en 20 minutos en una placa arduino, y sin mas que la plaquita y un cable USB.
Para ir abriendo boca, os presento un pequeño programa que testea un servo en todo su recorrido, simplemente conectandolo a la plaquita de Arduino (por supuesto sin necesidad de emisora ni receptor). El servo irá a un extremo, al centro y al otro extremo, y así indefinidamente.
Animaros, se pueden hacer muchas cosas con muy poco esfuerzo y dinero, sin necesidad de las complicaciones habituales del trabajo con micros para el aficionado. Por ejemplo, muchos de los ejemplos que se han presentado en este foro para hacer parpadear leds a distintas frecuencias y con distintas configuraciones se puede configurar en 20 minutos en una placa arduino, y sin mas que la plaquita y un cable USB.
Para ir abriendo boca, os presento un pequeño programa que testea un servo en todo su recorrido, simplemente conectandolo a la plaquita de Arduino (por supuesto sin necesidad de emisora ni receptor). El servo irá a un extremo, al centro y al otro extremo, y así indefinidamente.
Código: Seleccionar todo
/*
RC_Test - Basic R/C Servo tester
(C) Ariel Rocholl - 2008, Madrid Spain
Feel free to share this source code, but include explicit mention to the author.
Licensed under creative commons - see http://creativecommons.org/licenses/by-sa/3.0/
*/
int ledPin = 13; // LED connected to digital pin 13
int PinPPM1 = 12; // PPM signal that goes 1000us-1500us-2000us
void setup() // run once, when the sketch starts
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
pinMode(PinPPM1, OUTPUT);
}
void loop() // run over and over again
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
while(1)
{
//Produce the 1-1.5-2ms standard servo travel
for (int nInd=0; nInd<30; nInd++)
{
digitalWrite(PinPPM1,HIGH);
delayMicroseconds(1000); //1ms pulse
digitalWrite(PinPPM1,LOW);
delay(18); //17ms low till next pulse
}
for (int nInd=0; nInd<30; nInd++)
{
digitalWrite(PinPPM1,HIGH);
delayMicroseconds(1500); //1.5ms pulse
digitalWrite(PinPPM1,LOW);
delay(18); //17ms low till next pulse
}
for (int nInd=0; nInd<30; nInd++)
{
digitalWrite(PinPPM1,HIGH);
delayMicroseconds(2000); //2ms pulse
digitalWrite(PinPPM1,LOW);
delay(18); //17ms low till next pulse
}
}
}
Saludos - http://arocholl.blogspot.com/