Acuariofilia Madrid

Versión completa: Aula Arduino para principiantes.
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
(21-05-2015, 05:42 PM)Agamenon escribió: [ -> ]
(17-05-2015, 12:22 PM)Antonio Castro escribió: [ -> ]Hoy apenas podré ocuparme de eso, pero me pongo el Lunes y en dos o tres días más debería tener lista una nueva versión de CAO1.

Estoy deseando que la saques para meterle mano! echaste un ojo al tema de los fallos en los actuadores de subir y bajar de los sensores que hablamos en la quedada??

Ya tengo prácticamente todo para montar el arduino de desarrollo y poder meter mano en condiciones pero... ME FALTA LA PROTOBOARD!! es lo único que no me ha llegado aún, manda narices jaja

Estoy tardando un poco porque quiero dejarlo mejor probado que la última vez. El tema de los actuadores es una de las cosas en las que más he trabajado. No me gustaba como estaban hechas algunas cosas y creo que tenía varios errores, y lo lamento.

Mi acuario de 150L usa Relés, no usa ventiladores dimeados con TIP120. Asi que eso lo he probado poniendo traza de verificación y ya va bien (creo je, je).

Tengo una nueva versión funcionando en mi acuario y parece que funciona todo, pero me faltan algunas cosillas como lo de la limitación de tiempo para la luz nocturna. Creo que al final va a quedar una versión CAO 1.2.1 con 45 parámetros. Esta vez le estoy dedicando más tiempo que la última vez, y espero que se note. Smile

Yo haciendo un prototipo para Arduino Pro Mini cometí un error muuuuu tonto. Aparte de equivocarme tuve un detalle bastante golfo. No medí la tensión de alimentación de mi circuito regulador antes de enchufar el Arduino Pro Mini que necesita 5v estabilizados. Le metí 12voltios y... ¡sayonara baybi!.

Lo cierto es que la primera vez no pensé ni por un momento que fuera culpa mía. Probé con un segundo Arduino Pro Mini y como tampoco funcionaba se me ocurrió medir la tensión. Después de medir la tensión ya no necesité tomar café. Ojala el primero hubiera soltado un poco de humo, eso habría salvado la vida al segundo. Se me pasó el sueño de golpe, ja, ja.

Me dió mucha rabia. -nj.gif ya he escarmentado.
Jaja al menos te costaron baratos!
Si, de todas maneras, prototipos de esos tendré que ir haciendo unos cuantos y tengo que ver la forma de minimizar errores de montaje. Lo ideal sería diseñarme un PCB para usarla en este tipo de montajes. Me he puesto en contacto con alguien que en plan freelance podría ayudarme a hacer el diseño. Lo siguiente sería hacer una caja especialmente a medida en 3D. No sé si esto es el cuento de la lechera, pero son cosas que tengo en mente.
Pero el Arduino mino tiene regulador de tensión, lo que pasa es que mide medio milímetro y sólo admite de 5 a 12 V, según la pag. de Arduino, igual con 12 va demasiado al límite.
(22-05-2015, 09:58 AM)Dudo escribió: [ -> ]Pero el Arduino mino tiene regulador de tensión, lo que pasa es que mide medio milímetro y sólo admite de 5 a 12 V, según la pag. de Arduino, igual con 12 va demasiado al límite.

Supongo que eso depende del modelo que compres. El mío viene con un regulador AMS1117 y puede que los 12V sean ya peligrosos para ese integrado. Yo siempre los he usado a 5V, bueno... siempre no. Undecided
Si, perdóname, no quise decir el Arduino mio, sino el Arduino mini Big Grin
Pero sí, si va de 5 a 12 V supongo que los 12 ya son peligrosos. Yo también compré varias de estas placas y estoy jugando con ellas, así que bueno es saberlo Big Grin
que tal Antonio molestando otravez tengo un rtc ds1307 pero ya me a dado problemas y deja de funsionar pero no encuentro una libreria
[/php]
#include <Wire.h>
#include "RTClib.h"
#include <OneWire.h>
RTC_DS1307 RTC; // Crea el objeto RTC

void setup ()
{
Serial.begin(9600); // Establece la velocidad de datos del puerto serie
Wire.begin(); // Establece la velocidad de datos del bus I2C
RTC.begin();// Establece la velocidad de datos del RTC
//RTC.adjust(DateTime(__DATE__, __TIME__)); Solo lo habilitamos la primera vez para poner en hora el reloj
}

