Home > Manuscriptus digitalis > Primeros pasos con Arduino Duemilanove

Primeros pasos con Arduino Duemilanove

March 31st, 2010

No me hiba a quedar con las ganas de hacer algo con Arduino y acabo de recibir la placa Duemilanove :D

Aún no tengo tantos componentes como para hacer algo interesante, pero al menos pude hacer mi “hola mundo”. Este sencillo programa envía una señal de auxilio en clave morse: SOS (· · · — — — · · ·) usando el led integrado en la placa. El código original es parte de los ejemplos que viene con el IDE. Además, el programa envía el mensaje a la computadora usando el USB.

No es nada elaborado, simplemente quería hacer algo rápido :P

/* Blink Modificado. Envía una señal SOS en código morse
El circuito:
* un LED conectado del pin digial 13 a tierra.
* Nota: Al menos en la placa Duemilanove viene con el LED integrado
Creado en 1 Junio 2005 por David Cuartielles
Modificado 2010-03-31 por Antonio

http://arduino.cc/en/Tutorial/Blink

based on an orginal by H. Barragan for the Wiring i/o board
*/

int ledPin =  13;    // LED connected to digital pin 13
int contador = 0; //Se usa para calcular el mensaje SOS

// El método setup() se ejecuta una sola vez al inicio del programa
void setup()   {
  // Se inicializa el pin digital como SALIDA:
  pinMode(ledPin, OUTPUT);
  //Se comienza la transmisión serie
  Serial.begin(9600);
}

// El método loop() method runs over and over again,
// as long as the Arduino has power
void loop() {
  if((contador > 2) && (contador < 6) ) {
    digitalWrite(ledPin, HIGH); //Prende el LED
    delay(400);                //Se espera 400 ms
    digitalWrite(ledPin, LOW); //Apaga el LED
    delay(400);                //Se espera 400 ms
    Serial.print("-");         //Imprime el guión
  } else {
    digitalWrite(ledPin, HIGH); //Prende el LED
    delay(150);                //Se espera 150 ms
    digitalWrite(ledPin, LOW); //Apaga el LED
    delay(150);                //Se espera 150 ms
    Serial.print(".");         //Imprime el punto
  }

  Serial.print(" "); //Despues de cada caracter pone un espacio dentro de la transmisión serie
  contador++; //Suma 1 al contador
  if(contador == 9) { //Si el mensaje terminó, reinicia el contador y espera dos segundos para repetirlo
    contador = 0;
    delay(2000);
    Serial.println(" "); //Pasamos a la siguiente línea en la transmisión
  }

  if((contador % 3) == 0) //Hace una pequeña pausa entre letra y letra
  delay(400);
}

Recursos

Primeros pasos: http://www.ladyada.net/learn/arduino/

Comments are closed.