Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Programa de pruebas para la comunicación entre PC y arduino
- // Creado por rubenelportero
- // http://rubenelportero.net http://ingenieroaburrido.com
- int X = 0; //variable integer de los milisegundos del parpadeo del led
- byte Y = 3; //estado del led (2 = cada vez parpadea mas rapido, 1 = cada vez parpadea mas lento, Y= 3 Led apagado).
- byte orden = 0; //variable donde se guardaran los datos recibidos del ordenador.
- byte Z = 0; //variable para el funcionamiento del modo1
- int modo1() { // la función del parpadeo decreciente/creciente [práctica 2]
- if (X > 50 and Y == 2 and orden > 48) //Si "X" es mayor que 50 y el modo "Y...
- {
- X = X - 50; //... a X se le resta 50
- }
- else if (X >= 1 and Y == 2 and orden > 48) //Si no fuese asi pero "X" es mayor o igual que 1 e "Y" es dos...
- {
- X = X - 1; //... a X se le resta 1
- }
- else if (X < 1 and Y == 2 and orden > 48) //Si no fuese asi pero "X" es menor o igual que 1 e "Y" es dos...
- {
- Y = 1; //"Y" pasa a ser 1, (cambia de modo)
- }
- if (X <= 1000 and Y == 1 and orden > 48) //Si "X" es menor o igual que 00 e "Y" es 1...
- {
- X = X + 50; //... a X se le suma 50
- }
- else //si no fuese asi...
- {
- Y = 2; //"Y" cambia a 2, cambiando el modo
- }
- }
- // The setup() solo ocurre al iniciar el programa. (1 vez)
- void setup() {
- // iniciamos el PIN 13 como output para darle tension y encender asi el led
- pinMode(13, OUTPUT); // El led de la arduino nano esta en el PIN 13
- Serial.begin(115200); //iniciamos la comunicacion en 115200 baudios
- }
- // The loop() se ejecuta indefinidamente.
- void loop()
- {
- if (Y != 3) { // Si Y es distinto de 3, entonces...
- digitalWrite(13, HIGH); // encendemos el LED
- delay(X); // esperamos "X" milisegundos
- digitalWrite(13, LOW); // apagamos el LED
- delay(X); // esperamos "X" milisegundos
- if (Z == 1) { //si el modo1 está activado, ejecutamos la funcion
- modo1();
- }
- }
- if (Serial.available() > 0) { //si recibimos datos...
- orden = Serial.read(); // los almacenamos en una variable
- if (orden == 49) { //49 es el valor de la tecla "1" del ordenador
- Serial.print("modo LED apagado activado"); //manda un mensaje al ordenador
- Serial.print("\n");
- Y = 3;
- Z = 0;
- }
- else if (orden == 50) { //50 es el valor de la tecla "2" del ordenador
- Serial.print("modo LED encendido activado"); //manda un mensaje al ordenador
- Serial.print("\n");
- X = 0;
- Y = 1;
- Z = 0;
- }
- else if (orden == 51) { //51 es el valor de la tecla "3" del ordenador
- Serial.print("modo LED parpadeante con decrecimiento y crecimiento activado");
- Serial.print("\n"); //manda un mensaje al ordenador
- Y = 2;
- X = 1000;
- Z = 1;
- }
- else if (orden == 52) { //52 es el valor de la tecla "4" del ordenador
- Serial.print("modo LED parpadeante cada 3 segundos activado");
- Serial.print("\n"); //manda un mensaje al ordenador
- Y = 0;
- X = 3000;
- Z = 0;
- }
- else if (orden == 53) { //53 es el valor de la tecla "5" del ordenador
- Serial.print("modo LED parpadeante cada 2 segundos activado");
- Serial.print("\n"); //manda un mensaje al ordenador
- Y = 0;
- X = 2000;
- Z = 0;
- }
- else if (orden == 54) { //54 es el valor de la tecla "6" del ordenador
- Serial.print("modo LED parpadeante cada segundo activado");
- Serial.print("\n"); //manda un mensaje al ordenador
- Y = 0;
- X = 1000;
- Z = 0;
- }
- else if (orden == 55) { //55 es el valor de la tecla "7" del ordenador
- Serial.print("modo LED parpadeante cada medio segundo activado");
- Serial.print("\n"); //manda un mensaje al ordenador
- Y = 0;
- X = 500;
- Z = 0;
- }
- else if (orden == 56) { //56 es el valor de la tecla "8" del ordenador
- Serial.print("modo LED parpadeante cada 200 milisegundos activado");
- Serial.print("\n"); //manda un mensaje al ordenador
- Y = 0;
- X = 200;
- Z = 0;
- }
- else if (orden == 57) { //57 es el valor de la tecla "9" del ordenador
- Serial.print("modo LED parpadeante follao perdio activado");
- Serial.print("\n"); //manda un mensaje al ordenador
- Y = 0;
- X = 30;
- Z = 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment