Taller de Arduino

  • Iniciador del tema Iniciador del tema jmcadsl
  • Fecha de inicio Fecha de inicio
Estado
Cerrado para nuevas respuestas.
Bueno gente me alegro de que os hayais animado tanto...
Yo he estado bastante desconectado ya que e invertido todo mi tiempo en el nuevo acuario (se rompio el anterior), vaya follo, roca, corales peces, todo disribuido en tappers...bufff, vaya 2 semanitas.
Ayer por fin me llego la nueva urna (A.Ramses) y anoche hice "El cambio" , la verdad es que la neva urna es de solo 96litros, pero parece todo un oceano comprado con mi antiguo nano de 40l.
Cuando tenga un rato pondre fotos de la mesa hecha a mano y las luces + controlador arduino.

Saludos!!
 
Otro mas que se apunta al lio ,yo estudie electronica asi que espero poder aportar y ayudar con mis conocimientos ,de momento despues de leer todo ya me estoy mirando de donde cogerlo ,veo muchos modelos y versiones ,supongo que seran compatibles entre ellos ...
Ya ire aportando a medida que avance de momento a mirar como se programa mientras me llega el circuito
 
buenas, yo estoy pendiente que me llegue mi kit, navegando encontrado como hacer un controlador redox y ph, con el diseño de estas placas podriamos usar el andruino para los valores. Os dejo los enlaces haber que os parece.

phmeter: sabiendo el ph seria facil adaptar el control de un reactor de calcio

potencial redox:
 
Venga mi primera pregunta:
como activo la parte del codigo para poner la fecha y la hora actual?
 
Solo tienes que desactivar el comentario del subprograma Setdate , a ver si lo encuentro...

Si mira, en el código, en la parte void setup, puedes ver que tienes /* al pincipio y al final */, todo lo que vaya entre esto son comntarios y el programa no lo ejecuta, asi pues, borralos, cargalo en arduino , lo enciendes y al rato lo apagas y ya lo tienes puesto en hora,

En los siguientes programas no hace falta que lo vuelvas a poner en hora ya que tiene pila.

void setup()
{
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
Wire.begin();
Serial.begin(9600);

// Cambie estos valores a los que usted quiere poner su reloj.
// Usted probablemente solo quiere poner su reloj una vez y luego quitar
// la llamada de setDateDs1307.
/*
// si desea poner en hora, active esta parte y luego vuelva a quitarla
second = 00;
minute = 15;
hour = 21;
dayOfWeek = 6;
dayOfMonth = 19;
month = 9;
year = 9;

setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
*/
}

Suerte!!
 
me vais a arruinar con estas cosas, jejejejeje
si no supiese leer me saldría mas barato
Ya tengo pedido el kit, el reloj y los cacharritos para la temperatura.

Se podría poner la pantalla de 20x4???he encontrado una con serie y así libero unos cuantos canales no?????

Saludos
 
Ningún problema por el tamaño de la pantalla, y si es serial, pues más inputs que dejas libres...
 
ok todo perfecto ahora como lo grabas en arduino,donde pone upload si mal no recuerdo no?
 
perdon ya se donde estaba el problema no lo desconectaba y me esperaba un ratito,ok reloj programado ,mañana me lio con el lcd.
Así que mañana otra tanda de preguntas jejejejeej
 
buenas. os cuento por donde voy yo:

tengo el arduino y el reloj connectados, y mostrando la fecha, hora y dia de la semana por el "serial monitor". lo he hecho usando el programa que puso jmcadsl al principio y con este otro tambien:

/*Reads the value from a Real Time Clock (RTC) DS1307 and displays it in the serial monitor
*
*Created by D. Sjunnesson 1scale1.com d.sjunnesson (at) 1scale1.com
*
*Created with combined information from
*
*
*
*
*Big credit to mattt (please contact me for a more correct name...) from the Arduino forum
*which has written the main part of the library which I have modified
*
*/

#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h> // written by mattt on the Arduino forum and modified by D. Sjunnesson

void setup()
{
Serial.begin(9600);

RTC.stop();
RTC.set(DS1307_SEC,1); //set the seconds
RTC.set(DS1307_MIN,23); //set the minutes
RTC.set(DS1307_HR,12); //set the hours
RTC.set(DS1307_DOW,4); //set the day of the week
RTC.set(DS1307_DATE,5); //set the date
RTC.set(DS1307_MTH,3); //set the month
RTC.set(DS1307_YR,9); //set the year
RTC.start();

}

