Stap 8: LCD Reader Circuit Design
Met een patroon (hopelijk) gevonden, kunnen wij een circuit om te lezen van de LCD-pinnen en iets nuttigs met deze gegevens doen maken.
Dit circuit zal worden gebouwd rond op ATmega328p microcontroller met behulp van alle van de standaardinstellingen van de zekering en geen externe klok-bron. Aangezien de COM-lijnen analoge ingangen zijn, we konden lezen elk afzonderlijk met behulp van de ADC, maar dit is niet nodig. Hetzelfde effect kan worden bereikt door lezing slechts één COM lijn met behulp van de analoge comparator, en dan simuleren de drie andere COM-lijnen in software. U misschien ook merken dat ik heb geen verbindingen weergegeven voor pin 5 en 6. De reden is eenvoudig - I don't care over sommige of alle gegevens waartoe deze pinnen.
De analoge comparator is echt eenvoudig. We gebruiken R5 en R6 te maken een bias spanning op AIN1. De output van deze spanning divider is ongeveer 2.7V - vergelijkbaar met de 2.5V trigger-drempel die ik voor de logic analyzer ingangen gebruikte! De COM1-regel wordt ingevoerd in de AIN0. Wanneer de spanning op de AIN0 hoger dan AIN1 stijgt of eronder daalt, zal de comparator teweegbrengen. We zullen dit gebruiken als een interrupt-bron te leiden tot het begin van een cyclus te lezen LCD. Dit zal ook worden gebruikt om te synchroniseren onze gesimuleerde COM-lijnen.
Het laatste wat ik wil wijzen zijn de verbindingen naar JP2 - ik ben eigenlijk van plan op het nemen van de volledige controle over de digitale weegschaal. Mijn circuit zal zitten kundig voor uitschakelen van macht aan de schaal en de modusknoppen rijden. Ik heb gekozen om alle PORTC open. Dit bevrijdt de I2C pinnen voor communicatie met andere chips, evenals een handvol analoge ingangen die later kan worden gebruikt. Uw implementatie zullen waarschijnlijk variëren!