
Arduino
#1
Publicado el 03 September 2012 - 08:00 PM
#2
Publicado el 03 September 2012 - 08:31 PM
leerlo es un coñ....zo pero es rigoroso estudio para aprender como funciona el codigo www.uco.es/aulasoftwarelibre/.../2010/05/Arduino_user_manual_es.pdfViendo las posibilidades infinitas que tiene estoy buscando información. Encontré la que supongo es la pagina oficial http://www.arduino.cc/es/ En ella veo mucha información del sistema arduino pero no encuentro información para aprender su código.
no se puede, ademas por el precio que tiene es mas factible terenrlo carlos puedes descargarte la version del sofware .y crear tus codigos ver si no tienen fallos pero no sabras si funcionanTambién me gustaría saber si se puede programar y emular sin necesidad de comprar el micro
#3
Publicado el 04 September 2012 - 12:38 AM
#4
Publicado el 04 September 2012 - 12:34 PM
#5
Publicado el 04 September 2012 - 03:02 PM
carlos asi empeze yo , poco a poco construi el controlador y despues de muchas prueva fui modificandolo a mi antojo ...........pero si algo es cierto a alguien sin idea se le hace un mundo al principio , sldAhora, he de decir que sin tener ni idea de programación ni de electrónica ni circuitos, igual es meterse en camisa de once varas y se puede hacer una montaña. , pero compadezco a los que se metan a la aventura. Un saludo.
#6
Publicado el 04 September 2012 - 03:26 PM
#7
Publicado el 05 September 2012 - 09:23 PM
#8
Publicado el 06 September 2012 - 04:14 PM
#9
Publicado el 06 September 2012 - 05:21 PM
#10
Publicado el 06 September 2012 - 07:25 PM
#11
Publicado el 06 September 2012 - 07:42 PM
Yo en estos temas estoy muy pez Sé del amigo de un amigo que se hizo hace poco un controlador y que en vez de usar el arduino se compró el raspberry (que me parece que funciona con fédora). Eso sí, no me preguntéis el cómo. Si es una idea muy descabellada, disculpad.es otra plataforma DEL ,lo que pasa es que estamos mas acostumbrados por mayoria a trabajar con arduino `por no decir de encontrar suministro compatible con arduino -pero es otra opcion de varias que hay. yo invito a todos los visitantes de este post a que esrtudieis esta opcion de implantar un controlador
#12
Publicado el 06 September 2012 - 09:23 PM
Para los neófitos del tema:
Las conexiones digitales son aquellas que solo funcionan mandando o recibiendo una señal de SI o NO, siendo el NO que la conexión tenga menos de 2v y el sí que la conexión tenga 5v, con esto podemos gestionar salidas que manejen un Relé, un transistor de potencia o un led, si la conexión es de entrada podemos gestionar, un pulsador, en sensor de varios tipos como flotadores o sensores de presión y algunas cosas más, el que sea la conexión de salida o entrada lo definimos nosotros,
Las conexiones analógicas son las encargadas de manejar señales en las cuales detectamos variaciones de tensión o generamos variaciones de tención, dependiendo si las configuramos como entrada o salida, un uso puede ser manejar un motor, un sensor de temperatura, entre estas hay un pequeño grupo que son PWM (Pulse Wave Modulation, modulación de onda por pulsos) las cuales son para controlar una salida escalonada desde 0 a 255, las cuales son perfectas para manejar un flujo de corriente como puede ser el dimeo(encendido escalonado) de las luces de nuestro acuario.
SPI ( Serial Peripherical Interface) es un protocolo de comunicaciones que va por un bus de tres líneas, sobre el cual se transmiten paquetes de información de 8 bits. Cada una de estas tres líneas porta la información entre los diferentes dispositivos conectados al bus. Cada dispositivo conectado al bus puede actuar como transmisor y receptor al mismo tiempo, por lo que este tipo de comunicación serial es full duplex. Dos de estas líneas trasfieren los datos (una en cada dirección) y la tercer línea es la del reloj. Algunos dispositivos solo pueden ser transmisores y otros solo receptores, generalmente un dispositivo que tramite datos también
puede recibir.
Puertos Serie estos son unos pines para la comunicación serie (RS-232) equivalentes al puerto serie de PC, pero que en vez de un conector de 9 puntas como el PC son de 2 conexiones (TX) trasmisión y (RX) resección, el número de puertos serie depende del modelo Arduino, lo normal es 1 menos el Mega que tiene 4, hay que tener en cuenta que los Arduino la mayoría viene con un Puerto USB para la programación y comunicación con el, en el caso de los que solo tienen 1 puerto serie, este es el mismo que utiliza el USB.
El Arduino Mega que es el utilizado para este controlador es este:

Uploaded with ImageShack.us
Microcontrolador ATmega1280
Voltaje de funcionamiento 5V
Voltaje de entrada (recomendado) 7-12V
Voltaje de entrada (limite) 6-20V
Pines E/S digitales 54 (14 proporcionan salida PWM)
Pines de entrada analógica 16
Intensidad por pin 40 mA
Intensidad en pin 3.3V 50 mA
Memoria Flash 128 KB de las cuales 4 KB las usa el gestor de arranque(bootloader)
SRAM 8 KB
EEPROM 4 KB
Velocidad de reloj 16 MHz
Alimentación
El Arduino Mega puede ser alimentado vía la conexión USB o con una fuente de alimentación externa. El origen de la alimentación se selecciona automáticamente.
Las fuentes de alimentación externas (no-USB) pueden ser tanto un transformador o una batería. El transformador se puede conectar usando un conector macho de 2.1mm con centro positivo en el conector hembra de la placa. Los cables de la batería puede conectarse a los pines Gnd y Vin en los conectores de alimentación (POWER)
La placa puede trabajar con una alimentación externa de entre 6 a 20 voltios. Si el voltaje suministrado es inferior a 7V el pin de 5V puede proporcionar menos de 5 Voltios y la placa puede volverse inestable, si se usan mas de 12V los reguladores de voltaje se pueden sobrecalentar y dañar la placa. El rango recomendado es de 7 a 12 voltios.
- Sensei le gusta esta
#13
Publicado el 06 September 2012 - 09:50 PM
Como sensor de temperatura hay muchos modelos, el mas simple son las resistencias NTC o PTC, son unas resistencias que varían su valor según la temperatura y su lectura es analógica y cada sonda ocuparía una entrada analógica, pero el más fiable para obtener una lectura digital de temperatura es el integrado DS18B20 de la gente de Dallas.
El DS18B20 es otra maravilla de integrado, tiene un tamaño minúsculo y solamente tres patas.

Uploaded with ImageShack.us
su montaje

Uploaded with ImageShack.us
Para poder usar el DS18B20 como sonda hay que hacer un pequeño trabajo con ella, soldándole un cable y encapsulándola en un tubito sellado de silicona para que no le afecte el agua,, en Ebay la hay para comprarla ya echa la sonda

Uploaded with ImageShack.us
#14
Publicado el 06 September 2012 - 09:58 PM
Se me olvidaba un componente, el mas impórtate de todos el control de las luces, sobre este tema se a hablado mucho por internet, el sistema que mas utilizan la mayoría es unos transformadores dimeables que por cierto son bastante caro y para dimear estos utilizan circuitos con un integrado regulador que le da una señal a los trasformadores de 0v a 10v.
Para mi siempre e visto esto como algo demasiado complicado y caro, por lo que me decidí por un sistema mas directo de dimeo, utilizando una fuente de alimentación normal para leds y dimeando en su salida con un solo transistor.
El sistema es simple partiendo de un transformador específico para leds como este.

Uploaded with ImageShack.us
Obtenemos los 12v ,24v o 48v este es mi caso para alimentar (serie de 14 led), y para dimearlos intercalamos un transistor (tip 141 o tip 122)de potencia entre este transformador y los leds, encargándose este de regular el voltaje que le llegan a los leds, de esta forma tenemos el efecto tan deseado para nuestro acuario de amanecer y anochecer.

Uploaded with ImageShack.us
#15
Publicado el 06 September 2012 - 10:11 PM
Como ya vimos al principio del post lo normal es que la pantalla sea una LCD de cristal liquido, las mas comunes son de caracteres y se definen por cuantos caracteres caben en cada línea y cuantas líneas tiene.
Para comunicarnos con ellas tenemos que hacerlo por un bus de datos de 4bit o 8bit en definitiva por 4 cables o 8, los cuales irán conectados a los pines digitales del Arduino, lo normal es que con 4bit se puedan manejar casi todas.
Además del bus de datos tendremos que conectar algunos cables más, como son registro (RS) que es el que controla en qué parte de la memoria del LCD estás escribiendo datos, el cual ira a otro pin digital del arduino, también conectaremos el pin de lectura/escritura (R/W) que selecciona el modo de lectura o el de escritura, este a no ser que nos queramos meter en reprogramación de los caracteres de la pantalla lo pondremos a masa (polo negativo).
Luego nos queda el pin para habilitar (E/enable) que habilita los registros, el cual ira a otro pin digitar del arduino, también tendremos que conectar un potenciómetro de 10K Ohm conectado entre el positivo y el negativo de la alimentación y con su punto central al pin (V0) para regular el contraste de la pantalla.
Y por ultimo los cables de alimentación negativo y positivo de 5v para la pantalla y suele ser también necesario para pines de retroiluminación (Bklt+ y Bklt-), encender y apagar la retro-iluminación.

Uploaded with ImageShack.us
La mayoría de estas pantallas están basada o son compatibles con el controlador Hitachi HD44780 y para manejarlas el arduino ya trae una librería llamada LiquidCrystal y que es muy simple de usar.
#16
Publicado el 06 September 2012 - 10:19 PM
Este placa reloj tiene la peculiaridad de manera el protocolo de comunicacion I2C , por medio de solo 2 cables (SDA y SCL)

Uploaded with ImageShack.us
#17
Publicado el 07 September 2012 - 12:18 AM
#18
Publicado el 07 September 2012 - 12:29 AM
#19
Publicado el 07 September 2012 - 02:53 AM

Hagamos Biobolas
Fabricando Canutillos Ceramicos
Cuadritillos Ceramicos Caseros. ( Versión mejorada de los canutillos )
#20
Publicado el 07 September 2012 - 06:20 AM
Lo bueno de este tipo de sistemas programables frente a qué componentes podemos usar, es que no sólo nos tenemos que "acotar" a los módulos prefabricados que encontremos, si no, que podemos integrar a nuestro diseño cualquier tipo de sonda, sensor, actuador, y un largo etc, ya que conociendo los parámetros de funcionamiento de lo que enchufemos, podemos adaptar nuestra programación para recoger la/s señal/es, procesarla/s y actuar en consecuencia. Más que como el refranillo dice (nuestra imaginación es el límite) ... hasta cierto punto es nuestro bolsilloYo creo que la ventaja del sistema arduino respecto a otros es que esta mucho mas extendido y es mas fácil encontrar módulos para el sistema. Seguro que hay muchas otras plataformas , esta bien exponerlas. Medina para el encendido de las luces utilizar un reloj temporizador o con el mismo arduino. Estaría bien añadir un caudalimetro y un medidor de tds estilo flubal

#21
Publicado el 07 September 2012 - 08:59 AM
#22
Publicado el 07 September 2012 - 03:09 PM
carlos no hace falta temporizador ,si no de que serviria entonces arduino .te explico el aruino en si manda la orden de encendido y apagado como tambien dimeado aunque suelo ponerles reles a las fases para evitar derivaciones entre ellas un ejemploYo creo que la ventaja del sistema arduino respecto a otros es que esta mucho mas extendido y es mas fácil encontrar módulos para el sistema. Seguro que hay muchas otras plataformas , esta bien exponerlas. Medina para el encendido de las luces utilizar un reloj temporizador o con el mismo arduino. Estaría bien añadir un caudalimetro y un medidor de tds estilo flubal
int PinAzul=30;//rele 11 azul utilizamos este pinpara ajudicar el interruptor(rele) de esa fase void setup() pinMode(5, OUTPUT);//AZULES//ajudicamos esa salida al la serie (tip 141) void loop() { Az(minute, hour);// declaramos fase,tiempos , hora y minutos para la fase void Az(int minutos, int horas) { ///////////tiempos de progamacion////////// int AzAzules; int InicioAmanecerAzul=720;//12:00 int FinAmanecerAzul=780;//13:00 // int InicioAnochecerAzul=1320;//22:00// int FinAnochecerAzul=1380;//23:00// int MaxAzul=125; int PorcentAzules; int PasoAzulAM=MaxAzul/(FinAmanecerAzul-InicioAmanecerAzul); int PasoAzulPM=MaxAzul/(FinAnochecerAzul-InicioAnochecerAzul); int Tiempo; Tiempo=horas*60+minutos; // if (Tiempo < 60)Tiempo=Tiempo+1440; // Tiempo=Tiempo-60; //Horario de Invierno //################################# azules ################################### //Noche if (Tiempo < InicioAmanecerAzul ) AzAzules=0; //Amanecer if (Tiempo >= InicioAmanecerAzul && Tiempo <= FinAmanecerAzul) AzAzules=(Tiempo-InicioAmanecerAzul)*PasoAzulAM; //Dia if ((Tiempo > FinAmanecerAzul) && (Tiempo < InicioAnochecerAzul)) AzAzules=MaxAzul; //Anochecer if (Tiempo >= InicioAnochecerAzul && Tiempo <= FinAnochecerAzul) AzAzules=(FinAnochecerAzul-Tiempo)*PasoAzulPM; //Control if( AzAzules <0) AzAzules=0; if( AzAzules >MaxAzul)AzAzules=MaxAzul; analogWrite(5, AzAzules); PorcentAzules =Porcent(AzAzules ,255)*2; lcd.clear(); lcd.setCursor(0,0); lcd.print("ILUMINACION:"); lcd.setCursor(0,3); if (hour < 10) lcd.print("0"); lcd.print(hour, DEC); lcd.print(":"); if (minute < 10) lcd.print("0"); lcd.print(minute, DEC); lcd.setCursor(0,1); lcd.print("AZULES:"); if (PorcentAzules< 10); lcd.print(PorcentAzules); lcd.print("%"); lcd.print(" "); lcd.setCursor(6,3); if (dayOfMonth < 10) lcd.print("0"); lcd.print(dayOfMonth, DEC); lcd.print("/"); if (month < 10) lcd.print("0"); lcd.print(month, DEC); lcd.print("/"); lcd.print("20"); if (year < 10) lcd.print("0"); lcd.print(year, DEC); lcd.print(" "); lcd.setCursor(0,2); if (Tiempo > InicioAmanecerAzul && Tiempo < FinAmanecerAzul) lcd.print ("AMANECER-AZUL"); if (Tiempo > FinAmanecerAzul&& Tiempo < InicioAnochecerAzul) lcd.print ("PLENUM-AZUL"); if (Tiempo >= InicioAnochecerAzul && Tiempo <= FinAnochecerAzul) lcd.print ("ANOCHECER-AZUL"); if (Tiempo > FinAnochecerAzul|| Tiempo < InicioAmanecerAzul) lcd.print ("ZENIT-AZUL"); //////////// este es el rele encargado de activar la entrada de corriente////////// lcd.setCursor(10, 1); if (Tiempo >= InicioAmanecerAzul&& Tiempo <= FinAnochecerAzul)//decimos al rele el encendido y apagado// { digitalWrite(PinAzul, LOW);//este se ejcuta en cuanto llega la orden de encendido " int InicioAmanecerAzul=720;//12:00/// } else { digitalWrite(PinAzul, HIGH);//y aqui el apagado // } delay(1000); }espero que se me haya entendido
#23
Publicado el 07 September 2012 - 03:17 PM
Medina, te corregiría un poco si no te importa, y no me equivoco yo. Las salidas PWM no son realmente salidas analógicas, puesto que su tensión no varía y es o 0V o 5V siempre. Lo que pasa es que en su salida se genera una onda cuadrada que depende del valor que le indiques (entre 0 y 255). Así, si le pones 0 será una salida a 0V siempre y si le pones 255 será a 5V siempre, y si le pones 128 será la mitad a 0V y la mitad a 5V, pero no se seguro en qué forma y frecuencia. Lo que se hace para los LEDs, es que se usa una señal PWM de tal forma que se enciende y se apaga el LED a la frecuencia que le digamos en la señal, de tal forma que, cambiando esta frecuencia, por un efecto óptico, nos parece que el LED cambia de luminosidad. También, por si acaso, los pines para PWM no coinciden con los analógicos. Además, tanto los unos como los otros se pueden configurar como digitales, creo, igual que los demás pines, pero solo los "ANALOG IN" se pueden configurar como entrada analógica, de tal forma que según el valor de tensión que tenga en la entrada, tomando como referencia la tensión del pin HREF, se leerá un valor entre 0 y 1024 al leer de él, osea, que si en HREF hay 12V el 1024 corresponderá a 12V y si hay 3V corresponderá a 3V. Si no se pone nada a HREF creo que el 1024 corresponde a 5V. Por lo de la sonda DS18B20, decir que usa el protocolo OneWire, que utiliza un solo pin (digital), y el de GND, pudiendo conectar muchos dispositivos (no solo sensores) en el mismo pin. Digamos que lo que se hace es preguntarle al sensor, mediante un comando especial del protocolo OneWire, qué temperatura tiene. Ah, y otra cosa, por si acaso algún despistado se le ocurre: No se puede conectar un LED de alta luminosidad (1W, 3W, 5W, 10W, ...) directamente a uno de los pines del Arduino. Como dice medina hay que controlarlo mediante algún sistema que permita usar mucha corriente, ya que los pines del Arduino sacan poquita. Eso sí, para los LEDs pequeñitos de toda la vida si sirven, puesto que estos consumen 20mA y el Arduino saca 40. Por otro lado, a mi el Raspberry me parece que es un PC en miniatura. Al que se le conecta un teclado, un ratón, una pantalla y una memoria con el sistema operativo, y se le instala un Linux (lo cual no será sencillo para todos). Yo diría que estará más orientado a montar cosas que se hacen con PC pero ocupan mucho espacio, como por ejemplo un reproductor de video o cosas así. Para controlar E/S, sensores, actuadores y demás, yo usaría antes un Arduino. Además, que como decís, hay muchos "módulos" sensores/actuadores ya montados que puedes comprar en webs o en ebay, y muchos programas rondando por internet que se pueden utilizar. Lo veo más versátil para estas cosas. Un saludo.
eso si alloba para saturar un mega en pines y memoria hay que montar una central ,para un controlador de acuario con el mega 1280,mira los pines que yo utilize .....y los que me sobra muy buena explicacion de ambos .esto se animaLo bueno de este tipo de sistemas programables frente a qué componentes podemos usar, es que no sólo nos tenemos que "acotar" a los módulos prefabricados que encontremos, si no, que podemos integrar a nuestro diseño cualquier tipo de sonda, sensor, actuador, y un largo etc, ya que conociendo los parámetros de funcionamiento de lo que enchufemos, podemos adaptar nuestra programación para recoger la/s señal/es, procesarla/s y actuar en consecuencia. Más que como el refranillo dice (nuestra imaginación es el límite) ... hasta cierto punto es nuestro bolsillo
, o llegados a cierto punto ... la memoria del arduino para el programa. Aunque otra de las bondades de este tipo de microcontroladores ... es que son totalmente escalables, si uno se te queda corto, de entradas y salidas, de memoria, o de capacidad de proceso, ya que solo puede ejecutar un proceso cada vez (por ejemplo los bucles largos como los "FOR"), siempre podemos poner más arduinos, en este caso, uno en maestro y los demás en esclavo para ejecutar diferentes programas al mismo tiempo, y pasar todos los valores al primario si fuese necesario. Es una gran herramienta con muchas posibilidades. Un saludo.
#24
Publicado el 07 September 2012 - 04:48 PM
#25
Publicado el 07 September 2012 - 04:58 PM
lo utilizo asi carlos ,el unico aparato que controla todo con solo un enchufe es "ARDUINO"Medina te preguntaba como lo utilizabas tu era curiosidad, pero la respuesta a sido mas que aclaratoria. Gracias
Toggle shoutbox
Chat PA
|