Arduino: Nokia LCD y sensores de (4 / 4 paso)

Paso 4: Análogo a la conversión Digital

La mayoría de ustedes tendrá que omitir este paso.

Si eres curioso o problemas análogos, o mirando para el diseño de algunos circuitos analógicos, esto puede ser útil.

El ATmega328 tiene seis pines de entrada analógicas (véase asignación de pin). Supongo que el chip tiene solamente un A/d (analógico a digital) convertidor es el chip. Se llama un convertidor de 10 bits ya que utiliza diez pedacitos, 210 o 1024. El siguiente dibujo es una muy buena representación de cómo funciona el convertidor. La descripción es bastante técnica y no tan importante para la mayoría de los usuarios de Arduino. Pero miren la señal analógica que representa la señal suavemente que curva en la parte superior izquierda. La imagen del paso de la escalera en la parte inferior izquierda es representante de la salida digital. Debe tener en cuenta que en lugar de una línea curva suavemente como la señal analógica, la salida digital es muy irregular, a menudo se llama un paso de la escalera. Para Arduino, la entrada digital va desde 0000000000 hasta 1111111111 1023 pasos en decimal.

Esta salida digital no viene directamente del ATmega. Sólo se utiliza internamente por el software.
Para el estándar Arduino si tienes 5V en el pin analógico, la analogRead() será 1023. Puesto que hay solamente 1023 diferentes posibilidades que significa cada paso es 0.004888 V. Lo significa es si tienes analogRead() de 1023, podría significar 5.000V o 4.996V o en algún lugar entre. Así que cada escalón significa que la tensión de corriente puede ser apagado por 0.004888 V.

Hablando: Así que muchos de ustedes dirán que a quién le importa y en la mayoría de los casos tienes razón. La exactitud de esta lectura depende de la exactitud de la Vcc. Si Arduino utiliza un regulador de voltaje 7805, entonces 5V es +/-1.5% que es 0.075V. El voltaje real podría estar en cualquier lugar de 5.075V a 4.925V que es mucho mayor que la tolerancia de un paso. Otro factor es el ruido en Vcc y en la señal analógica. Con un USB de la PC, la tolerancia de 5V es generalmente peor. 4.84V medida de la mina.

Prácticamente hablando con el Arduino estándar, su precisión analógica se limita a +/-1.5% de los 7805 de todos modos.

Nota: No estoy 100% seguro que es exacta.
Avanzada información: No siempre es verdad para el Arduino 5V es igual a 1023. El valor de 1023 es el voltaje en el pin AVcc (pin 20 del ATmega) bajo condiciones de la mayoría. AVcc está ligada a Vcc y generalmente es de 5V. Sin embargo, si el dibujo contiene la función AnalogReference(INTERNAL), entonces una referencia interna de 1.1V (para el ATmega 168 y 328) se utiliza. Estoy bastante seguro de lo que esto significa es que si tienes un 1.1V señal en un pin analógico, entonces el analogRead 1023. Lo que esto significa es cada paso es igual a 0.001075V que significa que usted puede obtener mayor precisión pero también significa su entrada analógica máxima sólo puede ser 1.1V. Ahora también se puede definir AnalogReference() a externo. Lo que esto significa es la referencia analógica es igual a la tensión que pones en el pin AREF.
PRECAUCIÓN: tenga cuidado si utiliza externo y una fuente de tensión externa; podría interferir y dañar el ATmega. Si ejecuta un dibujo diferente, que no tiene AnalogReference(EXTERNAL), la referencia de voltaje externo va a estar luchando el voltaje por defecto en AVcc. Es como conectar dos pilas de diferentes voltajes juntos. Tienes un completo circuito con voltaje pero cero resistencia así que mucho de la corriente. Creo que hay una forma de evitar esto mediante la conexión a través de un resistor pero am no estoy seguro.

La razón que mencioné AVcc y referencia analógica es que fui dejando de mi clon de Arduino hasta uso la pantalla de LCD de Nokia. Noté que LCD funcionaba bastante bien cuando estaba usando la energía del USB pero estaba muy oscuro cuando enchufé un Adafruit 9 voltios batería adaptador. Así que cogí mi fiel DMM poco y algunos problemas. Con la energía del USB, el Vcc y el pin Aref en el ATmega estaban en 4.84V. Con la batería de 9 voltios conectada al regulador 7805 los pasadores estaban en 5.03V. También tenía un sensor de temperatura conectado y pruebas verificar que la temperatura varía dependiendo de lo que la tensión de la AVcc era.

