elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  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 9,621 veces)
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 639


Another Brick in the Wall


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
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. char ruta[13];
  5.  
  6. FILE *fp;
  7.  
  8. int pedirNum();
  9. void abrir();
  10.  
  11. int main(void)
  12. {
  13. int op, var;
  14. strncpy(ruta, "/dev/ttyUSB0", 13);
  15.  
  16. if ((fp=fopen(ruta, "a"))==NULL)
  17. {
  18. fprintf(stdout, "No se puede abrir el archivo\n");
  19. return 0;
  20. }
  21.  
  22. fcloseall();
  23.  
  24. do
  25. {
  26. fprintf(stdout, "Introduce valor (0 para salir)\n");
  27. var =pedirNum();
  28. if (var==0)
  29. {
  30. abrir(); putc(0, fp); fclose(fp);
  31. break;
  32. }
  33.  
  34. else
  35. {
  36. switch(var)
  37. {
  38. case 1: abrir(); putc(1, fp); fclose(fp); break;
  39. case 2: abrir(); putc(2, fp); fclose(fp); break;
  40. case 3: abrir(); putc(3, fp); fclose(fp); break;
  41. }
  42. }
  43. } while (1);
  44.  
  45. return 0;
  46. }
  47.  
  48. int pedirNum()
  49. {
  50. int valor;
  51. do
  52. {
  53. scanf("%d", &valor);
  54. } while (valor<0 || valor>3);
  55. return valor;
  56. }
  57.  
  58. void abrir()
  59. {
  60. if ((fp=fopen(ruta, "w"))==NULL)
  61. {
  62. fprintf(stdout, "Imposible abrir el archivo\n");
  63. }
  64. }

Archivo para Arduino;
Código
  1. int var;
  2. int ledPin =13;
  3.  
  4. void setup()
  5. {
  6.  Serial.begin(9600);
  7.  pinMode (ledPin, OUTPUT);
  8.  var =0;
  9. }
  10.  
  11. void loop()
  12. {
  13.  if (Serial.available() >0)
  14.  {
  15.    var =Serial.read();
  16.  
  17.    outtext(var);
  18.  
  19.    if (var==0)
  20.    {
  21.      Serial.print("End.\n");
  22.      offLeds();
  23.    }
  24.  
  25.    if (var==1)
  26.    {
  27.      digitalWrite(ledPin, HIGH);
  28.    }
  29.  
  30.    if (var==2)
  31.    {
  32.      digitalWrite(ledPin, LOW);
  33.    }
  34.  
  35.    if (var==3)
  36.    {
  37.      parpadea();
  38.    }
  39.  }
  40. }
  41.  
  42. void outtext (int valor)
  43. {
  44.  if (valor==1)
  45.    Serial.println("State 1 - ON");
  46.  if (valor==2)
  47.    Serial.println("State 2 - OFF");
  48.  if (valor==3)
  49.    Serial.println("State 3 - BLINK");
  50. }
  51.  
  52. void parpadea()
  53. {
  54.  int cont;
  55.  for (cont=0;cont<10;cont++)
  56.  {
  57.    digitalWrite(ledPin, HIGH);
  58.    delay(250);
  59.    digitalWrite(ledPin, LOW);
  60.    delay(250);
  61.  }
  62. }
  63.  
  64. void offLeds()
  65. {
  66.  digitalWrite(ledPin, LOW);
  67. }
  68.  



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.292



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.
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 639


Another Brick in the Wall


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.292



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.
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 639


Another Brick in the Wall


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:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda vs 2013 apagar y encender el internet ||MadAntrax|| help
Programación Visual Basic
dega1980 9 2,241 Último mensaje 13 Marzo 2014, 06:01
por dega1980
[Info] Encender y apagar un Led con ARduino y Visual Studio 2015
Electrónica
Meta 9 6,099 Último mensaje 24 Febrero 2016, 18:46
por Meta
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines