En esta ocasión las placas las he pedido en IteadStudio, el mismo sitio donde los moDuinos, en total han salido por 21€ con envió incluido por las 10 unidades + dos aleatorias de regalo.
Leer másCategoría: Arduino
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. Leer más.
Arduino: Apertura de válvula programada
Enunciado:
Hay que realizar un ciclo de purga cada x tiempo, y cada purga durará 200 ms. El tiempo entre purga y purga viene determinado por la operación 2300/intensidad=seg. Siendo la Intensidad la que voy a leer del sensor de intensidad. Es decir, si estando en varios estado de funcionamiento del sistema, ejecuto la operación (2300/i) y ese valor que me da, es el tiempo que tengo que esperar para purgar, en el momento que pase, pongo en alto la válvula de purga y purgo durante 200 ms (los 200 ms siempre es igual) cuando termino de purgar (200ms) vuelvo a realizar la operación y vuelvo a esperar el tiempo que salga del resultado de la operación y así sucesivamente. También tengo que tener en cuenta que la operación se realice una sola vez tras realizar la purga para evitar perdidas de datos, o que se pase todo el tiempo realizando operaciones y finalmente no purgue. Fuente: fc
Código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
#define tPURGADO 2000 #define pVALVULA 13 unsigned long tEsperaPurga = 10000; unsigned long tUltPurgado = 0; unsigned long tAhora; boolean purgando = false; unsigned long tInicioPurgado = 0; // Permite simular el sensor introduciendo a mano // los numeros desde la consola Serial del IDE void leerValorSensorPurgado() { if( Serial.available() ) { tEsperaPurga = Serial.parseInt(); while( Serial.available() && Serial.read() != -1 ); } } void funcionPurgando() { tAhora = millis(); if( purgando ) { if( tAhora-tInicioPurgado > tPURGADO ) { digitalWrite( pVALVULA, LOW ); tUltPurgado = tAhora; purgando = false; Serial.print("FIN ("); Serial.print(tAhora/1000); Serial.println(")"); } else { digitalWrite( pVALVULA, HIGH ); } } else if( tAhora-tUltPurgado > tEsperaPurga ) { tInicioPurgado = tAhora; purgando = true; leerValorSensorPurgado(); Serial.print("INICIO ("); Serial.print(tAhora/1000); Serial.println(")"); } } void setup() { pinMode(pVALVULA, OUTPUT); // Led del arduino que se encendera durante el purgado. Serial.begin(9600); while(!Serial); delay(2000); Serial.println("INICIO PROGRAMA\r\n"); } void loop() { funcionPurgando(); // El resto de tareas del programa. } |
Resultado:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
INICIO PROGRAMA INICIO (10) FIN (12) INICIO (22) FIN (24) INICIO (34) FIN (36) INICIO (46) FIN (48) INICIO (58) FIN (60) INICIO (70) FIN (72) |
Pantalla LCD por comunicación I2C para Arduino
Por lo general las pantallas LCD para Arduino suelen necesitar bastantes pines digitales para funcionar, de 6 a 13 según la pantalla, y eso hace que nuestro Arduino se quede sin pines para conectar otras cosas.
Pero eso tiene fácil solución, simplemente hace falta usar un modulo que convierta la conexión en paralelo de la pantalla a conexión en serie mediante alguno de los protocolos de comunicación que soporta Arduino.
Leer másArduino – esquemas de las placas y sus entradas y salidas
Por internet hay mucha información útil sobre las placas Arduino y de toda ella sin duda esta se lleva la palma. Se trata de esquemas de cada una de las placas con todas las funcionalidades que tiene cada pin y otra información útil.
Están realizadas por pighixxx y en su página web están disponibles los ficheros originales y editables. Y el Arduino Mega por Graynomad
Leer másMódulos de reloj RTC Dallas DS1307 y DS3231
Al igual que en la anterior estación, uno de los módulos interesantes que puede tener es sin duda un reloj ya que nos permite saber en que momento se produjo el cambio de los demás sensores, es decir, en que momento la temperatura aumento, o hubo lluvia, etc.
Leer másArduino Pro Micro
Si ya la versión Pro Mini de Arduino era interesante por su tamaño y su bajo precio, el Arduino Pro Micro puede ser incluso mejor!
A cambio de costar un poco más el Pro Micro (2€ y 3,5€ respectivamente) cuenta con el microcontrolador del Arduino Leonardo y sus mejoras: entre ellas 0,5KiB más de memoria SRAM, llegando ahora a un total de 2,5KiB, y soporte para USB nativo por lo que ahora en el mismo espacio también se cuenta con un conector MicroUSB evitando así la necesidad de un programador externo, sin olvidar que el USB nativo nos permite que el Arduino se comporte como un teclado, ratón o gamepad con el ordenador.
Leer más