- Vereiste materialen:
- Korte introductie tot 16 × 2 Dot matrix LCD-scherm:
- Schakelschema en aansluiting:
- MSP430 programmeren voor LCD met Energia:
- 16x2 LCD met MSP430G2:
Dit is de derde tutorial in de reeks tutorials waarin we leren de MSP430G2 LaunchPad te programmeren met behulp van de Energia IDE. In onze vorige tutorial hebben we geleerd hoe we de digitale invoer- en uitvoerpinnen op ons MSP-bord kunnen bedienen. In deze tutorial leren we hoe we een LCD met het bord kunnen verbinden, zodat we nuttige informatie kunnen weergeven.
Het LCD-scherm dat we in dit project gebruiken, is het meest gebruikte 16 × 2 Dot matrix LCD-scherm akan alfanumerieke schermen. De meesten van ons zouden dit zijn tegengekomen via openbare PCO's of andere elektronicaprojecten. Een dergelijk scherm zal erg handig zijn voor onze toekomstige tutorials om gegevens en andere foutopsporingsinformatie weer te geven. Het koppelen van dit LCD-scherm aan de MSP430 is zeer eenvoudig dankzij de beschikbare bibliotheek. Dus laten we erin duiken !!
Vereiste materialen:
- MSP430G2 LaunchPad van Texas Instruments
- 16 × 2 Dot matrix LCD-scherm
- Draden aansluiten
- Energia IDE
Korte introductie tot 16 × 2 Dot matrix LCD-scherm:
Zoals eerder verteld, biedt de Energia IDE een prachtige bibliotheek die de interfacing een fluitje van een cent maakt en daarom is het niet verplicht om iets over de displaymodule te weten. Maar zou het niet interessant zijn om te laten zien wat we gebruiken !!
De naam 16 × 2 houdt in dat het display 16 kolommen en 2 rijen heeft, die samen (16 * 2) 32 vakken vormen. Een enkele doos zou er op de onderstaande afbeelding ongeveer zo uitzien
Een enkele box heeft 40 pixels (dots) met een matrixvolgorde van 5 rijen en 8 kolommen, deze 40 pixels vormen samen één teken. Op dezelfde manier kunnen 32 tekens worden weergegeven in alle vakken. Laten we nu eens kijken naar de pinouts.
Het LCD-scherm heeft in totaal 16 pinnen, zoals hierboven weergegeven, kunnen ze als volgt worden onderverdeeld in vier groepen
Bronpinnen (1, 2 en 3): deze pinnen leveren het vermogen en het contrastniveau voor het scherm
Bedieningspinnen (4, 5 en 6): deze pinnen stellen / besturen de registers in het LCD-interface-IC (meer vindt u in onderstaande link)
Gegevens- / opdrachtpennen (7 tot 14): deze pennen geven de gegevens weer van welke informatie op het LCD-scherm moet worden weergegeven.
LED-pinnen (15 en 16): Deze pinnen worden gebruikt om indien nodig de achtergrondverlichting van het LCD-scherm te verlichten (optioneel).
Van al deze 16 pinnen hoeven slechts 10 pinnen verplicht te worden gebruikt voor de goede werking van het LCD-scherm. Als u meer wilt weten over dit LCD-scherm, ga dan naar dit LCD-artikel.
Schakelschema en aansluiting:
Het volledige schakelschema om een 16 × 2 Dot matrix LCD-scherm te koppelen aan MSP430G2 wordt hieronder weergegeven.
Een belangrijke beperking bij het koppelen van deze twee is hun bedrijfsspanningen. Het LCD-scherm heeft een bedrijfsspanning van + 5V terwijl de MSP alleen met 3,6V werkt. Gelukkig voor ons heeft de datapin van de LCD-interface IC (HD44780U) een brede bedrijfsspanning van 2,7V tot 5,5V. We hoeven ons dus alleen maar zorgen te maken over de Vdd (pin 2) van het LCD-scherm, terwijl de datapinnen zelfs met 3,6V kunnen werken.
Het MSP430G2-bord geeft je standaard geen + 5V-pin, maar we kunnen een kleine hack doen om + 5V van MSP430 te krijgen via de USB-poort. Als je goed kijkt in de buurt van de USB-poort, kun je een terminal vinden met de naam TP1, deze terminal geeft ons + 5v. Het enige wat we hoeven te doen is een kleine mannelijke koppen te solderen, zoals hieronder weergegeven, zodat we deze op ons LCD-scherm kunnen aansluiten.
Opmerking: sluit geen belastingen aan die meer dan 50 mA kunnen verbruiken op deze 5 V-pen, want dit kan uw USB-poort verbranden.
Als u niet geïnteresseerd bent in solderen, gebruikt u gewoon een + 5V gereguleerde voeding en voedt u de LCD, zorg er in dat geval voor dat u de aarde van uw voeding aansluit op de aarde van de MSP-kaart.
Als je eenmaal klaar bent met de + 5V-pin, zijn de andere pinnen vrij eenvoudig te verbinden. Nu onze hardware klaar is, gaan we verder met het softwaregedeelte.
MSP430 programmeren voor LCD met Energia:
Het complete programma voor de interface van een MSP430G2553 met LCD-scherm vindt u aan het einde van deze pagina. De code kan als zodanig worden samengesteld, geüpload en gebruikt. In de volgende paragrafen zal ik uitleggen hoe het programma werkt.
Voordat we verder gaan met uitleg, moeten we een notitie maken van de pinnen die we gebruiken. Als je het schakelschema hierboven en het MSP430 pin-out diagram hieronder bekijkt
U kunt concluderen dat we de LCD hebben aangesloten volgens de volgende tabel
Naam LCD-pincode |
Verbonden met |
VSS |
Grond |
Vdd |
+ 5V USB-pin |
Rs |
Pin 2 van MSP |
R / W |
Grond |
Inschakelen |
Pin 3 van MSP |
D4 |
Pin 4 van MSP |
D5 |
Pin 5 van MSP |
D6 |
Pin 6 van MSP |
D7 |
Pin 7 van MSP |
Laten we met dit in gedachten beginnen met het definiëren van de LCD-pinnen die in ons programma worden gebruikt. We zullen elke pin een meer betekenisvolle naam geven, zodat we deze later gemakkelijk kunnen gebruiken.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Dit betekent simpelweg dat in plaats van pin 2 aan te roepen, ik het hierna RS kan noemen, op dezelfde manier voor alle 6 pinnen.
De volgende stap zou zijn om de LCD-bibliotheek op te nemen. Deze bibliotheek zou automatisch zijn geïnstalleerd toen u de Energia IDE installeerde. Dus voeg het gewoon toe door de volgende regel te gebruiken
# omvatten
De volgende stap is om de pinnen te vermelden waarop het LCD-scherm is aangesloten, zoals we het al hebben genoemd met de #define , kunnen we nu eenvoudig de namen van de LCD-pinnen noemen. Zorg ervoor dat dezelfde volgorde wordt gevolgd.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Laten we nu naar de void setup () -functie gaan. Er zijn zoveel soorten LCD-schermen die variëren in grootte en aard, degene die we gebruiken is 16 * 2, dus laten we dat specificeren in ons programma
lcd.begin (16, 2);
Om iets op het LCD-scherm af te drukken, moeten we twee dingen in het programma vermelden. Een daarvan is de positie van de tekst die kan worden vermeld met de regel lcd.setCursor () en de andere is de inhoud die moet worden afgedrukt, die kan worden vermeld met lcd.print (). In deze regel zetten we de cursor op 1 e rij en 1 e kolom.
lcd.setCursor (0,0);
Evenzo kunnen we ook
lcd.setCursor (0, 1); // zet de cursor op 1e kolom 2e rij
Net als het wissen van een whiteboard nadat u erop hebt geschreven, moet een LCD ook worden gewist als er iets op is geschreven. Dit kan gedaan worden door de onderstaande regel te gebruiken
lcd.clear ();
Dus de volledige void setup () -functie zou er ongeveer zo uitzien.
leegte setup () {lcd.begin (16, 2); // We gebruiken een 16 * 2 LCD-scherm lcd.setCursor (0,0); // Plaats de cursor op de 1e rij 1e kolom lcd.print ("MSP430G2553"); // Toon een introbericht lcd.setCursor (0, 1); // zet de cursor op 1e kolom 2e rij lcd.print ("- CircuitDigest"); // Vertraging van een introbericht weergeven (2000); // Wacht tot het display info lcd.clear () toont; // Maak het dan schoon}
Laten we vervolgens, in onze void loop () -functie, een nummer blijven verhogen voor elke 500 ms en het nummer op het LCD-scherm weergeven. Dit aantal test en wordt geïnitialiseerd op 1 zoals hieronder weergegeven
int test = 1;
Om een vertraging te creëren, kunnen we de ingebouwde functie delay () gebruiken. We moeten vermelden hoeveel tijd we nodig hebben voordat de vertraging optreedt. In ons geval heb ik 500 ms gebruikt, zoals hieronder wordt weergegeven
vertraging (500);
Het verhogen van een variabele kan worden gedaan door test ++, de rest is al uitgelegd. De volledige code in de lege lus wordt hieronder weergegeven
void loop () {lcd.print ("LCD met MSP"); // Toon een introbericht lcd.setCursor (0, 1); // zet de cursor op kolom 0, regel 1 lcd.print (test); // Toon een intro bericht vertraging (500); lcd.clear (); // Maak het dan schoon test ++; }
16x2 LCD met MSP430G2:
Zodra je hardware en code klaar zijn, sluit je gewoon je board aan op de computer en upload je de code zoals we deden in tutorial één. Nadat de code is geüpload, zou het display het volgende moeten zien.
Na twee seconden verandert het weergavescherm van setup naar loop en begint het met het verhogen van de variabele en wordt deze op het scherm weergegeven zoals in de onderstaande afbeelding.
De volledige werking is te vinden in de onderstaande video. Ga je gang en probeer te veranderen wat er op het LCD-scherm wordt weergegeven en speel ermee. Ik hoop dat je de tutorial hebt begrepen en er iets nuttigs van hebt geleerd. Als je twijfels hebt, laat ze achter in de commentaarsectie hieronder of gebruik de forums. Laten we elkaar ontmoeten in een andere tutorial.