Taller de Arduino

  • Iniciador del tema Iniciador del tema jmcadsl
  • Fecha de inicio Fecha de inicio
Estado
Cerrado para nuevas respuestas.
bueeeeno, deciros que parece que la pantallita ya chuta. jmadls, jmerino, finalmente utilicé la librería que me pasasteis y que pareciera que no funcionara era un tema de la conexion puerto con el MAC, y ahora con el PC todo OK.
Comentar que hay bastante diferencia respecto la lcd de 16x2 a nivel de porgramarla (por ejemplo no se puede utlitzar directamente Serial.Print), pero bueno, estoy entretenido, y bastante. De momento ya he conseguido que aparezca un texto y un circulo jejejejejej. Ahora toca el tema del reloj...

Muchas gracias compañeros y os mantego informados!
 
bueeeeno, deciros que parece que la pantallita ya chuta. jmadls, jmerino, finalmente utilicé la librería que me pasasteis y que pareciera que no funcionara era un tema de la conexion puerto con el MAC, y ahora con el PC todo OK.
Comentar que hay bastante diferencia respecto la lcd de 16x2 a nivel de porgramarla (por ejemplo no se puede utlitzar directamente Serial.Print), pero bueno, estoy entretenido, y bastante. De momento ya he conseguido que aparezca un texto y un circulo jejejejejej. Ahora toca el tema del reloj...

Muchas gracias compañeros y os mantego informados!

Me alegro!!!! Esta claro que en cuanto a código debe ser más compleja, pero luego seguro que el resultado es acojonannnm,......te jejeje

Ánimo!!
 
Muy bien David76, era cuestion de tiempo y quebraderos de cabeza....jejejej. me alegro.

jmcadsl, creo que tengo algún bd137 de esos que compre pensando que lo necesitaría, si es así, esta noche seguro que lo pruebo y os digo si funciona.
 
Hay alguna diferencia entre los sensores de temperatura 1820 y 18b20? ó son iguales, YO TENGO EL 18B20

Y que libreria necesitaria, ya que he intentado compilar todos los codigos que aparecen aqui, y ninguno funciona supongo que sera por no tener la libreria correcta, tengo puesta la TCL 3.5.0

Y por ultimo, hay alguna diferencia, en el codigos de programa, segun el lcd que se tenga?
 
Última edición:
Hay alguna diferencia entre los sensores de temperatura 1820 y 18b20? ó son iguales, YO TENGO EL 18B20

Y que libreria necesitaria, ya que he intentado compilar todos los codigos que aparecen aqui, y ninguno funciona supongo que sera por no tener la libreria correcta, tengo puesta la TCL 3.5.0

Y por ultimo, hay alguna diferencia, en el codigos de programa, segun el lcd que se tenga?

1-Yo también tengo los 18B20, y sin problemas.

2-Vigila que estás instalando correctamente las librerías, y que después de "instalarlas" reinicias el entorno de programación. Yo también he tenido problemillas con este tema.

3- Con respecto a las LCD, si admiten la librería que muchos estáis utilizando (SLCD.h creo recordar), no hay problema. Mi LCD no la admite al 100% por lo que he utilizado directamente Serial.print, y la hoja de especificaciones del fabricante para los "comandos especiales" como borrar pantalla, o cambiar brillo.

Por cierto amigos, me he encontrado con una limitación inesperada, he llegado al límite de los 14Kb que tiene mi arduino para la programación :-( podría reducir algunas líneas pero no me basta para programas nada nuevo de importancia, por lo que voy a dar por terminada la primera versión operativa, y me pediré otro arduino con un atmel mayor para continuar.
 
Última edición:
HOLA camaron ese sensor lo tengo yo y me funciona con esto: fijate en que el pin de temperatura es 11y los de lcd son 8, 9, 4 , 5, 6, 7(cambialos a donde tu los necesites).
#include <OneWire.h>
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4 , 5, 6, 7);
OneWire ds(11); // on pin 10
byte i;
byte present = 0;
byte data[12];
byte addr[8];
int Temp;

void setup(void) {
lcd.begin(16, 2);
}
void loop(void) {
if ( !ds.search(addr)) {
ds.reset_search();
return;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end
delay(1000); // maybe 750ms is enough, maybe not
present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { data = ds.read();}
Temp=(data[1]<<8)+data[0];//take the two bytes from the response relating to temperature
Temp=Temp>>4;//divide by 16 to get pure celcius readout
lcd.setCursor(0, 0);
lcd.print("Temp. acuario");//output the temperature to serial port
lcd.setCursor(0, 1);
lcd.print(Temp);
lcd.print(" Grados");
}


y en el post numero 2 hay otro que tambien funciona de jmcadsl.

jmerino ma voy a cagar en "to" dilo, tio, dilo.....:super_com..... y eso de esta noche lo pruevo nada deja lo que estes haciendo y metele caña...
entonces pido mas bombas de estas, solo pedi una para provar pero si decis que funciona me lanzo y pido 3 mas.

animo que esto avanza
 
1-Yo también tengo los 18B20, y sin problemas.

2-Vigila que estás instalando correctamente las librerías, y que después de "instalarlas" reinicias el entorno de programación. Yo también he tenido problemillas con este tema.

3- Con respecto a las LCD, si admiten la librería que muchos estáis utilizando (SLCD.h creo recordar), no hay problema. Mi LCD no la admite al 100% por lo que he utilizado directamente Serial.print, y la hoja de especificaciones del fabricante para los "comandos especiales" como borrar pantalla, o cambiar brillo.

Por cierto amigos, me he encontrado con una limitación inesperada, he llegado al límite de los 14Kb que tiene mi arduino para la programación :-( podría reducir algunas líneas pero no me basta para programas nada nuevo de importancia, por lo que voy a dar por terminada la primera versión operativa, y me pediré otro arduino con un atmel mayor para continuar.
Lo que me indicas lo he intentado, pero no hay manera.
Por cierto que putada lo de las 14 kb
 
Por cierto amigos, me he encontrado con una limitación inesperada, he llegado al límite de los 14Kb que tiene mi arduino para la programación :-( podría reducir algunas líneas pero no me basta para programas nada nuevo de importancia, por lo que voy a dar por terminada la primera versión operativa, y me pediré otro arduino con un atmel mayor para continuar.


Buffff.....mucho código.....revísalo bien, seguro que lo puedes depurar, revisa que no tengas algunas tareas repetitivas en varios sitios , si es asi create una funcion con ese codigo repetitivo....
 
Buffff.....mucho código.....revísalo bien, seguro que lo puedes depurar, revisa que no tengas algunas tareas repetitivas en varios sitios , si es asi create una funcion con ese codigo repetitivo....

Lo que me come más son las librerías, y principalmente el menu de configuración, que es el corazón de mi sistema, se de una función que podría simpliificar y ahorraría 500b, pero la siguiente funcionalidad que quiero darle me requiere mucho más código que esos míseros 500b. También podría quitar funciones de configuración, pero es que eso es lo que más me gusta.

Me planteo pedir otro arduino, para Ethernet (con el shield), Medidor de PH, y registro de mediciones (con una EEPROM externa o una tarjeta SD)...

¿cómo es el tema de comunicar dos arduinos? porque si no recuerdo mal así lo tienes tú ¿no? necesitaré muchos bytes para programar la comunicación entre ellos? La idea sería dejar este como está, y comunicarse con el otro para los demás temas comentados.
 
bueno pues con los reles he metido tambien la pata, como lo veis vosotros.
Use 2N7000 MOSFET driving relay, Improve the reliability of action.
Power Supply: 5V / 400mA. esto es muchos ma para el arduino moverlos.
Input voltage: 0V - 0.5V (relay is OFF),
0.5V - 4V (unknown state),
4V - 13V (relay is ON).

pues ya he conseguido encender o apagar un ventilador de 12v con el arduino sin rele con el tip 120
 
Lo que me come más son las librerías, y principalmente el menu de configuración, que es el corazón de mi sistema, se de una función que podría simpliificar y ahorraría 500b, pero la siguiente funcionalidad que quiero darle me requiere mucho más código que esos míseros 500b. También podría quitar funciones de configuración, pero es que eso es lo que más me gusta.

Me planteo pedir otro arduino, para Ethernet (con el shield), Medidor de PH, y registro de mediciones (con una EEPROM externa o una tarjeta SD)...

¿cómo es el tema de comunicar dos arduinos? porque si no recuerdo mal así lo tienes tú ¿no? necesitaré muchos bytes para programar la comunicación entre ellos? La idea sería dejar este como está, y comunicarse con el otro para los demás temas comentados.

Yo los estoy comunicando mediante el protocolo I2C, de la manera más "basica" posible, es decir en el lado del maestro le digo al esclavo haz el programa x (x es un numero entre 0 y 99) y dentro del esclavo tengo declarados que el programa x hace tal..., el codigo es muy sencillo, por eso no hay problema.
Lo bueno de tener 2 arduinos y no el mega es como os comentaba al principio es que tenemos 2 procesadores y podemos hacer 2 trabajos a la vez....yo el arduino esclavo lo tengo para control de reles y la ethernet shield.
 
Pues acabo de probar el bd137 con las peristalticas y tengo que decir que debo de estar haciendo algo mal, porque no me funciona.

Pongo como he conectado el bd137 por si alguien me puede ayudar.

He programado High low en el pin 13 para asi ver tambien el led de la placa como se enciende y apaga.

Positivo Arduino a Positivo Bomba
Negativo Arduino a pin 1 BD137
Pin 2 DB137 a Negativo Bomba
Pin 13 Arduino con resistencia 1k a pin 3 BD137.

Midiendo con un tester, da voltaje a 4.97 pero no mueve la bomba.
 
Pues acabo de probar el bd137 con las peristalticas y tengo que decir que debo de estar haciendo algo mal, porque no me funciona.

Pongo como he conectado el bd137 por si alguien me puede ayudar.

He programado High low en el pin 13 para asi ver tambien el led de la placa como se enciende y apaga.

Positivo Arduino a Positivo Bomba
Negativo Arduino a pin 1 BD137
Pin 2 DB137 a Negativo Bomba
Pin 13 Arduino con resistencia 1k a pin 3 BD137.

Midiendo con un tester, da voltaje a 4.97 pero no mueve la bomba.

Justo el pin 13 lleva una resistencia para el led de control, prueba con otro....y si no...

Hay transistores que son NPN y otro PNP , es decir unos amplifican desde el emisor al colector y otros al contrario, solo se me ocurre que pruebes a intercambiar los pines.(1 <--> 2)

Por otro lado para la gente que pìde manuales básicos para aprender Arduino desde 0 he encontrado esto por la red, creo que es de obligada lectura...


https://jaigor.net/files/electronica/Electronica_para_usos_creativos_ dia1.pdf
https://jaigor.net/files/electronica/Electronica_para_usos_creativos_ dia2.pdf
https://jaigor.net/files/electronica/Electronica_para_usos_creativos_ dia3.pdf
 
Última edición:
He probado en el pin 12 quitando la resistencia de 1k y funciona perfectamente, tengo que decir que con la resistencia tampoco funcionaba.
 
He probado en el pin 12 quitando la resistencia de 1k y funciona perfectamente, tengo que decir que con la resistencia tampoco funcionaba.

Has probado en el pin 12 directamente sin el transistor???
A ver si le da el visto bueno algún experto electronico....no se si es contraproducente quitar esa resistencia....no dañará el Arduino????

Luciano, el Arduino no se puede programar en C++ , se utiliza lenguaje Wiring , pero si sabes programar en C++ es básicamente lo mismo.

Salu2!!
 
He probado en el 12 y en el 13 sin la resistencia y funciona ok, si lo hago sin transistor, no funciona, hace el intento de mover la bomba pero no tiene fuerza suficiente. Algún entendido en el tema que nos saque de dudas......

¿Se puede eliminar la resistencia del esquema que ha publicado jmcadsl?¿Es peligroso para el arduino?
 
Última edición:
hola yo he conseguido moverla pero con el "tip120" y el esquema anterior todo me a costado 0.70€ frente a 5€ de un rele.... lo malo es que hay que alimentar la bomba aparte. yo la he alimentado con el puerto usb (5v a 1000ma que da el puerto). aun que con el "bd137"seria genial. espero sus avances
un saludo
 
Bueno chicos en vista de que parece que está complicado crear un subforo de arduino con sus categorias dentro de este gran foro, he creado un espacio donde poder ir "ordenando" todos los avances que estamos haciendo con este controlador para poder segir a buen ritmo y que la gente que se vaya uniendo lo tenga más facil y no tenag que leer más de 50 páginas para enterarse de algo.

https://arduacuarios.webcindario.com/

Espero que algún día podamos volcar los contenidos a este gran foro.
Salu2!
 
Bueno chicos en vista de que parece que está complicado crear un subforo de arduino con sus categorias dentro de este gran foro, he creado un espacio donde poder ir "ordenando" todos los avances que estamos haciendo con este controlador para poder segir a buen ritmo y que la gente que se vaya uniendo lo tenga más facil y no tenag que leer más de 50 páginas para enterarse de algo.

https://arduacuarios.webcindario.com/

Espero que algún día podamos volcar los contenidos a este gran foro.
Salu2!

Al intentar darme de alta salta un error: La funcion mail ha sido desactivada, por lo que no he recibido el e-mail de activación.
 
Estado
Cerrado para nuevas respuestas.
Atrás
Arriba