Dudas circuitos y pins

Saludos,

No tengo mucha experiencia con arduino, y me ha surgido una serie de dudas a la hora de conectar distintos sensores.

Por ejemplo, si quiero conectar un LDR y leer con el pin analógico la resistencia para saber el nivel de luminosidad, ahpra lo tengo de la siguiente manera: de 5V al LDR, y de alli, una conexión al pin analógico 0 y a una resistencia que va a GND. Funciona sin problemas con un código que lee el pin analogico cada minuto.

Ahora la cuestión es la siguiente. Supongo que arduino está mandando corriente al LDR continuamente, aunque yo solo le haga leer el pin analógico cada minuto. Es correcto?

de ser así, supongo que si quiero hacer un dispositivo que funcione a pilas, el arduino puede decargarlas en poco tiempo. Así que tal vez la idea sea utilizar un pin digital como salida de corriente, auq eyo pueda poner HIGH una vez cada minuto, que lea el valor recibido por el pin analógico, y volver a ponerlo LOW. De esta forma no se gastaría la batería, porque e circuito no recibiría corriente más que unos pocos milisegundos cada minuto y no de forma contínua.

¿es esto correcto? Pero me surgen más dudas: qué corriente sale de los pin digitales? ¿5V o3V3? Y otra duda más: podría usar cualquier pin digital? Porque cual es la diferenciaentre los digitales normales y los digitales PWM?

El ejemplo es del LDR, pero a duda supongo que es aplicable a cualquier otro sensor que necesite leer cada cierto tiempo. Supongo que son muchas dudas de novato. Se agradece cualquier comentario que me ayude a aclararme.
Gracias!!

Hola madepablo,

Tu montaje es de tipo PULL-DOWN.
La corriente que consume dicha rama es la suma de las dos resistencias, es decir R_sensor + R_pull_down.

Efectivamente, podrías alimentar tu rama con otro pin digital (máxima corriente de salida por pin, creo que es 40mA). Normalmente para ldr y termistores necesitas mucho menos... (la rama es de orden de Kohm).

Para un montaje a baterias, puedes hacer que tu micro entre en Sleep Mode, y cada cierto tiempo ó evento, despierte. Al despertar, pone tensión a la rama del sensor, lee la entrada analógica, tratas la señal y vuelves a dormir.

Arduino es toda la placa, pero se compone de un regulador de voltaje, un micro, cristal, chip ftdi,...
Quien esta alimentando esa rama es el regulador, que siempre esta funcionando. Por eso es buena idea, que sea el micro quien la alimente, ya que si puedes controlar si quieres que alimente ó no.

Puedes encontrar un ejemplo, de como poner el micro en Sleep Mode y despertarse cada cierto tiempo en: Tinkering with Electronics...: Power Sleep Mode

Saludos

Igor R.

Hola Igor,

gracias por la respuesta.

Si, el LDR era un ejemplo sencillo, porque la pregunta iba más por saber si se podia hacer lo de alimentar un dispositivo por los pins digitales en vez de por los de voltaje.

Supongo que mientras tenga el pin digital en high, este estará mandando corriente (5V he leido en las especificaciones del arduino duemilanove) por el pin seleccionado. Y cuando lo pongo en High pasa a desconectarlo. La cuestión ahora es si sirve cualquier pin digital. Porque como los hay RX TX y PWM, no lo tengo claro. Los dos primeros ya se que sirven para mandar y recibir información hacia el procesador, y los PWM para permitir corriente modulada, pero si simplemente le digo HIGH, me lo mandará de forma continua, no?
ya veis que estoy un poco pegado con esto...

Y relacionado con esto, si en vez de 5V necesito solo 3.3V tendré que poner un resistencia a la salida del pin hasta obtener ese voltaje, no?

Respecto a la idea de ponerlo a dormir, me parece muy buena, aunque he leído en la página de arduino que no es lo ideal para el procesador...
http://www.arduino.cc/playground/Learning/ArduinoSleepCode

Pero exploraré los ejemplos que muestras a ver si consigo aprender... y ahorrar batería!
Mi idea era usar un Ds1307 RTC para que avisara de cuando hacer las medidas, y entonces activar los pins digitales, leer las medidas desde los distintos sensores y luego ponerlos en LOW de nuevo hasta la siguiente medida. Pero si le puedo poner a dormir aunque sea parcialmente (con alguno de los casos que me muestras en el link), pues mejor para las baterías.