Así que si quieres mejorar la precisión de la Arduino 'estándar', hay maneras de hacerlo.
Si se establece AnalogReference(INTERNAL), el ATmega utilizar 1.1V como referencia, ajustar sus cálculos por consiguiente.
Punta: Cualquier momento que cambias AnalogReference(), deseche la primera lectura analógica ya que carecerán de sentido.

Si se establece AnalogReference(EXTERNAL), usted puede proporcionar referencia propia, asume tiene una tolerancia más apretada.
Consulte la ADVERTENCIA anterior.
Punta: Cualquier momento que cambias AnalogReference(), deseche la primera lectura analógica ya que carecerán de sentido.

Los mismo seis pernos analógicos utilizan un método diferente para la salida.
D/a (Digital a analógico): El Arduino no utiliza un D/a (Digital a analógico) convertidor. En su lugar usa, algo que se llama:
Modulación de anchura de pulso (PWM). No, el PWM es una señal analógica. Es una señal digital pulsada. El dibujo es de http://arduino.cc/en/Tutorial/PWM.
Qué envía el Arduino es una señal digital que pulsos y a diferentes velocidades.

Salida de la instrucción
analogWrite(0) 0 voltios a
analogWrite(64) ver dibujo
analogWrite(127) ver dibujo
analogWrite(255) 5 voltios a

El dibujo representa la salida durante un período de tiempo. Como se muestra en el dibujo como el valor de analogWrite va más allá por encima de 0, el ancho del pulso positivo obtiene más amplia. En otras palabras, es más largo el tiempo de que la salida se mantiene en 5 voltios. Ahora es difícil de explicar pero si piensas en términos de voltaje promedio cuando analogWrite es 0 entonces la tensión media es 0 y cuando es 255, entonces el voltaje promedio es 5V. Ahora cuando es 127, se puede ver que es en ½ el tiempo y ½ el tiempo para que el voltaje promedio es de 2,5 voltios. Ahora según el valor mayor que 127, debería ver que el voltaje promedio sube.

Para aquellos de ustedes que como "prueba" de mundo real, aquí es una manera de demostrar esto. Un condensador suaviza tensiones DC. Es por eso siempre los verás en Vcc y salidas de la fuente de alimentación. Ahora si usted toma un condensador (supongo que un 1ufd o quizás .5ufd) de un pin analógico a tierra. Si escribes tu bosquejo para configurar el pin analógico como salida y enviar un analogWrite(127), el DMM debe mostrar la tensión a 2.5V. Por cierto, las matemáticas de PWM está más allá de mí pero sé entra en circuitos de AC que está más allá de lo que este Perezoso Geek viejo quiere entrar.

Para decirlo simplemente, PWM pone una señal que simula una señal analógica para la mayoría de los propósitos.
Punta: Una cosa para recordar, mientras que el analogRead va de 0 a 1023, la analogWrite sólo va de 0 a 255, byte por cierto.

No esenciales información: Más adecuadamente diseñado Arduinos y clones tienen una 0.01ufd condensador de Vcc a GND y junto al chip ATmega. La razón es para filtrar el ruido de lo ATmega digital. Cuando se ejecuta un bosquejo, la mayoría de los circuitos internos está tratando de pasar de 0 a 5 voltios casi al instante. Esto produce mucho ruido, muchos de los cuales es de alta frecuencia. El condensador será absorber la mayor parte de esto y lisa, al igual que en nuestro pequeño experimento.

Artículos Relacionados

Alarma de seguridad para el hogar o un Detector de movimiento con LCD y Sensor de Arduino,P.I.R.

Alarma de seguridad para el hogar o un Detector de movimiento con LCD y Sensor de Arduino,P.I.R.

Hola todo el mundo,Hoy voy a mostrarles como hacer una alarma de seguridad para el hogar interesante, maravilloso, barato. Este Gadget te ayuda a proteger su casa contra los ladrones. En este proyecto voy a utilizar un Freeduino Board(Arduino Compati
Reloj de tiempo Real de Arduino con alarma y sensores ambientales

Reloj de tiempo Real de Arduino con alarma y sensores ambientales

Reloj de Arduino, con respaldo de batería (reloj en tiempo real), tiempo, fecha, alarma, temperatura, humedad, presión, LCD, salida, entrada de teclado, dormir modo, blanco de iluminación (4 X) LED LCD con control de intensidadPaso 1: Lista de piezas
Arduino 5110 LCD protector

Arduino 5110 LCD protector

Shield Arduino 5110 LCD DHT11 tinte RTCVideos de YouTube
Reproducción de vídeo en color de nokia LCD usando un ATmega32

Reproducción de vídeo en color de nokia LCD usando un ATmega32

Hola,Yo estoy presentando a mi nuevo reproductor de vídeo constituida un atmega32 microcontrolador y nokia LCD a color. Tengo un 65K color LCD de un viejo nokia 6030 celular.  Yo directamente soldadas alambre de cobre esmaltado fino 10 desde el área
Arduino LCD (Nokia 5110) y sensor de movimiento (HC-SR501)

Arduino LCD (Nokia 5110) y sensor de movimiento (HC-SR501)

Hola,Bienvenido a este tutorial.Así que si son como yo y tiene un HC-SR501 y una LCD de nokia 5110 en el correo el mismo día, probablemente vas a querer hacer algo fresco y probar las nuevas unidades. Este tutorial mostrará cómo conectar su HC-SR501
Arduino + Nokia 5110 display + IR sensor

Arduino + Nokia 5110 display + IR sensor

Hi! Hoy estoy enseñaros mi nuevo proyecto utilizando un Arduino UNO, una pantalla de Nokia 5110 (PCD8544) y un sensor de infrarrojos. Logré escribir un bosquejo que es leer los datos recibidos por el sensor de infrarrojos y mostrará los nombres de lo
Arduino Nano + suelo humedad Sensor + LCD

Arduino Nano + suelo humedad Sensor + LCD

Podemos utilizar el sensor de humedad del suelo con arduino nano y Mostrar datos en un 2 x 16 lcd. Vamos a empezar...Paso 1: Añadir 2 X 16 LCD con Arduino NanoRS = 12R/W = tierraHABILITAR = 11LCD D4 = 9LCD D5 = 8LCD D6 = 7LCD D7 = 6Puedes ver otras c
El reloj de la historia: Arduino LCD con sensores de la tapa

El reloj de la historia: Arduino LCD con sensores de la tapa

Este es aún otro Arduino LCD reloj, pero con un giro; Este reloj sabe algunas fiestas y cumpleaños, realizar cálculos sobre la marcha de a qué edad una persona es y entonces Mostrar la información en la pantalla LCD. Me inspiré a hacer este reloj por
Portátil Arduino Uno temperatura y Sensor de humedad con pantalla LCD

Portátil Arduino Uno temperatura y Sensor de humedad con pantalla LCD

Hey todo el mundo. He conseguido un montón de grandes ideas de instructables sobre los años. Como este es mi primer ' ible, figura de compartir algo que yo hago así. Estoy entrando a esto en el completo espectro láser concurso 2016. Si tuviera que ga
Streaming de vídeo desde la tarjeta SD para Nokia LCD con Arduino

Streaming de vídeo desde la tarjeta SD para Nokia LCD con Arduino

Durante mucho tiempo con que pensé en reproducción de video audio no fue posible en el Arduino. Entonces un día decidí darle una oportunidad y que resultó para ser más sencillo de lo que pensaba.Me decidí a escribir los pasos de un instructivo en ben
Arduino: Cómo conectar sensores y elementos comunes

Arduino: Cómo conectar sensores y elementos comunes

A veces, simplemente parece que no puede averiguar cómo hacer un circuito para trabajar! Este instructivo le ayudará a utilizar tus aparatos electrónicos de la manera que estaban destinados a ser utilizados demostrándole cómo conectar a la placa Ardu
Arduino Nano - Tutorial de Sensor Digital de luz ambiental BH1715

Arduino Nano - Tutorial de Sensor Digital de luz ambiental BH1715

El BH1715 es un Sensor de luz ambiente digital con una interfaz de bus I²C. El BH1715 es utilizado para obtener los datos de luz ambientales para ajustar la potencia de luz de fondo LCD y teclado para dispositivos móviles. Este dispositivo ofrece una
Montar un Arduino Nano / LCD proyectos plataforma

Montar un Arduino Nano / LCD proyectos plataforma

El "Arduino Nano / 1.8" TFT LCD proyectos plataforma "consiste en una caja impresa 3D que envuelve un PCB diseñado personalizado en el que está montado un Arduino Nano, un 1.8" TFT LCD con un lector de tarjetas SD y tres pulsadores que
Regulador de agua caliente solar con arduino mega y ds18b20 sensor de temperatura

Regulador de agua caliente solar con arduino mega y ds18b20 sensor de temperatura

Este es proyecto para el sistema de control solar.Paso 1: Lo que necesita Partes:1xArdunio1xLCD 16 x 23x4.7 kOhm resistenciatransistor de 2xN-P-Nrelé de 2x5vsensor de temperatura 3xDS18b201xBreadboardresistencia de 2 x 220 OhmPaso 2: Conexión de sens