Directe lezing van LCD-scherm met behulp van algemene doel IO (10 / 12 stap)

Stap 10: Firmware - main-v1.0

Zoals vermeld, zal de eerste versie van de code Lees de schaal LCD-scherm en vervolgens deze gegevens naar een lokale LCD-scherm te schrijven. Dit is slechts een bewijs van concept... herschrijven de gegevens van het ene scherm naar het andere is vrij zinloos! Ik denk dat ik heb gereageerd de broncode goed genoeg voor u om te begrijpen wat er gebeurt als je helemaal vertrouwd zijn met AVR code, maar ik zal ingaan op een paar van de fijnere punten.

Een paar bestanden zijn opgenomen:

  • modules/avr.h - ik neem dit in elk AVR project werk ik op
  • modules/lcd/SerLCD_2x16.h - functie Prototypes en macro's voor het schrijven naar de lokale LCD-scherm
  • definitions.h - al onze belangrijkste macro's en definities
  • util/delay.h - eenvoudige vertraging routines

De hardware modules zijn geconfigureerd in de functie van de initialize_AVR() gevonden op lijn 486.

Analoge Comparator

De analoge comparator is geactiveerd op de stijgende rand van COM 1. Hierdoor kunnen vervolgens Timer 0 die de dalende rand van COM 1 en de andere 3 COM-lijnen simuleert.

Timer 0
Timer 0 is ingesteld om te leiden tot een ISR elke 0.2ms. Een teller binnen de ISR gebeurtenissen plaatsvinden na zo lang zal veroorzaken (namelijk ooit 4ms), en een instructie switch wordt gebruikt om verschillende acties uit te voeren voor elke actieve gesimuleerd COM lijn. De staat van de LCD-pinnen wordt geregistreerd voor elke COM-regel, en aan het eind van de cyclus, de Timer 0 is uitgeschakeld.

LCD-lezing

De Lees-cyclus is gestart door de functie readLCD() op lijn 311. Deze functie eenvoudig kunt de analoge comparator en zit in een tijdje herhalen totdat de Lees cyclus is voltooid. De functie van de decodeDigit() gevonden op lijn 321 eigenlijk verandert alle pin staat gegevens in numerieke getallen voor elk van de LCD-cijfers.

LCD schrijven

De LCD schrijven Routines gevonden basisgewicht van lijn 407 werden geschreven door mij een tijdje geleden. Ze kunnen ook worden gevonden in de map modules/lcd, maar ik gekopieerd alleen de functies die ik gebruiken om het hoofdbestand wilde, dus ik was niet het opstellen van bestanden vanaf meerdere locaties. Ik denk dat ze zijn vrij zelf verklarend.

Main

In de Main-functie, het AVR-apparaat is geïnitialiseerd, en vervolgens verschijnt een lus voor eeuwig. Binnen deze lus, het LCD-scherm wordt gelezen, en die gegevens is gedecodeerd en afgedrukt op het lokale LCD-scherm voor het testen. Cijfer 4 overgeslagen, en ik maak je geen zorgen over de modus van de klok van de schaal omdat ik ben niet de controle van de AM/PM LCD pin segmenten.


In een vorige versie van het circuit, was ik toezicht op alle van de LCD-pins, vandaar mijn vermogen om af te drukken van de klok modus gegevens; echter de gepresenteerde firmware niet. Merk ook op het "&" symbool in de cijfers als gevolg van de gebruikte af te drukken op dit LCD scherm stoppen mij uit het lezen van een bepaalde schaal LCD-pin seriële verzenden lijn.

Gerelateerde Artikelen

Bestuur van de LCD-scherm met behulp van een Linkit en Bluetooth

Bestuur van de LCD-scherm met behulp van een Linkit en Bluetooth

HalloIn dit instructable leert u over interfacing LCD met Linkit één en het beheer van het zelfde met BluetoothStap 1: Onderdelen die vereist zijn LinKit één BoardArduino UNO16 * 2 LCD met LCD schildBluetooth-antenne (gevonden samen met Linkit één)Sm
Weergave van temperatuur op LCD-scherm met behulp van STS-21(I2C)

Weergave van temperatuur op LCD-scherm met behulp van STS-21(I2C)

HalloGoede groeten..!! Ik (Somanshu Choudhary) op de rekening van Dcube tech ventures gaan voor het meten van de temperatuur met behulp van de Arduino nano en deze weer te geven op 16 X 2 LCD het is een van de toepassingen van de I2C protocol om anal
Arduino draagbare Weather Monitor, hoogtemeter, temperatuur, vochtigheid, met behulp van DHT11 en BMP85 met LCD-scherm met behulp van slechts 3 pins

Arduino draagbare Weather Monitor, hoogtemeter, temperatuur, vochtigheid, met behulp van DHT11 en BMP85 met LCD-scherm met behulp van slechts 3 pins

ik heb dit project, omdat ik vaak bergen zoals in de afbeelding beklimmen en ik moet weten de hoogte, de temperatuur en ook wijzigingen in de weersomstandigheden, soms in slechts enkele minuten het weer krijgen zeer slecht, met een zeer dichte mist,
Arduino-Bit mappig op LCD-scherm met LOGO

Arduino-Bit mappig op LCD-scherm met LOGO

Dit project van Arduino wordt gebruikt voor weergave Arduino LOGO op LCD-scherm met behulp van de functie van de createChar van LiquidCrystal bibliotheek.In dit is het LOGO een teken van de aangepaste ontworpen door een binaire waarde te geven aan el
Arduino Nano: DHT11 temperatuur een vochtigheid I2C 2 X 16 LCD-scherm met Visuino

Arduino Nano: DHT11 temperatuur een vochtigheid I2C 2 X 16 LCD-scherm met Visuino

Ik heb al twee Instructables gemaakt over het gebruik van DTH11/DTH21/DTH22 en AM2301 temperatuur en vochtigheid sensoren met Arduino en je kunt ze vinden hier en hier. Ik maakte ook Instructable op I2C LCD karakterdisplay, en één over het gebruik va
Arduino Nano: De BMP180 barometerdruk en de temperatuur I2C 2 X 16 LCD-scherm met Visuino

Arduino Nano: De BMP180 barometerdruk en de temperatuur I2C 2 X 16 LCD-scherm met Visuino

De BMP180 is een zeer populaire gecombineerde sensor voor temperatuur en barometrische druk Arduino. Ik heb reeds Instuctable met BMP180. Een aantal mensen gevraagd maar hoe kunt u een ander I2C apparaat op dezelfde I2C bus als de BMP180. Ik heb eind
Arduino Nano: Ultrasone Ranger(Ping) afstand I2C 2 X 16 LCD-scherm met Visuino

Arduino Nano: Ultrasone Ranger(Ping) afstand I2C 2 X 16 LCD-scherm met Visuino

In dit Instructable, zal ik u tonen hoe gemakkelijk het is om de Ultrasone Sensor verbinden met Arduino en de afstand op een LCD-schermweergegeven.Houd er rekening mee dat de aantekening op enkele van de foto's in dit Instructable correct werken op s
Arduino Nano: I2C 2 X 16 LCD-scherm met Visuino

Arduino Nano: I2C 2 X 16 LCD-scherm met Visuino

Karakter LCD-schermen zijn een zeer veel gebruikte voor Arduino projecten, om kleine hoeveelheden tekstuele informatie te geven. De meest voorkomende zijn de fundamentele rechtstreeks aangesloten beeldschermen en degene met I2C adapter. De I2C -versi
Gemakkelijk LCD-scherm met Arduino

Gemakkelijk LCD-scherm met Arduino

In dit instructable leert u over het maken van een LCD-scherm met een arduino.Ding zult noodzaak-:1. 10 k potentiometer2. mannelijke kop bedraad3. jumper draden4. breadboard5. Arduino(I used UNO r3)6. aansluitkabel voor arduinoStap 1: Eerst de bepaal
LCD afstandsmeting met behulp van Arduino

LCD afstandsmeting met behulp van Arduino

En na het doorvoeren van een paar robotic tutorials, heb ik besloten om te gaan in meer detail over sensoren. Om te beginnen van met ik kies een ultrasone sensor en een Arduino als de micro-controller.Dit Instructable is puur voor uitkeringsontvanger
Projector scherm met behulp van gerecycleerde materialen

Projector scherm met behulp van gerecycleerde materialen

dit is mijn inzending voor de "Fix het & verbeteren het Contest" waarin ik heb verbeterd op een eenvoudige blad-die wij langs plafond met wat gewicht aan de onderkant van het gehangen-voor een projectorscherm om een betere versie zonder uitg
Hoe om te delen beelden van uw scherm met behulp van Pixlr

Hoe om te delen beelden van uw scherm met behulp van Pixlr

soms, wanneer u een online gesprek met iemand ondervindt, wilt u hen een beeld van wat er op uw scherm tonen.Als je jezelf in deze situatie vinden, hebt u een paar opties:Video-scherm delen via Skype of Google + (handig als u al bent verbonden met ee
Magic 8 Ball Esp8266 en I2c LCD-scherm met

Magic 8 Ball Esp8266 en I2c LCD-scherm met

Ik dacht dat het zou een beetje leuk om te maken een Magic 8 Ball met behulp van een Arduino en een i2c LCD-scherm, dus hier zijn sommige instructies op hoe dit te doen.Stap 1: Spullen die je zal nodigVan een soort Arduino (ik gebruik een esp8266 maa
YouTube Stats weergeven op een 320 x 240 Pixel LCD-scherm met een Arduino Uno

YouTube Stats weergeven op een 320 x 240 Pixel LCD-scherm met een Arduino Uno

Deze kleine Instructable zal u tonen hoe te een 320 x 240 pixel LCD scherm aangesloten op een Arduino Uno met een schild netwerk ook gebruiken, om te tonen stats voor Youtube-kanalen.Ik heb dit gemaakt als ik wilde om te zien hoeveel abonnees en stan