elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 10:24  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica (Moderador: skapunky)
| | |-+  Arduino: Encender y apagar Led
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Arduino: Encender y apagar Led  (Leído 3,315 veces)
Daemon Freedom
Wiki

Desconectado Desconectado

Mensajes: 488


typedef struct Nodo


Ver Perfil WWW
Arduino: Encender y apagar Led
« en: 31 Mayo 2010, 03:51 »

He creado un pequeño proyecto para encender y apagar un led conectado a Arduino, a través de un ejecutable escrito en C bajo GNU/Linux.

Códigos;

Archivo para GNU/Linux;

Código
#include <stdio.h>
#include <string.h>
 
char ruta[13];
 
FILE *fp;
 
int pedirNum();
void abrir();
 
int main(void)
{
int op, var;
strncpy(ruta, "/dev/ttyUSB0", 13);
 
if ((fp=fopen(ruta, "a"))==NULL)
{
fprintf(stdout, "No se puede abrir el archivo\n");
return 0;
}
 
fcloseall();
 
do
{
fprintf(stdout, "Introduce valor (0 para salir)\n");
var =pedirNum();
if (var==0)
{
abrir(); putc(0, fp); fclose(fp);
break;
}
 
else
{
switch(var)
{
case 1: abrir(); putc(1, fp); fclose(fp); break;
case 2: abrir(); putc(2, fp); fclose(fp); break;
case 3: abrir(); putc(3, fp); fclose(fp); break;
}
}
} while (1);
 
return 0;
}
 
int pedirNum()
{
int valor;
do
{
scanf("%d", &valor);
} while (valor<0 || valor>3);
return valor;
}
 
void abrir()
{
if ((fp=fopen(ruta, "w"))==NULL)
{
fprintf(stdout, "Imposible abrir el archivo\n");
}
}

Archivo para Arduino;
Código
int var;
int ledPin =13;
 
void setup()
{
 Serial.begin(9600);
 pinMode (ledPin, OUTPUT);
 var =0;
}
 
void loop()
{
 if (Serial.available() >0)
 {
   var =Serial.read();
 
   outtext(var);
 
   if (var==0)
   {
     Serial.print("End.\n");
     offLeds();
   }
 
   if (var==1)
   {
     digitalWrite(ledPin, HIGH);
   }
 
   if (var==2)
   {
     digitalWrite(ledPin, LOW);
   }
 
   if (var==3)
   {
     parpadea();
   }
 }
}
 
void outtext (int valor)
{
 if (valor==1)
   Serial.println("State 1 - ON");
 if (valor==2)
   Serial.println("State 2 - OFF");
 if (valor==3)
   Serial.println("State 3 - BLINK");
}
 
void parpadea()
{
 int cont;
 for (cont=0;cont<10;cont++)
 {
   digitalWrite(ledPin, HIGH);
   delay(250);
   digitalWrite(ledPin, LOW);
   delay(250);
 }
}
 
void offLeds()
{
 digitalWrite(ledPin, LOW);
}
 



Versión actual: 0.2
* Añadida función Blink
* Añadido State 0; END.

Out Serial;

Citar
State 1 - ON

State 2 - OFF

State 3 - BLINK

End.




Como podéis ver, el Led está conectado a la salida digital 13, la cual incluye resistencia propia.

Vídeo de funcionamiento; (v. 0.1)




Quién quiera usar el código en otros sistemas operativos, solo tiene que cambiar la ruta del archivo de Arduino. Creo que no habría que cambiar mas, pues he usado funciones estándar ^^.

Si alguien quiere mejorar el code, o solamente opinar, ya sabéis, para eso estamos ^^.


« Última modificación: 2 Junio 2010, 05:57 por GNU López » En línea

Sk9ITk5Z


Desconectado Desconectado

Mensajes: 2.203


El esfuerzo hace la diferencia....


Ver Perfil WWW
Re: Arduino: Encender y apagar Led
« Respuesta #1 en: 31 Mayo 2010, 16:55 »

tegno una duda que librerias necesito en windows para poder hacer ese tipo de programas??


En línea


Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.
Daemon Freedom
Wiki

Desconectado Desconectado

Mensajes: 488


typedef struct Nodo


Ver Perfil WWW
Re: Arduino: Encender y apagar Led
« Respuesta #2 en: 31 Mayo 2010, 20:41 »

tegno una duda que librerias necesito en windows para poder hacer ese tipo de programas??

Necesitas un Arduino y el compilador para arduino...  Para el programa en C, cabeceras estándar..XD
En línea

Sk9ITk5Z


Desconectado Desconectado

Mensajes: 2.203


El esfuerzo hace la diferencia....


Ver Perfil WWW
Re: Arduino: Encender y apagar Led
« Respuesta #3 en: 31 Mayo 2010, 23:26 »

tegno una duda que librerias necesito en windows para poder hacer ese tipo de programas??

Necesitas un Arduino y el compilador para arduino...  Para el programa en C, cabeceras estándar..XD

ok me pondre a investigar que es un ARduino  :xD
En línea


Este es un pueblo de corazón extraviado, no quiere conocer mis caminos por eso no entraran en mi descanso.
Daemon Freedom
Wiki

Desconectado Desconectado

Mensajes: 488


typedef struct Nodo


Ver Perfil WWW
Re: Arduino: Encender y apagar Led
« Respuesta #4 en: 2 Junio 2010, 05:58 »

tegno una duda que librerias necesito en windows para poder hacer ese tipo de programas??

Necesitas un Arduino y el compilador para arduino...  Para el programa en C, cabeceras estándar..XD

ok me pondre a investigar que es un ARduino  :xD
http://www.arduino.cc/es/
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines