Plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar.
Rodrigo Zarza @Zarza Offline #1
Llega la domótica a GTV!
A ver qué os parece:



La idea es muy sencilla:
Lo que hay tirado en el suelo es una fotoresistencia, detecta la cantidad de luz y envia un valor al arduino. Según lo grande que sea este valor, hace que gire más o menos el servo. Al girar el servo, tira del cordel y levanta la puerta.
Luego por seguridad he puesto un retardo de 1 segundo, para que no me caiga la puerta encima.

Sólo falta que un arquitecto me apruebe el cartón como material de construcción.


Segunda versión, esta vez con pantalla de bienvenida dinámica:



Código: Seleccionar todo
  1.  
  2. #include <Servo.h>
  3. #include <LiquidCrystal.h>
  4. const int sensorMin = 0;      // constante minima de la fotoresistencia
  5. const int sensorMax = 600;    // constante maxima de la fotoresistencia
  6.  
  7. LiquidCrystal lcd(13, 12, 5, 4, 3, 2);
  8.  
  9. Servo myservo;   // Crea un objeto servo para controlar el servomotor
  10.  
  11. int potpin = 0;  // Pin analógico usado para conectar el potenciómetro
  12. int val;         // variable para leer el valor del pin analógico
  13.  
  14. int Led1 = 6;
  15. int Led2 = 7;
  16. int Led3 = 8;
  17.  
  18.  
  19. void setup()
  20. { Serial.begin(9600);  // inicia el circuito de la fotoresistencia
  21.    int sensorReading = analogRead(A0); //leemos el valor que da la fotoresistencia que llega a la entrada analogica A0
  22.   myservo.attach(9);  // asocia el servo en pin 9 al objeto servo
  23.   pinMode(Led1, OUTPUT);       // Asignamos la variable Led ,que corresponde al pin 13,como salida  
  24.   pinMode(Led2, OUTPUT);
  25.   pinMode(Led3, OUTPUT);  
  26. }
  27.  
  28. void loop()
  29. {
  30.   val = analogRead(A0);            // lee el valor del potenciómetro (valor entre 0 y 1023)
  31.   val = map(val, 0, 710, -70, 120);  // escala el valor para usarlo con el servo (valor entre 0 y 180)
  32.   val*=3;
  33.   myservo.write(val);   // fija la posición del servo de acuerdo al valor escalado
  34.  delay(1000);  
  35.  
  36.    if (val>130){
  37.    lcd.begin(16, 2);
  38.    lcd.print("Bienvenido a");
  39.     lcd.setCursor(0, 1);
  40.     lcd.print("GradoTelecoVigo");
  41.     digitalWrite(Led1, LOW);
  42.     digitalWrite(Led2, LOW);
  43.     digitalWrite(Led3, HIGH);
  44.     delay(500);
  45.                              
  46.  
  47.    
  48.    }
  49.    else{
  50.       lcd.begin(16, 2);
  51.    lcd.print("Pase caballero.");
  52.     lcd.setCursor(0, 1);
  53.     lcd.print("Esta es su casa.");
  54.     digitalWrite(Led1, 1);
  55.     digitalWrite(Led2, 0);
  56.     digitalWrite(Led3, 0);
  57.  
  58.      
  59.  
  60.    }
  61. }
  62.  
Simracer para: 7thRacing
Linkin' Unit
Avatar de Usuario
Veterano
Arduino
May 2011 | 982 Mens.
Los siguientes usuarios han agradecido a Zarza este post
Gerardo (28 Feb 2012, 16:24), victorsilva (28 Feb 2012, 16:52), Iván (28 Feb 2012, 23:20), Alex (28 Feb 2012, 23:20), Andrés (28 Feb 2012, 23:37)


Pepotis @pepotis Offline #2
Chulísimo Zarza. Pero si te mola la idea cómprate un una célula fotodetectora, que valen cuatro duros :-). Te lo pillará muchísimo mejor que el LDR
Avatar de Usuario
Veterano
Diferencial
Ene 2011 | 190 Mens.

Rodrigo Zarza @Zarza Offline #3
sí, si ahora hay que ir viendo qué hace falta realmente. la LDR la usé con la misma finalidad pero porque ya viene con Arduino, si no ni eso. Ya ves que para que funcione tengo que encender la lámpara jaja
me alegro que os guste pues
Simracer para: 7thRacing
Linkin' Unit
Avatar de Usuario
Veterano
Arduino
May 2011 | 982 Mens.

Rodrigo Zarza @Zarza Offline #4
Segunda versión, esta vez con pantalla de bienvenida dinámica:

Comentad, que hace falta XD posibles ideas para mejorarlo?

Simracer para: 7thRacing
Linkin' Unit
Avatar de Usuario
Veterano
Arduino
May 2011 | 982 Mens.

Gerardo Balboa @Gerardo Offline #5
La hostia jajaja
Imagen
Avatar de Usuario
Administrador
Legendario
Nov 2010 | 2509 Mens.
Los siguientes usuarios han agradecido a Gerardo este post
Zarza (28 Feb 2012, 21:39)


Iván P. @Iván Offline #6
esta de puta madre, porque yo ya tengo motor en el portal sino te pedia que me lohicieses a lo grande jajajajjajaja
Imagen
Avatar de Usuario
Veterano
Java
Dic 2010 | 634 Mens.
Los siguientes usuarios han agradecido a Iván este post
Zarza (28 Feb 2012, 23:23)


Alejandro Alonso Rodriguez @Alex Offline #7
Que chulada tio! Como te lo curras xD
"Un discurso político tiene que ser como una buena minifalda. Lo suficientemente corto como para llamar la atención, pero lo suficientemente largo como para tapar lo importante"
Google+ || Twitter
Avatar de Usuario
Administrador
Legendario
Nov 2010 | 2053 Mens.
Los siguientes usuarios han agradecido a Alex este post
Zarza (28 Feb 2012, 23:23)


Rodrigo Zarza @Zarza Offline #8
Iván escribió:
esta de puta madre, porque yo ya tengo motor en el portal sino te pedia que me lohicieses a lo grande jajajajjajaja


jaja gracias chavales. ya digo que realmente es muy sencillo, me ha costado más poner la pantalla que lo otro todo xD vale que tardé en encontrar los cartones y algo para poder subir la puerta desde arriba, (aún que diciendo esto... voy a ver si consigo hacer una corredera con dos servos).
Así que el mismo principio se puede aplicar a una puerta de verdad. cambiando el sensor de luz por uno con tarjeta o así, y el cartón por una puerta de verdad jeje. el arduino funcionaría igual.
Simracer para: 7thRacing
Linkin' Unit
Avatar de Usuario
Veterano
Arduino
May 2011 | 982 Mens.

Andrés Álvarez Palacio @Andrés Offline #9
Me ha dado la idea de un ascensor, el fin de semana me pondré :)
Por cierto, tengo 2 motores, uno que vino con arduino y otro que tenia por ahi. A ver si consigo ponerlos en el mismo circuito :)
Avatar de Usuario
Veterano
Robot
Nov 2010 | 1484 Mens.

Rodrigo Zarza @Zarza Offline #10
bueno, si los dos motores hacen lo mismo, no veo por que no. Son motores sensorless (sin sensores), por tanto sólo van a hacer caso si le llega corriente o no y de qué voltaje.
Simracer para: 7thRacing
Linkin' Unit
Avatar de Usuario
Veterano
Arduino
May 2011 | 982 Mens.

@drigosal Offline #11
Zarza, una cosa, como hiciste para mapear la fotoresistencia??
El primer paso de la ignorancia es presumir de saber -- Baltasar Gracián

http://www.gradotelecovigo.com/todo-sobre-blackberry-t635.html

DRIGOSAL
Avatar de Usuario
Veterano
Número complejo
Ene 2011 | 130 Mens.

Rodrigo Zarza @Zarza Offline #12
perdona Drigosal, no vi este post antes.
puse el código en el primer post, a ver si llega. si no te explico más detalladamente.
Simracer para: 7thRacing
Linkin' Unit
Avatar de Usuario
Veterano
Arduino
May 2011 | 982 Mens.

Volver a Arduino

cron