Inhoudsopgave:

LCD-trainerkit: 6 stappen (met afbeeldingen)
LCD-trainerkit: 6 stappen (met afbeeldingen)

Video: LCD-trainerkit: 6 stappen (met afbeeldingen)

Video: LCD-trainerkit: 6 stappen (met afbeeldingen)
Video: How to Program & Use the SY Bicycle Wireless Computer (Speedometer and Odometer) 2024, November
Anonim
Image
Image
Dingen die je nodig hebt
Dingen die je nodig hebt

Een paar jaar geleden maakte ik kennis met de wereld van Arduino. Ik was gefascineerd door het feit dat je dingen kunt laten werken door gewoon wat regels code in te typen. Vind je het niet leuk hoe het werkt? Verander een paar regels code en daar heb je het. Zodra ik mijn eerste Arduino kreeg, probeerde ik, net als elke andere enthousiaste hobbyist, alle basisvoorbeeldcircuits, van het knipperen van een LED tot het weergeven van mijn naam op een 16 x 2 LCD-scherm. Er zijn veel tutorials op internet samen met de code. Kopieer en plak de code en uw circuit is operationeel. Naarmate de tijd vorderde, begon ik te spelen met complexere componenten zoals OLED-schermen, sensoren, enz.

Na wat plezier te hebben gehad met Arduino, realiseerde ik me dat sommige dingen niet compleet zijn. Wat doet lcd.print("Hello, World!") eigenlijk? Wat doet elke pin van het display? Hoe communiceert de microcontroller op de Arduino met het display? We zien dit gewoon over het hoofd omdat een complexe taak om zo'n component te laten werken voor ons eenvoudig is gemaakt met behulp van een bibliotheek! Een bibliotheek is een verzameling van een vooraf gedefinieerde set instructies. De meeste informatie is verborgen in deze bibliotheken. Wanneer het hoofdprogramma de functie zoals lcd.print bereikt, springt het programma in de bibliotheek, zoekt de functie en voert deze uit. Na uitvoering keert het terug naar het hoofdprogramma. In het bovenstaande voorbeeld ben je misschien dergelijke regels tegengekomen in het programma #include. De bibliotheek die hier wordt gebruikt, is LiquidCrystal.

Hoewel het hoofdprogramma klein en gemakkelijk te begrijpen wordt, verbergt het veel informatie en kan het verwarrend zijn voor nieuwelingen zoals wij. Dus laten we in deze Instructable proberen een LCD-scherm uit te voeren, maar ZONDER een microcontroller! Ja, JIJ wordt de microcontroller. Dit zal ons helpen te weten wat alle taken van een microcontroller zijn om een tekst op het scherm weer te geven.

Laten we teruggaan naar de basis

Stap 1: Dingen die je nodig hebt

Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt

1) 16 x 2 LCD-scherm x1

2) SPDT-tuimelschakelaars x8

3) Tijdelijke drukknop x1

4) Schuifschakelaar x1

5) 1k Potentiometer x1

6) Micro-USB-breakout-kaart x1

7) Projectbehuizingsdoos x1

Stap 2: Ken uw LCD

Ken uw LCD
Ken uw LCD

Het meest bekende 16 x 2 LCD-scherm in de hobbywereld heeft 16 pinnen. We zullen hetzelfde scherm gebruiken voor de demonstratie. Laten we, voordat we verder gaan, eens kijken naar wat elk van de 16 pinnen doet.

LAAG - De pin verbinden met aarde.

HOOG - De pin aansluiten op +5V.

Pin 1: GND

Verbind de pin met aarde.

Pin 2: VCC

Sluit de pin aan op +5V.

Pin 3: Contrast aanpassen

Het contrast van het LCD-scherm kan worden aangepast door deze pin een spanning te geven tussen 0V en 5V. Dit kan met behulp van een potmeter.

Pin 4: Register Select (RS)

Het display heeft twee registers, nl. Gegevensregister en Instructieregister die met behulp van deze pin kunnen worden geselecteerd. Trek de pin laag om het instructieregister te selecteren en hoog om het dataregister te selecteren.

Het instructieregister wordt gebruikt om instructies te verzenden, zoals het starten van de weergave, het wissen van de weergave, enz. terwijl het gegevensregister wordt gebruikt om ASCII-tekens op het scherm te verzenden.

Pin 5: Lezen/Schrijven (R/W)

Met deze pin kunt u schrijven of lezen uit het geselecteerde register. Trek de pin laag om te schrijven of hoog om te lezen.

Pin 7 tot Pin 14: DB0 - DB7

Dit zijn de databits van 0 tot 7 die een 8-bits binair getal vertegenwoordigen.

Pin 6: Inschakelen (E)

Als je alle bovenstaande pinnen hebt ingesteld zoals je wilt, zal een hoge naar lage puls naar deze pin alle informatie in het scherm invoeren.

Pin 15: LED +5V

Pin 16: LED GND

De pinnen 15 en 16 zijn voor de backlight LED. Sluit pin 15 en 16 respectievelijk aan op +5V en GND.

Stap 3: De behuizing en lay-out voorbereiden

De behuizing en lay-out voorbereiden
De behuizing en lay-out voorbereiden
De behuizing en lay-out voorbereiden
De behuizing en lay-out voorbereiden
De behuizing en lay-out voorbereiden
De behuizing en lay-out voorbereiden

Kies een geschikte projectbehuizing. De mijne heeft een afmeting van 20x15x4 cm. Plan de lay-out van de componenten die op de doos moeten worden geïnstalleerd, zoals weergegeven in de afbeelding. Wees creatief bij het kiezen van de lay-out, zolang het maar verstandig is. Ik heb deze doos, die oorspronkelijk in een ander project werd gebruikt, eigenlijk opnieuw gebruikt. Er waren al wat sleuven en gaten geboord en dus moest ik de lay-out daarop afstemmen.

8x SPDT Tuimelschakelaars voor D0 - D7.

1x kortstondige drukknop voor inschakelen

1x Schuifschakelaar om te kiezen tussen Instructie en Data Register.

1x 1k Ohm pot voor contrast.

Stap 4: Tijd voor bedrading

Tijd voor bedrading
Tijd voor bedrading
Tijd voor bedrading
Tijd voor bedrading
Tijd voor bedrading
Tijd voor bedrading

Raadpleeg het schematische diagram dat hier is bijgevoegd.

Het USB micro breakout board heeft 5 terminals waarvan we er maar twee zullen gebruiken. VBUS (+5V) en GND omdat we USB alleen voor stroom gebruiken.

Verbind alle bovenste klemmen van tuimelschakelaars met elkaar zoals weergegeven in de afbeelding. Deze wordt aangesloten op GND. Verbind op dezelfde manier alle onderste klemmen met elkaar. Deze wordt aangesloten op +5V. Sluit de middelste aansluiting van de eerste schakelaar aan op D7 (pin 14) op het LCD-scherm. Zo ook de middelste klem van de 2e schakelaar naar D6 (pin 13) en zo verder tot D0 (pin 7).

Verbind een willekeurige klem van de drukknop met +5V. Verbind de andere terminal met GND via een weerstand van 1k. Sluit dezelfde terminal aan op Enable (pin 6) op het LCD-scherm. Sluit een elektrolytische condensator van 100 uF aan over de schakelaar met de negatieve kant van de condensator aangesloten op de terminal met de weerstand eraan bevestigd.

Verbind de middelste pin van de schuifschakelaar met pin 4 op het LCD-scherm en de onderste en bovenste terminal met respectievelijk +5V en GND.

Verbind de buitenste twee klemmen van de pot met respectievelijk +5V en GND en de middelste pin met Contrastaanpassing (pin 3) op het LCD-scherm.