Y ya metidos a preguntar, si tuviera varios sensores, ¿podría alimentarlos a la vez con un único pin digital o se verían afectadas las medidas por "tirar" del mismo pin y tener que medir a la vez? Aunque esto a lo mejor esto se solventaría dejando un delay() entre lectura de un sensor y otro, no?

Muchas gracias por solventar tantas dudas de novato. GRACIAS!

Acerca de si necesitas 3V3, no puedes hacer lo que dices. Ten en cuenta, que un divisor de corriente, si y solo si funciona, cuando no se le requiere de corriente.

En la placa de Arduino Diecimila ó Duemilanove existen 3V3 provenientes del chip de ftdi, no sé cuanta corriente se le puede exigir. Tendrías que poner un regulador 3v3 externo (y meterle en Vref del ADC dicha tension). Hay algunos reguladores que tienen pin de shut-down, por lo que podrías controlar el encendido/apagado del regulador para bajar consumos.

Existen placas de Arduino, que ya vienen preparadas para funcionar a 3v3 y a 8 Mhz. Mira en Sparkfun (no sé si Bricogeek las tiene, que es distribuidor en España de Sparkfun).

Aunque los pines vengan marcados como PWM, pueden usarse como digitales. Simplemente vienen marcados en la placa, porque se usan bastante para controlar servos y es una de los mayores usos que se le dan y por eso lo ponen en la placa. En realidad, en un micro hay pines multipropósito, pueden funcionar como I/O, entrada pulsos, pwm, analógicas, uart,...Tendrías que mirarlo en el datasheet del fabricante.

¿Por qué no es lo ideal para el procesador ponerlo en sleep? aunque pongas un rtc, tendrás que poner el micro en sleep si quieres que consuma poco y que sea la entrada de interrupción quien te despierte el mismo. Tener un cristal de menos velocidad, por ejemplo, 8 Mhz también te ayuda a bajar el consumo.

Gracias Igor,

Pero me refería a que algunos sensores usan 5V y otros 3.3V, así que ahora funcionan conectándolos a distintos pins del arduino 2009. Pero si paso a alimentarlos con un pin digital, los de 5V funcionarán sin problemas, pero los de 3.3V se me pueden "tostar" a menos que ponga unas resistencias que reduzcan en voltaje de 5 a 3.3, no?

De todas formas, si, ya les he hechado un vistazo a esos shields. Pero hasta que no aprenda con el 2009, no me lanzo a la piscina.

Gracias!

¿Qué tipo de sensores vas a utilizar a 3v3?
¿Como vas a bajar el voltaje de 5v a 3v3 con resistencias?
¿Eres consciente, que el ADC tiene como referencia 5v, y no estarás usando toda la resolución en los sensores de salida 3v3 (si son salida analógica)?

:wink:

Hola Igor,

Por ejemplo este sensor de presión usa 3.3V de alimentación:

o esta cámara:
http://www.bricogeek.com/shop/171-camara-jpeg-con-interfaz-uart.html
y supongo que en el mercado habrá muchas más cosas...

Vale, la burrada de las resistencias ha sido muy gorda, no?

Si, si, pierdo resolución, ya que no uso los 1024 niveles (10 bits), pero era más una pregunta de curiosidad de cómo hacerlo que porque realmente lo necesite... de momento, ue uno nunca sabe.

gracias!

Lo de las resistencias no es una burrada, depende del uso....Para alimentar, si lo es, pero para adaptar señales no.

Bueno, ninguno de esos sensores que me has dicho tiene salida analógica.

El SCP1000 es SPI y la camara serie.

Cuidadin con la adaptación de niveles, que tu Duemilanove saca 5v.

Necesitaras un regulador de 3v3, porque de los 3v3 de la placa de arduino, no podrás sacar 60 mA que son necesarios para alimentar la camara.

¿Qué es lo que quieres diseñar?

Bueno, de momento estoy trasteando con sensores, no tengo nada claro en mente. Aunque supongo que una estación ambiental será el final último. En el que se pueda medir, Temp., humedad, presión, luminosidad en diferentes longitudes de onda para derivar parametros atmosféricos, precipitación, calidad del aire y cosas así. y una cámara sería ideal para contrastar información. Luego ya veré si le pongo sensor de viento, radiacción,... e incluso un gps si lo quiero hacer como dispositivo móvil... Pero es una idea a muy largo plazo, de momento me estoy divirtiendo aprendiendo con el arduino y probando sensores y según vaya arepndiendo con ellos, pues voy maquinando algún dispositivo.

