Taller de Arduino

  • Iniciador del tema Iniciador del tema jmcadsl
  • Fecha de inicio Fecha de inicio
Estado
Cerrado para nuevas respuestas.
Ok, gracias kurroton....
Alguien ha probado si el efecto de dimeo es igual con las ELN -P o es mas progresivo desde 0% , he visto en las especificaciones que deberian empezar a lucir al 11% con PWM???
 
Ok, gracias kurroton....
Alguien ha probado si el efecto de dimeo es igual con las ELN -P o es mas progresivo desde 0% , he visto en las especificaciones que deberian empezar a lucir al 11% con PWM???

se me ovlido decirlo tb tengo las p y se nota menos pero tampoco mucho menos...
 
Vaya pues si con la P tambien pasa...algo no esta funcionando bien....
Si nos fijamos en este video:
VIDEO DIMEANDO CON MEANWELL Y POTENCIOMETRO
Si se puede conseguir un efecto fade correcto desde 0 e ir aumentando poco a poco....
Por lo qu estoy viendo creo que con las P no es posible ya que siempre encienden al 11% (que no estaría mal del todo), pero con las D el efecto fade es lineal de 0-90% o debería serlo....
A lo mejor el problema esta en que estamos pasando una señal PWM , no se si con el LM324 pasamos la señal de digital a analogica o solo estamos multiplicamos x2 el voltaje ?¿?¿?¿
Creo que antes de llevar la señal al LM324 para duplicar el voltaje deberíamos convertir la salida PWM en analogica.....

¿Alguna idea?
 
Bueno a ver....he encontrado este simple esquema

Es un filtro LOW Pass, lo que hace es convertir la señal cuadrada de PWM a una señal analogica lineal (espero).
Supuestamente poniendo esto antes del circuito amplificador la cosa debe mejorar.....a ver si tengo un hueco y lo pruebo...

Saludos!!
 
te explico lo de los potenciometros el apagado si que lo hace casi progresivo pero es porque se quedan con algo de corriente y el tiempo es lo que tarda en descargarse el circuito asi que no es muy controlable y necesitan menos tension para mantenerse un poco encendidos que para encenderse, son diodos despues de todo. el filtro low pass lo probe aunque era distinto el que probe y no note diferencia y si usas un potenciometro para ver el voltaje va lineal
 
hola hace mucho que no posteo jeje
con el bc546 puedes controlar una fuente de x voltios de 0v hasta x voltios.
me explico el bc546 es como una resistencia(potenciometro) que aplicandole voltaje desde arduino de 0v a 5v(0 a 255 en la programacion) va dejando pasar la corriente.
ejemplo: si utilizas la fuente de un ordenador de 12v empiezas 0 y terminas 190 en 10v si subes hasta 255 aplicas el voltaje maximo de la fuente en este caso 12v.
espero haber sido de ayuda.
 
Muy buenas, compañeros, estaba trasteando por otras paginas por cosas que no vienen al cuento, y como no me he leio todas las paginas de este post, y no tengo mucho tiempo, expongo esto a ver si vosotros que sois los entendios, le sacais algun provecho, igual esta ya puesto por el post y lo que digo es una obviedad.
He visto que alguien se ha hecho con un arduino y otros componentes una alarma que llama al movil, va con sensor de movimiento y yo he pensao que si se hiciera con deteccion de corte de corriente podria ser el avisador definitivo sin ese en el que dicen que hay fallos con reles y cosas de esas.
No se igual es una chorrada pero aqui lo dejo por si os interesa.
 
Con el tema del dimeo yo lo he probado en la proto con mosfet y si hace el efecto, no sabría decir si desde cero, pero teniendo un led con mosfet y otro sin mosfet parece que van los dos iguales, cuando lo haga con los buenos no se si cambiara la cosa, no os puedo decir mas hasta que conecte la pantalla entera.

Saludos
 
Muy buenas¡¡ se que me vais a matar,pero he intendado encontrar lo que os voy a preguntar y no lo he visto,alguien me puede decir (en el software) cuales son las lineas que hay que caambiar para modificar la hora de encendido y apagado de las luces? Muchas gracias y un saludo.
 
hace un par de días apareció una noticia brutal sobre arduino y un nuevo empuje a esta plataforma:




se llama Android Open Accessory Development Kit



la gente de android se ha volcado en esta plataforma y se podrá interactuar entre un dispositivo android y los arduino de una forma sencilla, es una grandísima noticia para todos los que hemos jugado con arduino!!

estoy emocionado de nuevo con el arduino XD
 
Ok, gracias kurroton....
Alguien ha probado si el efecto de dimeo es igual con las ELN -P o es mas progresivo desde 0% , he visto en las especificaciones que deberian empezar a lucir al 11% con PWM???
muy buenas! yo lo hice con las P y el dimeo no es desde 0 cuando se encienden ya estan bastante encendidos. un 20% mas o menos diria yo. lo guapo del dimeo es llegar hasta 0 gradualmente, y con las P no se puede: cuando se encienden se nota mucho el golpe de luz al igual que cuando se apagan. por mi parte se llevan un suspenso: al final termine usandolas a todo o nada para no calentarme la cabeza.
 