Sluit pinnen 1, 5 en 16 op het LCD-scherm aan op GND

Sluit pinnen 2 en 15 aan op +5V.

Stap 5: Werken

Werken
Werken
Werken
Werken
Werken
Werken

Het eigenlijke LCD-scherm wordt bestuurd door een IC genaamd HD44780U dat kan worden gezien als een zwarte vlek op de achterkant van de LCD-module. Het is een Liquid Crystal Display-controller/stuurprogramma. De datasheet van deze driver vindt u hier.

Om het LCD-scherm aan de praat te krijgen, moeten we een paar stappen doorlopen. Dit omvat het initialiseren van het LCD-scherm door een aantal instructies te geven, gevolgd door de feitelijke gegevens (tekens). Alle informatie is te vinden in de datasheet. Maar voor nu zal ik een korte demo geven over het typen van HELLO! op het scherm.

Opmerking: 0 betekent LAAG (GND)

1 betekent HOOG (+5V)

Zet eerst de stroom AAN. De achtergrondverlichting van het LCD-scherm moet oplichten.

Stap 1: Aangezien we instructies zullen verzenden, moet het Instructieregister (IR) worden geselecteerd met behulp van de schuifschakelaar.

Stap 2: Vervolgens stellen we de bits in met behulp van de tuimelschakelaars als 00001111 zoals weergegeven. Hierdoor worden het display, de cursor en het knipperen van de cursor ingeschakeld. Druk op de activeringsknop. U zou nu de knipperende cursor in de linkerbovenhoek van het scherm moeten kunnen zien. Pas indien nodig het contrast aan met behulp van de pot.

Stap 3: Stel de tuimelschakelaars in op 00110000 zoals weergegeven en druk op Inschakelen. Hiermee wordt het scherm ingesteld om 8-bits gegevens te accepteren, de eerste van de twee regels in te schakelen en de lettergrootte in te stellen op 5x8.

Stap 4: Zet de schuifschakelaar op Data Register (DR) zodat we nu enkele karakters kunnen versturen.

Raadpleeg het hierbij bijgevoegde document om de bits voor elk teken te weten te komen

Stap 5: Om H weer te geven, zet u de tuimelschakelaars op 01001000 en drukt u op inschakelen. Herhaal hetzelfde voor elk teken.

Stap 6: Om E weer te geven, zet u de tuimelschakelaars op 01000101 en drukt u op inschakelen.

Stap 7: Om L weer te geven, zet u de tuimelschakelaars op 01001100 en drukt u tweemaal op inschakelen.

Stap 8: Om O weer te geven, zet u de tuimelschakelaars op 01001111 en drukt u op inschakelen.

Stap 9: Om ! weer te geven, zet u de tuimelschakelaars op 00100001 en drukt u op inschakelen.

Goed gedaan! U moet nu HALLO zien! op het scherm.

Stap 6: Geniet

We hebben net geleerd dat er alleen al om een paar letters op het scherm te typen, er veel stappen bij komen kijken. Op deze manier kunnen we leren wat een microcontroller doet om te communiceren met de displays. We zagen net een paar instructies uit de vele. Je kunt er plezier mee hebben en gaandeweg leren!

Nu kunnen we begrijpen hoe en waarom de bibliotheken zijn gemaakt en ook het harde werk dat achter het maken van een bibliotheek voor een apparaat zit.

Bedankt voor het volhouden tot het einde. Ik hoop dat jullie allemaal van dit project houden en vandaag iets nieuws hebben geleerd. Laat het me weten als je er een voor jezelf hebt gemaakt. Abonneer je op mijn YouTube-kanaal voor meer aankomende projecten. Nogmaals bedankt!

Elektronica Tips & Trucs Uitdaging
Elektronica Tips & Trucs Uitdaging
Elektronica Tips & Trucs Uitdaging
Elektronica Tips & Trucs Uitdaging

Eerste prijs in de Electronics Tips & Tricks Challenge

Aanbevolen: