Inhoudsopgave:

Arduino MAX7219 7-segment display-zelfstudie - Ajarnpa
Arduino MAX7219 7-segment display-zelfstudie - Ajarnpa

Video: Arduino MAX7219 7-segment display-zelfstudie - Ajarnpa

Video: Arduino MAX7219 7-segment display-zelfstudie - Ajarnpa
Video: 74HC595 Seven Segment 2 Digits LED Display with decimal points for Arduino 2024, Juli-
Anonim
Arduino MAX7219 7-segment display-zelfstudie
Arduino MAX7219 7-segment display-zelfstudie

MAX7219 is een IC die wordt gebruikt voor het aansturen van 7-segments-LED's (tot 8 cijfers), blokweergaven (balkweergaven) en 64 afzonderlijke LED's die gemeenschappelijke kathodes zijn. Om met een microcontroller te communiceren, gebruikt de MAX7219 het SPI-communicatiesysteem. Dus om 64 LED's aan te sturen heb je maar 3 poorten van de microcontroller nodig.

In dit artikel laat ik je zien hoe je een 7-Segement module gebruikt die IC MAX7219 als driver gebruikt.

Benodigde componenten:

  • MAX7219 7-segmentmodule
  • Arduino Nano
  • draad Jumper
  • USB mini

Vereiste bibliotheek:

LedControl

In deze tutorial gebruik ik Arduino Nano board. Als je het nog nooit hebt gebruikt. Ik raad aan om mijn vorige artikel over "Hoe Arduino Nano te gebruiken" te lezen.

Stap 1: Monteer alle componenten

Monteer alle componenten
Monteer alle componenten

Sluit het Arduino-bord aan op de 7-segmentmodule. Zie de afbeelding of instructie die ik hieronder heb geschreven:

Arduino naar 7-segment

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/LOAD

Stap 2: Bibliotheek toevoegen

Bibliotheek toevoegen
Bibliotheek toevoegen

Nadat het circuit is voltooid. Voeg de "LedControl"-bibliotheek toe aan de Arduino IDE.

Om een bibliotheek aan Arduino toe te voegen, kun je deze lezen in het artikel "Hoe een externe bibliotheek aan Arduino toe te voegen" dat ik eerder heb gemaakt".

Stap 3: Extra functies

Extra functies
Extra functies

Na het toevoegen van de LedControl-bibliotheek. U kunt extra functies gebruiken om de 7-Segment module aan te sturen.

Argument

addr - adres van het display

cijfer - de positie van het cijfer op het display (0..7)\ waarde - de weer te geven waarde. (0x0..0x0F)

dp stelt de komma in.

Functie

setChar(addr, cijfer, waarde.dp); // om de waarde van het char-type weer te geven voor 7-bits ASCII-codering

setDigit (addr, cijfer, waarde, bolean dp); //om cijfers en tekens in één functiereeks weer te geven (addr, digit, value, boolean dp); //om het object in het gewenste cijfer weer te geven

Lees hier voor meer informatie.

Stap 4: Schets uploaden

Schets uploaden
Schets uploaden

Ik heb geschetst voor de proef van deze 7-Segment module. U kunt de onderstaande code kopiëren en vervolgens in uw schets plakken.

//We moeten altijd de bibliotheek erbij betrekken

#include "LedControl.h"

/*

Nu hebben we een LedControl nodig om mee te werken. ***** Deze pincodes werken waarschijnlijk niet met uw hardware *****

pin 12 is verbonden met de DataIn

pin 11 is verbonden met de CLK

pin 10 is verbonden met LOAD

We hebben slechts een enkele MAX72XX.

*/

LedControl lc=LedControl (12, 11, 10, 1);

/* we wachten altijd een beetje tussen updates van het scherm */

unsigned lange vertragingstijd=500;

ongeldige setup() {

/* De MAX72XX staat in de energiebesparende modus bij het opstarten, we moeten een wake-up call doen */

lc.shutdown(0, false);

/* Stel de helderheid in op een gemiddelde waarde */

lc.setIntensity(0, 8);

/* en wis het scherm */

lc.clearDisplay(0);}

nietig hallo(){

lc.setChar (0, 7, 'H', onwaar);

lc.setChar (0, 6, 'E', onwaar);

lc.setChar (0, 5, 'L', onwaar);

lc.setChar (0, 4, 'L', onwaar);

lc.setChar (0, 3, '0', onwaar);

lc.setChar(0, 2, '.', onwaar);

lc.setChar(0, 1, '.', onwaar);

lc.setChar(0, 0, '.', onwaar);

vertraging (vertragingstijd+1000);

lc.clearDisplay(0);

vertraging (vertragingstijd);

lc.setDigit(0, 7, 1, onwaar);

vertraging (vertragingstijd);

lc.setDigit(0, 6, 2, onwaar);

vertraging (vertragingstijd);

lc.setDigit(0, 5, 3, false);

vertraging (vertragingstijd);

lc.setDigit(0, 4, 4, false);

vertraging (vertragingstijd);

lc.setDigit(0, 3, 5, false);

vertraging (vertragingstijd);

lc.setDigit(0, 2, 6, false);

vertraging (vertragingstijd);

lc.setDigit(0, 1, 7, onwaar);

vertraging (vertragingstijd);

lc.setDigit(0, 0, 8, false);

vertraging (1500);

lc.clearDisplay(0);

vertraging (vertragingstijd);

}

void loop() { hallo();

}

Of download onderstaand bestand:

Stap 5: Resultaat

Geniet van het resultaat.

Als er vragen zijn, schrijf ze dan gewoon in de opmerkingenkolom.

Tot ziens in het volgende artikel.

Aanbevolen: