Buscar este blog

lunes, 30 de diciembre de 2013

Como programar arduino parte 4

0 comentarios

Que tal blogueros que nos siguen en este curso sobre programar nuestro arduino en capitulos anteriores solo dimos una pequeña introduccion que nos sera de gran ayuda para seguir en nuestro curso que todavia le hacen falta unos 20 capitulos mas para tener el mayor conocimiento posible sobre arduino.

Asi que sin mas seguiremos con nuestro curso.

En este capitulo desarrollaremos una alarma intermitente de auxilio S.O.S de codigo morse por lo que primero demos una pequeña introduccion de lo que trata.

El codigo morse es un metodo de comunicacion. Su codificacion se basa en una serie de puntos y rayas. Las letras S.O.S (Save Our Souls, salvar nuestras almas) siguen siendo reconocidas como una señal internacional de socorro. En nuestro siguiente sketch haremos que nuestro led parpadee la secuencia  S.O.S  una y otra vez.

De material solo necesitara: Arduino, un led de 5mm y una resistencia de 270 ohms.

int led = 13; 
 
void setup() {                

  pinMode(led, OUTPUT);     
}
 
void loop()
 
{
digitalWrite(led, HIGH);// S(...) primer punto
delay (200); 

digitalWrite(led, LOW); 
delay (200); 
digitalWrite(led, HIGH);// S(...) segundo punto
delay (200); 
digitalWrite(led, LOW); delay (200); 
digitalWrite(led, HIGH);// S(...) tercer punto
delay (200);   
 
digitalWrite(led, LOW); delay (500); 
 
digitalWrite(led, HIGH);// o (-) primer raya
delay (500);  

digitalWrite(led, LOW); delay (500);  
 
digitalWrite(led, HIGH);// o (-) segunda raya 
delay (500);  
 
digitalWrite(led, LOW); delay (500);  
 
digitalWrite(led, HIGH);// o (-) tercer raya 
delay (500);   
 
digitalWrite(led, HIGH);// S(...) primer punto
delay (200); 
 
digitalWrite(led, LOW); delay (200); 
 
digitalWrite(led, HIGH);// S(...) segundo punto 
delay (200); 
 
digitalWrite(led, LOW); delay (200); 
 
digitalWrite(led, HIGH);// S(...) tercer punto
delay (200); 
 
digitalWrite(led, LOW); delay (1000); // Esperar 1 segundo     
 
 
 


En el proximo capitulo mostraremos como reducir el codigo considerablemente, si bien el
sketch anterior es completamente funcional el codigo resultante no es practico por lo
que tendremos que utilizar funciones para reducir el codigo para que sea mas practico.



<< Como programar arduino parte 3              Como programar arduino parte 5 >>                             

domingo, 8 de diciembre de 2013

Como programar arduino parte 3

0 comentarios
Aritmetica en arduino


Es raro que sea necesario ocupar mucha aritmetica en nuestros sketches. En ocaciones puede que tenga
que escalar una entrada analogica para convertirla en una temperatura o con mas frecuencia, agregar 1 a
una variable de recuento. Cuando se esta realizando calculos necesitara poder asignar el resultado a dicho
calculo a una variable.

Ejemplo

Las siguientes dos lineas de codigo tiene como mision proporcionar a la variable y el valor de 50 y a la
variable x  el valor de y+100

y=50;


strings (cadenas)

Cuando los programadores hablan de strings, se estan refiriendo a una cadena de caracteres, como por
ejemplo el mensaje "Hola mundo". Cuando usamos arduino hay algunas situaciones en las que puede que
tenga que utilizar strings, por ejemplo al escribir un mensaje en una pantalla LCD 16X2 o cuando se devuelven datos de texto serie a traves de la conexion USB.

Las strings se crean usando la siguiente sintaxis:

char* message= "Hola mundo";

La palabra char* indica que la variable message es un puntero a un caracter.

Instrucciones condicionales

Las instrucciones condicionales son una forma de tomar decisiones en un sketch. Por ejemplo se puede
encender un led si el valor de una variable de temperatura cae por debajo de un determinado umbral.

El codigo para el ejemplo anterior seria:

 if (temperatura < 15 )
{
 digitalwrite(led, HIGH);
}

La linea de codigo dentro de las llaves solo se ejecutaran si fuera cierta la condicion tras la clave.

La condicion tiene que ir entre parentesis.

Entonces la siguiente linea devuelve "true" si el valor de la variable temperatura es inferior a 15.

if (temperatura < 15 ) 

Al igual que <, tenemos : >, <= y >=.

Para ver si dos numeros son iguales, se puede usar ==, y para probar que no son iguales, se usa !=.

Por tanto la siguiente expresion devolvera "true" si la variable de temperatura tuviera cualquier valor 
que no fuera 15.

Tambien se puede crear condiciones complejas mediante los denominados operados logicos. Los pricipales
operadores  son && (y), y ||  (o).

Por tanto un ejemplo que enciende el LED si la temperatura es inferior a 15  o superior a 20 podria ser el
siguiente:

if ( (temperatura < 15 ) ll (temperatura > 20) )
{
   digitalwrite (led, HIGH);


A menudo, cuando se utiliza una instruccion con el condicional if (si ...) se desea hacer una cosa si la condicion es verdadera y otra cosa si es falsa. Esto se puede hacer utilizando la palabra clave else como 
se muestra en el siguiente ejemplo:

if ( (temperatura < 15 ) ll (temperatura > 20) )
{
   digitalwrite (led, HIGH);


else

{
digitalwrite(led, LOW);
}

 Conclusiones

En lo que llevamos del curso hemos explorado solo un poco del lenguaje en C y de aspectos basicos de arduino, hay mucho todavia que tenemos que aprender si no se esta familiarizado con la programacion  y la 
electronica pero en capitulos futuro puliremos todos esos detalles y haremos proyecto cada vez mas serios para tener un conocimiento profundo sobre arduino.  


<< Como programar arduino parte 2                                          Como programar arduino parte 4 >>      

Electronica facilita