Taller de Arduino

  • Iniciador del tema Iniciador del tema jmcadsl
  • Fecha de inicio Fecha de inicio
Estado
Cerrado para nuevas respuestas.
bueno pues 132 páginas de post leidas jejejejeje maaaaaaaaadre qué mareo tengo jejejeje

Dudas con meanweel resueltas, se hace por pwd y a correr

¿Hay algún modulo y librerias para leer y escribir en tarjeta microsD? Ayudaría mucho para cambiar valores de forma sencilla (es una idea)
¿Alguien ha intentado en modular arduino? en vez de tener un mega, modular varios nanos o micros

En cuanto a alimentacion, he pensado en 10v (o 12v dependiendo de si amplio a ementos que necesitan ese voltaje, como por ejemplo la mayoría de peristalticas que he visto por ebay

¿que opinasi?

Salu2
 
A ver te cuento mi experiencia....
- El tema de las meanwell , paate por el foro de iluminación si no eres muy sibarita te vale pero si no quizás no te guste ya que el dimeado no lo hace lineal (no se si es por la fuente o por arduino, yo me inclino más a que esas fuentes no pueden dimear mejor)
Si todavía no te has hecho la pantalla de leds o no has comprado la fuente te aconsejo (si vas a usar arduino) que cojas una fuente de 24v y x amperios (las hay meanwel a buen precio) y unos buckpuck (dimean perfectamente de 0-100% con PWM de 0-5v)
-Modular...yo en mi primer controlador tenia conectados 2 arduinos "normales" estaban comunicados por I2C , hay mucha info al respecto, pero vamos que por la experiencia que hemos tenido la gente del foro, con un Mega tienes de sobra....

Alimentación como tu bien dices, depende lo que quieras mover.... yo pongo 9v, y muevo los ventiladores (son de 12v,pro asi suenen menos y dan suficiente flujo de aire y las peristalticas =)

Ánimo!!
- Librerias para tarejtas de memoria hay varias, busca en la página Arduino - HomePage, de todas formas los datos susceptibles de ser modificados (%potencia leds, aditivos, etc) puedes almacenarlos en la propia memoria del procesador e ir modificandolos con un menu...
-
 
Todavia queda gente que se atreve a leerse 133 páginas de espesor. Menos mal que siempre aparece jmcadsl para poner algo de luz a todas nuestras preguntas.

Que tienes ahora??? Que has cambiado??? Saludos
 
Todavia queda gente que se atreve a leerse 133 páginas de espesor.

Creeme que me ha costado lo mio, sin contar que se empieza ha hablar de un tema y se pasa a otro sin solucionar el anterior. Buffffffffffff q dolor de cabeza que tengo. En fin supongo que al empezar a trastear se me irán aclarando conceptos.


A ver te cuento mi experiencia....
- El tema de las meanwell , paate por el foro de iluminación si no eres muy sibarita te vale pero si no quizás no te guste ya que el dimeado no lo hace lineal (no se si es por la fuente o por arduino, yo me inclino más a que esas fuentes no pueden dimear mejor)
Si todavía no te has hecho la pantalla de leds o no has comprado la fuente te aconsejo (si vas a usar arduino) que cojas una fuente de 24v y x amperios (las hay meanwel a buen precio) y unos buckpuck (dimean perfectamente de 0-100% con PWM de 0-5v)

La pantalla ya la tengo con 48 leds y dos meanwells que ahora se dimmean por un transformador a 9v (creo recordar) y no me apetece cambiarlas, la verdad, y variar a 4 de 24v...... bufffff. Yo lo principal que quiero evitar es el fogonazo, que como siga así me voy a dejar una pasta en "raybans" para los peces :D

PAra un efecto amanecer anochecer de esta pantalla me estoy pensando no poner el modulo del reloj, meter en la pantalla un nano o una mini y mantener un programador analogico que tengo, y cuando salte la luz, se ejecutará el codigo de amanecer (bucle subiendo x% de tension durante tanto tiempo, luego espera X horas y despues bucle que baja gradualmente tension cada x tiempo hasta apagar y que apague el programador. Lo que quiero en esta pantalla es solo eso. Luego ya para la otra del grande si me meteré en follones (el unico problema es si se corta la tension electrica cuando está encendida que volvera a "amanecer" cuando se reponga la luz (pero quizás pueda solucionarlo con un boton (cuando se pulse, rompa el bucle y ejecute el metodo "luz a tope"



-Modular...yo en mi primer controlador tenia conectados 2 arduinos "normales" estaban comunicados por I2C , hay mucha info al respecto, pero vamos que por la experiencia que hemos tenido la gente del foro, con un Mega tienes de sobra....


El tema de conectar varios es modular el asunto, eliminar la "monotarea" y en vez de usar un mega, usar 5 nanos de forma que puedas apagar un modulo sin afectar al resto, programaciones independientes una infrastructura de estrella, un modulo central que básicamente se encarga de aceptar los parametros y el resto de modulos ejecutores de esos parametros (me explico fatal, lo se!)

Alimentación como tu bien dices, depende lo que quieras mover.... yo pongo 9v, y muevo los ventiladores (son de 12v,pro asi suenen menos y dan suficiente flujo de aire y las peristalticas =)

Por ahora para la pantalla y empezar a "desemborricarme" con esto, supongo que 10v (que es lo que dimmea las meanwell) ¿cuanto amperaje?

- Librerias para tarejtas de memoria hay varias, busca en la página Arduino - HomePage, de todas formas los datos susceptibles de ser modificados (%potencia leds, aditivos, etc) puedes almacenarlos en la propia memoria del procesador e ir modificandolos con un menu...
-

El tema es si no se tiene botonera con menu, poder modificar parámetros fácilmente sin recompilar ni cambiar código. Las constantes almacenadas en un dispositivo de facil manejo como una micro SD. ¿que quieres cambiar el numero de horas de luz? Coges la tarjeta sd, la chutas al ordenador, cambias un archivo de testo, repones la tarjeta y reinicias arduino :)
 
Me cago en la leche (con perdón) pedazo de post, yo no soy capaz de leerlo entero.
Alguien podría poner un listado o recopilación con los materiales necesarios?
Es que tengo intención de hacer un Arduino que me controle :
iluminación
efecto marea
ph
relleno automático
De momento, pero me he puesto a leer y no me aclaro a lo mejor comprando los componentes y empezando a cachrrear?
pero no tengo claro que comprar, a ver si me podeis ayudar. Gracias
 
Pues creeme, para enterarte de cómo va esto, es bastante necesario verse todas las hojas :) (pero si es una auténtico suplicio de post, pero como es interesantisimo, pues se compensa :D )

Cambiando de tema, os dejo una bobadita, pero es mi primer intento de código, funciona perfectamente y es más para tema visual que otra cosa. Estoy usando un nano v3 del compañero jmerino que me hizo el trabajo "sucio" de soldar placa, pantalla... (es sin duda loq ue peor voy a llevar, soy absolutamente zote con el soldador en la mano y un peligro para todo ser vivo en un radio de 200metros cuando el soldador está caliente :D

Al tema:
//**********************************************
//version display de efecto amanecer/anochecer
//Programado para no tener modulo horario
//12/6/201
//Jose Luis Fernandez
//SiLvI y JoSe ReEf v0.1
//**********************************************//

// Inclusion de librerias:
#include <LiquidCrystal.h>

// Inicializaciones de librerias
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

//Inicializamos todo
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.

}

//MOdulo de ejecucin
void loop() {

//**************************************************************//
//Amanece
//pintamos simbolos
lcd.setCursor(0, 1);
lcd.print("[");
lcd.setCursor(15, 1);
lcd.print("]");
//pintamos informacion
lcd.setCursor(0,0);
lcd.print("Amaneciendo ");

for (int positionCounter = 1; positionCounter < 100; positionCounter++)
{
if (positionCounter <10)
lcd.setCursor(14, 0);
else
lcd.setCursor(13, 0);

lcd.print(positionCounter);
lcd.print("%");
//pintamos la barra de progreso. hay 14 casillas en la fila utiles
//1% es la po (2,1) y el 90% es la (14,1)
int barra = abs(positionCounter/7.14)+1;
lcd.setCursor(barra, 1);
lcd.print("*");



delay(100);
}
//***************************************************************//
//Estable
lcd.clear();
lcd.print("SiLvI-JoSe ReeF");

//Mostramos la pantalla con los datos normales
//¡¡¡¡¡¡proximamente!!!!!

delay(10000);
lcd.clear();
//Anochece

//**************************************************************//
//Anochece
lcd.setCursor(0,0);
lcd.print("Anocheciendo ");
//Inicializo la barra
lcd.setCursor(0, 1);
lcd.print("[**************]");


for (int positionCounter = 99; positionCounter > 0; positionCounter--)
{

if (positionCounter <10)
lcd.setCursor(14, 0);
else
lcd.setCursor(13, 0);


lcd.print(positionCounter);
lcd.print("%");
//el contador va de 99 a0 por lo que vamos borrando *
int barra = abs(positionCounter/7.14)+1;
lcd.setCursor(barra, 1);
lcd.print(" ");
delay(100 );
}
}

//Fin bucle pricipal de ejecuciun

Es para pantalla de 16x2, cuando enciende muestra AMANECIENDO y el % de "efecto amanecer", luego se queda estable esperando un tiempo y muestra por pantalla ANOCHECIENDO, % inverso. En los dos efectos hay barra de %.
Comod igo es una bobada, pero bueno, para haberlo hecho en 3 minutos me vale como aproximación a este lenguaje.

Es para dimmear meanwell, un alma caritativa sería tan amable de indicarme el codigo para "escupir electricidad en el % deseado?

Gracias
 
Buenas. Para las meanwell supongo que harás visto que hace falta un pequeño circuito intermedio entre una salida digital PWM de arduino y la fuente , ya sea la D o la P. Este circuito transforma de 0-5v (arduino) a los 0-10v que necesita la meanwell.

Si eso lo tienes claro solo tienes que escribir un código que vaya aumentando el voltaje en la salida PWM de arduino con el comando analogWrite (pinpwm , valor); sabiendo que valor 0 es 0v y 255 5v , algo así :

Código:
if (hour == AMANECER && VALORPWM!=255)//FASE AMANECER
    {
        analogWrite(PINPWM, VALORPWM);  
        lcd.clear();
        lcd.print("Amaneciendo",0,0);
        lcd.print("en el arrecife",1,0);
        VALORPWM++; 
    }

Saludos
Jorge Mir
 
Buenas. Para las meanwell supongo que harás visto que hace falta un pequeño circuito intermedio entre una salida digital PWM de arduino y la fuente , ya sea la D o la P. Este circuito transforma de 0-5v (arduino) a los 0-10v que necesita la meanwell.

para las "P" hay esta opcion como conversor



No se si seria aplicable a las "D". Igual los chicos de Shoptronica nos lo aclaran...
 
Última edición:
Pues el tema de la barra mostrando el % de la fase de iluminación me ha gustado, jejej

Yo aun ando montándolo todo, espero terminar algún día y meterme de lleno con el código

Saludos
 
Igual me he esplicado mal.
Claro que hay que leer las 133 páginas, de hecho voy por la 24, pero sería más ameno y lo entendería mejor teniendo los componentes y cacharreando con ellos de ahí que os pida ayuda para que me digais que comprar y así seguir pues tengo muchas dudas en cuanto a que placa comprar que relog, que pantalla, si comprar placa con 4 relés y cuales,etc
Gracias
 
Buenas. Para las meanwell supongo que harás visto que hace falta un pequeño circuito intermedio entre una salida digital PWM de arduino y la fuente , ya sea la D o la P. Este circuito transforma de 0-5v (arduino) a los 0-10v que necesita la meanwell.

Si eso lo tienes claro solo tienes que escribir un código que vaya aumentando el voltaje en la salida PWM de arduino con el comando analogWrite (pinpwm , valor); sabiendo que valor 0 es 0v y 255 5v , algo así :

Código:
if (hour == AMANECER && VALORPWM!=255)//FASE AMANECER
    {
        analogWrite(PINPWM, VALORPWM);  
        lcd.clear();
        lcd.print("Amaneciendo",0,0);
        lcd.print("en el arrecife",1,0);
        VALORPWM++; 
    }

Saludos
Jorge Mir

Muchas gracias Jorge, si no tengo mala información se necesita que la fuente sea de 10v, resistencia (1.8k 1/4w) y un "noseloquenariceses" con codigo #BC546

Entiendo que PINPWD es sólo el código numeŕico del pin al que se conecta el cablecito que pasa a la resistencia y de esta al "noseloquenariceses" que llega al polo - del dimmer del meanwell
¿Correcto?

Muchas gracias

Por cierto, del código que puse no sólo muestra el % de amanecer, anochecer sino que también saca una barra de progreso
 
hola ya estoy otra vez aki.

este es codigo que tengo para el dimeado de las meanwell, si se va la luz a medio dimeado no pasa na pues no suma si no que calcula en que minuto exacto esta del dimeado esta del dimeado. a esta funcion la llamo cada minuto y ya esta... queria hacer que el dimeado pudiese empezar antes de las 12 y apagara despues pero estuve 4 tardes dandole al coco y me rendi hasta nueva orden.
tdimmer es el tiempo en minutos que durara el dimeado 66m
dimmera es el valor del dimmeo
int horas= hour*60+minute;// convertimos las horas a minutos osea las 1:15 seria 75minutos
if (horas>=enciendea){//si hora actual es mayor o igual a la hora de encender(siempre en minutos)
if (dimmera>10){analogWrite(pinlucesluna,0);}//esto es para la luz de luna se enciende cuando se va a apagar las luces.
dimmera = (horas-(enciendea +tdimmer)+tdimmer)*3; // calcula en que minuto esta del dimmeo para asignarselo a dimmera
if (dimmera>=200){ dimmera=200;}// yo ulilizo 12v asi que no me puedo pasar de 10v que es justo a los 200 del dimeo.
}

if (horas<enciendea){ //aqui no se utiliza el dimeado empieza a las 12.
if (dimmera<15){int luminosidad= luna[dayOfMonth];analogWrite(pinlucesluna,luminosidad);} // esto es la luz de luna
dimmera = (tdimmer-horas)*3;// calcula en que tiempo se encuenta de dimeado
if (dimmera<0){ dimmera=0;}// esto evita que el valor se negativo
}
analogWrite(12,dimmera); // por fin aplica el dimmeo

otra cosa el bc546 es esto
[TodoMarino.com] Taller de Arduino

lo que hace es que en la patilla del medio le vas dando voltaje y va dejando pasar la corriente atraves de el solo eso ;)
otra cosa estoy haciendo una web de arduino.
www.arduinologic.bocetodeweb.com
 
Hola karagos ya me he guardado tu pagina, a ver si aprendo algo en lugar de ir copiando y adaptando, jejejej

Saludos
 
Karagos:
interesante proyecto, estoy por iniciar uno igual, podrías poner el código de programa completo para copiarlo y adaptarlo a mis necesidades.

cuando este preparado iré poniendo los cambios por si a alguien le interesa, mi version, todavía no tengo el arduino en cuanto lo tenga empezare a dar caña.

gracias
 
Muchas gracias por el código karakos.

A ver si consigo los componentes y lo monto. El código está terminado mas o menos, guarda en la eprom el tiempo que lleva de cada fase y si hay apagon recuepera el estado en la misma fase que lo dejó haciendo un pequeño "amanecer" para evitar fogonazo
 
Tengo casi todo listo ya para montar el sistema arduino, leds, ..., y tengo muchas dudas, una de ellas la fuente de alimentación para el arduino. Tengo una regulable desde 3v a 12v, que rinde hasta 1,5A a 9v. ¿La puedo aprovechar para alimentar el arduino y además los 4 venitiladores tacens 9V ~ 13.8V DC, 0,07 A. que he cogido para los disipadores?
 
Los ventiladores puedes hacerlos regulables en intensidad o bien mecánicamente (un potenciometro) o bien con arduino por temperatura por ejemplo, yo los tengo a 7v creo y 0 ruidos
 
Hola karagos ya me he guardado tu pagina, a ver si aprendo algo en lugar de ir copiando y adaptando, jejejej

Saludos
pues me agrada que os guste la nueva direccion de

burgos si al codigo te refieres al que tengo en el arduino lo colgare en laweb.
silvi yo no meteria tantas lecturas y escrituras de la eprom en el loop. pues tienen un limite.
un saludo
 
Gracias Karagos, avisas cuando lo subas.

Por otro lado es correcto la EPROM tiene limitada a 10,000 escrituras creo, si la metes un un loop cascaran.
 
Estado
Cerrado para nuevas respuestas.
Atrás
Arriba