void loop()
{

Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
Serial.print(":");
Serial.print(RTC.get(DS1307_MIN,false));//read minutes without update (false)
Serial.print(":");
Serial.print(RTC.get(DS1307_SEC,false));//read seconds
Serial.print(" "); // some space for a more happy life
Serial.print(RTC.get(DS1307_DATE,false));//read date
Serial.print("/");
Serial.print(RTC.get(DS1307_MTH,false));//read month
Serial.print("/");
Serial.print(RTC.get(DS1307_YR,false)); //read year
Serial.println();

delay(1000);

}

1ª duda: cuando lo desenchufo vuelve a empezar a contar al momento donde le puse la hora. es decir, cada vez que lo enchufo y miro vuelve a empezar en 13:45:00 (en mi caso). ¿que he hecho mal? ¿no se supone que con la pila sigue en hora?
 
tambien he conectado el lcd siguiendo este tutorial:

https://www.ladyada.net/learn/lcd/charlcd.html


y he hecho los ejemplitos de hello world y demás.
como no es serial usamos 6 inputs del arduino.

bueno ahora el tema seria ver la fecha y hora por el lcd. ¿como?
 
1ª duda: cuando lo desenchufo vuelve a empezar a contar al momento donde le puse la hora. es decir, cada vez que lo enchufo y miro vuelve a empezar en 13:45:00 (en mi caso). ¿que he hecho mal? ¿no se supone que con la pila sigue en hora?

me voy respondiendo a mi mismo: hay que activar ese trozo de texto quitando /* y tambien */. mandarle la hora al arduino, y luego anular ese trozo de texto de nuevo poniendo /* y */ en el mismo sitio y volverselo a mandar al arduino. se queda en hora. OKKKK!!!!
 
esto avanza por momentos. acabo de conectar el "serial enabled backpack" ( esto--> https://www.sparkfun.com/commerce/product_info.php?products_id=258 ), y he conseguido la libreria SLCD y ya he hecho funcionar el lcd solo con tres cables.
he hecho un ejemplo que hace tests de cursor, flash, fade, scroll...
todo va bien. el otro dia no sabia hacerlo funcionar. la culpa es de la maldita tarjetita que tiene un tornillo que apenas se ve, que es un potenciometro y habia que darle un poco de caña.

ahora la mierda es que ya he soldado el lcd a los pines esos para pincharlo en la placa de purebas.
bueno, pues a dessoldar y ponerle el backpack!!

lo que tengo es esto:

[TodoMarino.com] Taller de Arduino


la tarjetita roja que se ve en el medio es el backpack para convertir el lcd en serial, voy a ver si consigo hacer que el codigo jmcadls funcione y se vean fecha y hora...
 
Al final tendré que pillarme la LCD serial... bueno para ir probando, la "pineada" me valdrá por ahora jejejeje

En cuanto al código del reloj, sólo una pequeña modificación, no tengo el compilador aquí pero entiendo que debería funcionar. La idea es usar las funciones (defecto de programador jejeje)... de tal forma que si no queremos inicializar el reloj podemos comentar la función inicializaReloj poniendo "//" delante del nombre (lo que hacemos es comentar esa línea y por tanto no se ejecuta).

Código:
/*Reads the value from a Real Time Clock (RTC) DS1307 and displays it in the serial monitor
*
*Created by D. Sjunnesson 1scale1.com d.sjunnesson (at) 1scale1.com
*
*Created with combined information from
*https://www.arduino.cc/cgi-bin/yabb2/...num=1180908809
*https://www.arduino.cc/cgi-bin/yabb2/...num=1191209057
*
*
*Big credit to mattt (please contact me for a more correct name...) from the Arduino forum
*which has written the main part of the library which I have modified
*
*/

#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h> // written by mattt on the Arduino forum and modified by D. Sjunnesson

void setup()
{
Serial.begin(9600);
// Formato (Segundos, Minutos, Horas, Dia de la semana, Dia, Mes, Año)
inicializaReloj(1, 23, 12, 4, 5, 3, 9);

}

void loop()
{

Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
Serial.print(":");
Serial.print(RTC.get(DS1307_MIN,false));//read minutes without update (false)
Serial.print(":");
Serial.print(RTC.get(DS1307_SEC,false));//read seconds
Serial.print(" "); // some space for a more happy life
Serial.print(RTC.get(DS1307_DATE,false));//read date
Serial.print("/");
Serial.print(RTC.get(DS1307_MTH,false));//read month
Serial.print("/");
Serial.print(RTC.get(DS1307_YR,false)); //read year
Serial.println();

delay(1000);

}

void inicializaReloj(int iSeg, int iMin, int iHor, int iDiaS, int iDia, int iMes, int iAno)
{
RTC.stop();
RTC.set(DS1307_SEC, iSeg); //set the seconds
RTC.set(DS1307_MIN, iMin); //set the minutes
RTC.set(DS1307_HR, iHor); //set the hours
RTC.set(DS1307_DOW, iDiaS); //set the day of the week
RTC.set(DS1307_DATE, iDia); //set the date
RTC.set(DS1307_MTH, iMes); //set the month
RTC.set(DS1307_YR, iAno); //set the year
RTC.start();
}
 
esto avanza por momentos. acabo de conectar el "serial enabled backpack" ( esto--> https://www.sparkfun.com/commerce/product_info.php?products_id=258 ), y he conseguido la libreria SLCD y ya he hecho funcionar el lcd solo con tres cables.
he hecho un ejemplo que hace tests de cursor, flash, fade, scroll...
todo va bien. el otro dia no sabia hacerlo funcionar. la culpa es de la maldita tarjetita que tiene un tornillo que apenas se ve, que es un potenciometro y habia que darle un poco de caña.

ahora la mierda es que ya he soldado el lcd a los pines esos para pincharlo en la placa de purebas.
bueno, pues a dessoldar y ponerle el backpack!!

lo que tengo es esto:

[TodoMarino.com] Taller de Arduino


la tarjetita roja que se ve en el medio es el backpack para convertir el lcd en serial, voy a ver si consigo hacer que el codigo jmcadls funcione y se vean fecha y hora...

pués ese es un problema que le pasa a mucha gente,ya que a la pantalla lcd que hay que darle contraste para poder visualizar,si no puede que se vea toda negra,el backpack tiene el potenciometro integrado y es por donde le das el contraste.
Los demás que no tengan la lcd serial ,es decir la normal ,debemos comprar el backpack o un potenciemetro y conectarlo de esta forma:

[TodoMarino.com] Taller de Arduino
 
esto avanza por momentos. acabo de conectar el "serial enabled backpack" ( esto--> https://www.sparkfun.com/commerce/product_info.php?products_id=258 ), y he conseguido la libreria SLCD y ya he hecho funcionar el lcd solo con tres cables.
he hecho un ejemplo que hace tests de cursor, flash, fade, scroll...
todo va bien. el otro dia no sabia hacerlo funcionar. la culpa es de la maldita tarjetita que tiene un tornillo que apenas se ve, que es un potenciometro y habia que darle un poco de caña.

ahora la mierda es que ya he soldado el lcd a los pines esos para pincharlo en la placa de purebas.
bueno, pues a dessoldar y ponerle el backpack!!

lo que tengo es esto:

[TodoMarino.com] Taller de Arduino


la tarjetita roja que se ve en el medio es el backpack para convertir el lcd en serial, voy a ver si consigo hacer que el codigo jmcadls funcione y se vean fecha y hora...

pués ese es un problema que le pasa a mucha gente,ya que a la pantalla lcd que hay que darle contraste para poder visualizar,si no puede que se vea toda negra,el backpack tiene el potenciometro integrado y es por donde le das el contraste.
Los demás que no tengan la lcd serial ,es decir la normal ,debemos comprar el backpack o un potenciemetro y conectarlo de esta forma:

[TodoMarino.com] Taller de Arduino
 
Como va el tema del PH hay alguna solucion que funcione y no sea muy complicada?? He leido varios donde decian que ya lo tenian solucionado pero no he visto por ningún sitio como.
Si me iluminais, mientras espero el kit, asi puedo ir pidiendo lo demás que necesite.

Saludos
 
bueno ahora me toca preguntar he visto este grupo de 4 reles a buen precio pero como aún estoy mu muy pez me gustaría saber si servirían para el relleno automatico y para el calentador y el enfriador.
 
Estado
Cerrado para nuevas respuestas.
Atrás
Arriba