void loop () {
int minute;
int hour;
int tiempo;
DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print("Dia de la semana: ");
Serial.println(now.dayOfWeek(), DEC);

tiempo=(now.hour()*60)+now.minute(); // Para que sea un numero entero lo medimos en minutos

[/php]
este progra es el que utilizo pero no se que cambiar para que trabaje con mi ds3231
te agradeceria si me pudieras ayudar
(23-05-2015, 07:05 AM)libre escribió: [ -> ]que tal Antonio molestando otravez tengo un rtc ds1307 pero ya me a dado problemas y deja de funsionar pero no encuentro una libreria
[/php]
#include <Wire.h>
#include "RTClib.h"
#include <OneWire.h>
RTC_DS1307 RTC; // Crea el objeto RTC

void setup ()
{
Serial.begin(9600); // Establece la velocidad de datos del puerto serie
Wire.begin(); // Establece la velocidad de datos del bus I2C
RTC.begin();// Establece la velocidad de datos del RTC
//RTC.adjust(DateTime(__DATE__, __TIME__)); Solo lo habilitamos la primera vez para poner en hora el reloj
}

void loop () {
int minute;
int hour;
int tiempo;
DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print("Dia de la semana: ");
Serial.println(now.dayOfWeek(), DEC);

tiempo=(now.hour()*60)+now.minute(); // Para que sea un numero entero lo medimos en minutos

[/php]
este progra es el que utilizo pero no se que cambiar para que trabaje con mi ds3231
te agradeceria si me pudieras ayudar

El ds1307 no de bería haber fallado salvo que se agote la batería.

No he usado nunca la ds3231. He buscado en Google por arduino ds3231 library y parce que si tiene librería pero en CAO se usa un modulo para ds1307.

Averigua su direccion I2C y descargate su librería.
El ds3231 es el que yo tengo y uso la misma librería que para el ds1307. En CAO no tienes que tocar absolutamente nada, solo cambiar un componente por el otro. No se atrasa ni se adelanta nunca, al menos no que yo haya detectado.
Hola. Yo tambien utilizo el DS3231 en CAO sin modificar libreria ni codigo y funciona perfectamente.Big Grin
Tienen razon , ya me funsiona
Antonio, talvez fue algun cable suelto por que esta funsionando otra vez pero ya que encargue el ds3231 lo cambiare
pero si he notado que en el ds1307 se atrasa
gracias
Buenas, aquí os muestro la chapucilla que estoy haciendo, de momento estoy liado con la caja como podéis ver, una vez funcione todo bien me liare con la pantalla.
[Imagen: geFkNwn.jpg]

[Imagen: 7ddrTOS.jpg]
A ver, ya vengo con la primera duda, estoy empezando a realizar el montaje, ya tengo la botonera montada, ahora me he puesto con el regulador de tensión, pero lo cierto es que no tengo ni idea de electrónica y voy a necesitar bástate de nuestra ayuda para no meter la pata y hacerlo bien, perdónenme si hago preguntas muy tontas, pero lo cierto es que no entiendo como debo montar este regulador, a ver si me lo pudieran explicar para tontos, gracias.
Si te refieres al transistor que regula el dimeado de los leds, en la pag. 10 (mensaje 147) se explica el tema y en la pag. 22 también.-fisch.gif
Bonita foto pero explica lo que tienes ahí.

* Supongo que el regulador de tensión es lo que vemos en la derecha. Lo deduzco por los dos condesadores electrolíticos y la ferrita toroidal y un integrado con disipdor. Veo que tiene una resistencia ajustable. Me gustaría saber sus características. En Arduino se usan reguladores de tensión con masa común en el negativo. Suele ser lo habitual, pero quiero confirmarlo.
* Tienes una placa con tres displays leds de 7 segmentos que no sé para que pretendes usarlo.
* Ignoro si los tres tansistores gordotes idénticos son TIPS para hacer un dimeo de tres canales.
* ¿Los otros tres más pequeños con un radiador diferente en el centro qué són?
* La plaquita pequeña parece el RTC pero no estoy seguro.

Te mandé una contestación mía a lo del DS3231 que parece haber desaparecido o quizás nunca pulsé en enviar respuesta y se perdió. Solo decirte que después de lo que han dicho los demás puede que yo también termine comprándome uno de esos.

Estoy con la documentación de la nueva versión de CAO, pero he decidido cambiar completamente la parte del sensor de pH porque también daba problemas. Calculo tres días más.