hace un par de días apareció una noticia brutal sobre arduino y un nuevo empuje a esta plataforma:




se llama Android Open Accessory Development Kit




la gente de android se ha volcado en esta plataforma y se podrá interactuar entre un dispositivo android y los arduino de una forma sencilla, es una grandísima noticia para todos los que hemos jugado con arduino!!

estoy emocionado de nuevo con el arduino XD

Los grandes se acuerdan de los pequeños
 
Hola a todos, estoy comenzando con la programacion del arduino.

Primer logro conseguido, mostrar "hola mundo" en la pantalla lcd 20*4 que tengo, no veais hasta que encontre el orden de conexion de los cables de la dichosa pantalla.

Bueno, ya se que vais un poco mas adelantados que yo, pero no tengo mucho tiempo y sitio para dedicarle al arduino de momento, el problema que tengo es que no consiguo poner en hora el reloj, que es , solo me sale en pantalla ceros.

Aqui os dejo el codigo, a ver si me podeis ayudar.

// include the library code:
#include <LiquidCrystal.h>
#include <Wire.h> //
#define DS1307_I2C_ADDRESS 0x68
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Convierte números normales decimales a BCD (binario decimal codificado)
byte decToBcd(byte val)
{
return ((val/10*16) + (val%10));
}

// Convierte BCD (binario decimal codificado) a números normales decimales
byte bcdToDec(byte val)
{
return ((val/16*10) + (val%16));
}

// 1) Sets the date and time on the ds1307
// 2) Starts the clock
// 3) Sets hour mode to 24 hour clock
// Assumes you're passing in valid numbers
void setDateDs1307(byte second, // 0-59
byte minute, // 0-59
byte hour, // 1-23
byte dayOfWeek, // 1-7
byte dayOfMonth, // 1-28/29/30/31
byte month, // 1-12
byte year) // 0-99
{
Wire.beginTransmission(DS1307_I2C_ADDRESS);
Wire.send(0);
Wire.send(decToBcd(second));
Wire.send(decToBcd(minute));
Wire.send(decToBcd(hour));
Wire.send(decToBcd(dayOfWeek));
Wire.send(decToBcd(dayOfMonth));
Wire.send(decToBcd(month));
Wire.send(decToBcd(year));
Wire.endTransmission();
}

// Establece la fecha y el tiempo del ds1307
void getDateDs1307(byte *second,
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year)
{
// Resetea el registro puntero
Wire.beginTransmission(DS1307_I2C_ADDRESS);
Wire.send(0);
Wire.endTransmission();

Wire.requestFrom(DS1307_I2C_ADDRESS, 7);

// Alguno de estos necesitan enmascarar, ciertos bits son bits de control

*second = bcdToDec(Wire.receive()&0x7f);
*minute = bcdToDec(Wire.receive());
*hour = bcdToDec(Wire.receive()&0x3f);
*dayOfWeek = bcdToDec(Wire.receive());
*dayOfMonth = bcdToDec(Wire.receive());
*month = bcdToDec(Wire.receive());
*year = bcdToDec(Wire.receive());
}

void setup()
{
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
Wire.begin();
lcd.begin(20, 4);

///*
second = 00;
minute = 10;
hour = 22;
dayOfWeek = 7;
dayOfMonth = 15;
month = 5;
year = 11;
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
//*/
}

void loop()
{
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);

lcd.setCursor (0,0);
if (dayOfMonth < 10) lcd.print("0");
lcd.print(dayOfMonth, DEC);
lcd.print("/");
if (month < 10) lcd.print("0");
lcd.print(month, DEC);
lcd.print("/");
if (year < 10) lcd.print("0");
lcd.print(year, DEC);
lcd.print(" ");
if (hour < 10) lcd.print("0");
lcd.print(hour, DEC);
lcd.print(":");
if (minute < 10) lcd.print("0");
lcd.print(minute, DEC);
lcd.print(":");
if (second < 10) lcd.print("0");
lcd.print(second, DEC);
lcd.setCursor(5,2);

switch (dayOfWeek)
{
case 1: lcd.println(" Lunes"); break;
case 2: lcd.println(" Martes"); break;
case 3: lcd.println(" Miercoles"); break;
case 4: lcd.println(" Jueves"); break;
case 5: lcd.println(" Viernes"); break;
case 6: lcd.println(" Sabado"); break;
case 7: lcd.println(" Domingo"); break;
}

delay(1000);
}
 
hola ponlo en hora.
asi:
quitando esta linea-> ///*
second = 00;
minute = 10;
hour = 22;
dayOfWeek = 7;
dayOfMonth = 15;
month = 5;
year = 11;
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
y esta tambien->//*/
lo compilas y lo subes.
vuelves a poner las lineas que quitaste y lo vuelves a compilar y subir.
 
Estado
Cerrado para nuevas respuestas.
Atrás
Arriba