Respecto a lo que me comentas de la camara es que solo la he conectado una vez y no la he vuelto a hacer mucho caso hasta que no tenga un poco más de experiencia, y aún estoy con sensores de temperatura ds18B20 a ver si consigo poner una cadena de más de 3 y que no se acoplen entre ellos... Pero es interesante saber que no podrá funcionar la cámara. El caso es que he visto ejemplos por ahí que parecen funcionar simplemente tal cual es sin reguladores externos...
http://jarv.org/sdcam.shtml
http://gizmologi.st/2009/04/taking-pictures-with-arduino/#more-5

Y respecto a las salidas, no era importante, si la duda era por parte de la alimentación... de como hacer que se alimentara a 3.3 por un pin digital... para poder "encenderlo" cada cierto tiempo para que no consuma... Pero entiendo que tengo que usar un regulador de voltaje en esos casos. Perfecto! Así que si se me plantea alguna vez...

gracias

En http://jarv.org/sdcam.shtml, usa el Arduino Pro de 3v3. Por eso lo conecta directo....

Aunque son buenos links!!!! :wink:

Ánimo!!!

Pero en las especificaciones de ese board dice que saca 40mA por los digitales...

Gracias por todas las aclaraciones!

Pero quien te dice que esta alimentando la cámara y el gps por un pin digital??? Dicha placa tiene un regulador de tensión de 3v3, que es capaz de suministrar 150 mA (creo).

Como te dije antes, las placas Arduino disponen de micro, regulador, cristal, chip ftdi,....

No significa que sea el micro quien alimenta los dispositivos externos.

Salu2

Bueno, en la descripción del ejempo del seundo link que mostré anteiormente dice:

The camera should be powered at 3.3V, with the TX (yellow wire) connected to the RX pin on the Arduino, and the RX (green wire) connected to the TX pin on the Arduino.

Y en el hilo de este mismo foro donde se habla de la librería, queda claro que GND a GND, 3V3 a 3V3 y TX a RX y Rx a TX... en ningún sitio de dice que haya ningún otro componente. Es más, en algunos sitios se dice explícitamente que no hace falta ningún componente externo adicional... Pero no vamos darle vueltas, porque el origen de este hilo era otro. Además, si me dices que ese board es capaz de dar 150 mA, no tengo nada que decir y me descubro ante los expertos :wink:

Muchas gracias de nuevo por la ayuda y los comentarios.
Nos vemos por aqui!

A ver...

¿3v3 de donde sale?

  1. Si es una placa Diecimila ó Duemilanove, del chip ftdi (Limitado a 50 mA).
  2. Si es una placa PRO, del regulador 3v3 de la propia placa que alimenta el micro (Sólo en este caso da 150 mA, ó algo asi. No los pines, el regulador).

Como parece que no me crees (copiado de http://arduino.cc/en/Main/ArduinoBoardDuemilanove)

The power pins are as follows:

  • VIN. The input voltage to the Arduino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.

  • 5V. The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.

  • 3V3. A 3.3 volt supply generated by the on-board FTDI chip. Maximum current draw is 50 mA.

  • GND. Ground pins.

Hay un montón de conceptos, que se han comentado en estos post, y a lo mejor se ha liado todo, porque se han mezclado alimentar sensores por pines, alimentaciones de los reguladores, interfaz entre dispositivos 3v3 y 5v,...

Por ejemplo, el SCP1000, no puede conectarse directamente a una placa diecimila (http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=65)

Mejor ir paso por paso, y según tengas dudas con cada sensor, vas preguntando, porque a lo mejor ahora estás más confundido. Ya que empezabamos por un LDR y hemos terminado en sensores SPI, conversores de niveles y cámaras..... :smiley:

Saludos :wink:

Igor R.

Igor,
No me malinterpretes. Que si te creo hombre, solo te cuento lo que me he encontrado por ahí, no te he dicho que te lo inventes. Si ya decía que no tengo idea de esto y que solo trato de aprender. Pero ya sabes que como cada maestrillo tiene su librillo pues te lo comentaba por si tu podías aclararmelo, no con el fin de rebartir tus aportaciones.

Pero como bien dices, esto a derivado mucho de mi pregunta inicial, que era saber si podía alimentar un componente a 5V por el pin digital en vez de por el pin de alimentación y así poder ahorrar algo de batería. Y eso me lo has solucionado perfectamente, así que te lo agradezco enormemente!

Como bien dices, iré preguntando otras cosas concretas a medida que me vayan surgiendo dudas puntuales con otros sensores o como conectarlos!

Muchas gracias de nuevo por la ayuda!
:slight_smile: