Cómo controlar un 16 x 2 LCD usando un ATtiny2313 AVR

si usted está recibiendo sólo en microcontroladores hay mucho saber ya que es probable que descubrió. Hay un montón de buenos tutoriales en línea para el Atmel AVR y lo más probable es que con ver algunos de los por ahora. Recientemente se metió en microcontroladores y no sabía que jack sobre ella. Quería tener algún éxito temprano y conseguir mi AVR para hacer algo fresco (excepto blink LED).

Luché a través de algunos blogs terrible acerca de cómo controlar un común 16 x 2 LCD con el controlador de H44780 popular. Tuve que combinar y modificar código de 3 lugares para conseguir trabajo.  De todos modos, en los últimos meses par que pensé hacia fuera y desde entonces nadie más tiene este cubierto en Instructables, pensé que sería compartir mi enfoque y vea si usted puede conseguir algunos éxitos tempranos que mantendrán buceo profundo en a planear.

Hay un vídeo incrustado y pic de este proyecto como se verá cuando termine.

Aquí está lo que necesita:
1 - Atmel AVR ATtiny2313 microcontrolador
1 - tablero con fuente de 5VDC (funciona un 7805 con un 100uF y 0.1uF Cap)
1 - 16 x 2 caracteres LCD pantalla H44780 driver (disponible en Ebay para ~ $6 o Sparkfun para ~ $14)
1 - 16pin 0,1" espacio masculino encabezado
1 - resistencia 330 para el contraluz del LED
1 - 1K para tirar hacia abajo el interruptor de interrupción
2 - 10K resistencia para el reset y el contador interrumpir pull ups
2 - pequeños interruptores momentáneos "breadboardable" de interrupción de reset y contador
1 - resistencia de 1,5 K de ajuste del contraste (podría utilizar un potenciómetro), el valor puede variar dependiendo de la pantalla
1 - AVR ISP programador (ver hipótesis)
1 - hierro y soldadura de soldadura
~ 10 - cables de jumper para protoboard

Esta es mi hipótesis:

-Tienes un programador AVR ISP de algún tipo (en mi caso que el Atmel AVRISP mkII, pero USBtinyISP también debería funcionar)
-Supongo que ya ha pasado por el llamativos led tutoriales y conocen algo de la jerga como puertos y números binarios un poco.
-Estoy haciendo todo en código de C usando GCC WinAVR.
-Estoy corriendo la pantalla en modo de 8 bits que no es tan eficiente de pin, pero es más fácil de enseñar.
Estoy asumiendo que sabes soldar
-Estoy suponiendo utilizas el ATtiny2313, pero usted podría poner este código en cualquier ATmega, como cambiar los puertos respectivamente. No sé si esto funcionará para Arduino.
-Mi configuración está utilizando Atmel AVRStudio 4.17 con WinAVR 20090313 compilador de C GCC en la computadora portátil de Vista de una ventana de 32 bits. (esta es la parte más difícil, porque puede que esté utilizando AVRdude o CodeVision que significa mi código no puede trabajar directamente para usted, pero usted todavía aprender algo)
-Mi enfoque y mi código no pueden ser más eficiente o elegante manera de ejecutar un LCD, pero me funciona y puedo garantizar que cuando veas esa pantalla trabajar por primera vez, es emocionante sin importar qué bonito su código.

Con todo lo que dijo, permite empezar!

Artículos Relacionados

Indicación de LCD usando propósito General IO directa

Indicación de LCD usando propósito General IO directa

Dificultad: e a s y .. Esquemas, soldadura, C programaciónUn montón de dispositivos tiene pantallas de LCD (pantalla de cristal líquido) - su báscula de baño, microondas y reloj digital son algunos ejemplos comunes. Más de una vez he quiero ser capaz
Sentido de temperatura y visualización en LCD usando Simulink y Arduino UNO

Sentido de temperatura y visualización en LCD usando Simulink y Arduino UNO

Detección y visualización de temperatura con Arduino son muy común y se encuentra cargas de instructablesand tutorial otros sitios similares. Pero no he encontrado ningun tutorial en cualquier lugar cómo hacerlo usando Matlab/Simulink. MathWorks tien
Controlar el acceso a su cerradura usando Arduino, SensorMonkey y RF módulo

Controlar el acceso a su cerradura usando Arduino, SensorMonkey y RF módulo

Control de acceso a su puerta desde cualquier lugar del planeta mediante su teléfono, ficha o PC.Esta configuración tiene dos segmentos principales, uno tiene la interfaz gráfica utilizando jQuery, SensorMonkey, Freeduino (Arduino compatible desarrol
Cómo interfaz 16 X 2 LCD con el Microcontrolador AVR

Cómo interfaz 16 X 2 LCD con el Microcontrolador AVR

aquí está el diagrama del circuito de interface 16 X 2 LCD al Microcontrolador AVR. En este circuito, el oscilador de cristal dará el reloj en el microcontrolador. Los condensadores conectados a la voluntad de cristal actúan como filtros y ayudar el
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
1 cable de regulador del LCD para Arduino

1 cable de regulador del LCD para Arduino

Mientras que trabaja en un proyecto de ATtiny que encontré faltaba el número de pines y necesita para conectar una pantalla de LCD con 1 alambreHabía encontrado un Instructable sobre cómo utilizar un registro de cambio para controlar la LCD usando só
Frambuesa Pi + Arduino Serial con pantalla LCD

Frambuesa Pi + Arduino Serial con pantalla LCD

IntroducciónEste es mi LCD de información frambuesa Pi, quería intentar y conseguir el Arduino y frambuesa Pi hablando entre sí a través de USB serial e hice este pequeño proyecto.El Raspberry Pi utiliza un script en python para obtener los datos y e
Control de LCD con placa de LinkIt uno

Control de LCD con placa de LinkIt uno

Hoy en día, a estar buscando formas de interactuar con el mundo exterior usando su LinkIt una placa de desarrollo. En esta guía, usted aprenderá a controlar un módulo de 16 por 2 LCD usando sólo un potenciómetro, algunos cables y la placa LinkIt uno
Principio microcontroladores parte 13: Introducción a la interfaz de LCD

Principio microcontroladores parte 13: Introducción a la interfaz de LCD

El microcontrolador es una maravillosa pieza de ingeniería y puede hacer muchas cosas (con la ayuda de alguna gran programación), pero sigue siendo una caja negra opaca. Si desea compartir información, o mostrar lo que está tratando de hacer, necesit
Controlar un actuador pequeño con Arduino

Controlar un actuador pequeño con Arduino

Este Tutorial de actuador lineal de Arduino muestra cómo controlar un Actuador pequeño Firgelli usando una placa compatible con Arduino y varios sensores de entrada, incluyendo un Slider y la perilla de rotación por control directo, Joystick para mov
Conversor de Arduino DIY: Cómo hacer LCD:

Conversor de Arduino DIY: Cómo hacer LCD:

aquí hay un video horrible de trabajo. Más adelante subiré más.Por supuesto esto es para que hacer aprender concurso juvenil, así que aquí están las respuestas a todas sus preguntas!¿Qué hago?Bien pensé que era mi Arduino aprendió a hacerlo algunas m
Conectar Nokia 3310 LCD al USB usando AVR

Conectar Nokia 3310 LCD al USB usando AVR

¿Qué haces con un teléfono antiguo, un microcontrolador y un montón de tiempo?Usted gancho pantalla de LCD de teléfono antiguo para el USB de la computadora por supuesto!En este proyecto a que vamos comunicar con un display de Nokia 3310 LCD por el p
AVR LCD distintivo

AVR LCD distintivo

por lo tanto, vas a una conferencia/reunión/nerdfest y quieres hacer algo que te diferencia de las personas normales.  Un distintivo de LCD con un ATtiny2313 es una gran manera de hacerlo.  Se trata de una unidad de pantalla LCD de propósito general
Mostrar temperatura en LCD

Mostrar temperatura en LCD

Reunirá dos proyectos en este instructable.Mostrará cómo medir la temperatura mediante un sensor de temperatura LM35 y un Arduino y luego Mostrar la temperatura en una pantalla serial LCD 16 X 2 en grados Celsius y Fahrenheit.Usted puede encontrar lo