wo. dec 11th, 2024
ABC 8x8 display

Laat het alfabet zien op een 8×8 dot-matrix display.

Alvorens te beginnen, indien dit de eerste maal is dat je met een Arduino (compatibele) microcontroller werkt, volg de volgende instructies voor het installeren van de Arduino werk omgeving.

In dit project laten we het alfabet letter voor letter op het 8×8 dot-matrix display zien, beginnend met alle HOOFDLETTERS en gevolgd door kleine letters.

Zoals alle voorbeelden die we hier presenteren maakt dit project ook gebruik van de A-Vision ESP8266 Arduino bibliotheek.

Open het alfabet voorbeeld uit de A-Vision ESP8266 bibliotheek.

Nu ben je klaar om het Alfabet voorbeeld project te compileren en naar de ESP8266 D1 mini te sturen.

Voor de programmering moet de ESP8266 D1 mini module met een micro-USB kabel worden aangesloten op de computer waarop de Arduino IDE software is geïnstalleerd.

Hardware aansluiting

– voor de A-Vision ESP8266 learning board –
Het display sluiten we aan met CS op D8, CLK op D5 en DIN op D7.

De code

definities & includes
setup()
loop()
alfabet.ino
referenties
uitdaging

In de definities geven we aan hoeveel 8×8 dot-matrix displays we hebben (aantal kolommen en aantal rijen), en tevens welk type hardware is gebruik voor de display. Voor de A-Vision ESP8266 learning board project is de Parola type hardware gebruikt.
We moeten natuurlijk ook zorgen dat de software voor het aansturen van de display beschikbaar is. Tevens worden voor al onze voorbeeld projecten de de debug code geladen.
En als laatste maken we een display object aan die we later gaan gebruiken voor het besturen van het display.

// Definities
#define DEBUG_ENABLED           false // Output info via de seriële poort

// Aantal rijen displays (Voor de A-Vision ESP8266 learning board is dat 1)
#define DISPLAY_ROWS            1  
// Aantal kolommen displays (Voor de A-Vision ESP8266 learning board is dat 1)
#define DISPLAY_COLUMNS         1  
// Gebruikte display type (Voor de A-Vision ESP8266 learning board is dat MD_MAX72XX::PAROLA_HW)
#define DISPLAY_HARDWARE_TYPE   MD_MAX72XX::PAROLA_HW

// Includes
#include <avision_debug.h>
#include <avision_display.h>

// Maak display object
AVision::dotmatrixDisplay display;

Nu de definities gedaan zijn kunnen we in de standaard setup() functie van de Arduino IDE het geheel initialiseren.

void setup()
{
    initDebug(DEBUG_ENABLED);
    display.init(DISPLAY_ROWS, DISPLAY_COLUMNS);
    display.text = "";
}

Nu de initialisatie is gedaan kunnen we beginnen met het uitvoeren van het hoofdprogramma met standaard loop() functie om het alfabet op de display te projecteren.
Door gebruik van de A-Vision Arduino includes is dit erg eenvoudig geworden.
Met display.text wordt aangegeven welke tekst je wenst te tonen op de display, en daarna met de functie display.loop() wordt deze tekst ook daadwerkelijk op de display getoond.
Hierin is een for-lus gebruikt om alle letters van het alfabet te stuk voor stuk te selecteren en in display.text te plaatsen. Elke letter wordt gedurende 500ms – delay(500) – op de display weergegeven.


void loop()
{
    char *alfabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz ";
    for (size_t a = 0; a < strlen(alfabet); a++)
    {
        display.text = " " + String(alfabet[a]);
        display.loop();
        delay(500);
    }    
}

/*******************************************************************************
*
* (c) 2021 Copyright A-Vision Software
*
* File description :        A-Vision ESP8266 dot-matrix alphabet
*
* Created by       :        Arnold Velzel
* Created on       :        08-10-2021
*
*******************************************************************************/

// Definities
#define DEBUG_ENABLED           false // Output info via de seriële poort

// Aantal rijen displays (Voor de A-Vision ESP8266 learning board is dat 1)
#define DISPLAY_ROWS            1  
// Aantal kolommen displays (Voor de A-Vision ESP8266 learning board is dat 1)
#define DISPLAY_COLUMNS         1  
// Gebruikte display type (Voor de A-Vision ESP8266 learning board is dat MD_MAX72XX::PAROLA_HW)
#define DISPLAY_HARDWARE_TYPE   MD_MAX72XX::PAROLA_HW

// Includes
#include <avision_debug.h>
#include <avision_display.h>

// Maak display object
AVision::dotmatrixDisplay display;

void setup()
{
    initDebug(DEBUG_ENABLED);
    display.init(DISPLAY_ROWS, DISPLAY_COLUMNS);
    display.text = "";
}

void loop()
{
    char *alfabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz ";
    for (size_t a = 0; a < strlen(alfabet); a++)
    {
        display.text = " " + String(alfabet[a]);
        display.loop();
        delay(500);
    }    
}

MD_MAX72XX bibliotheek voor de 8×8 dot-matrix display.
https://github.com/MajicDesigns/MD_MAX72XX
Parola 8×8 dot-matrix display hardware
https://arduinoplusplus.wordpress.com/2017/04/14/parola-a-to-z-adapting-for-different-hardware/

Combineer dit voorbeeld project met het muziek voorbeeld project om tijdens het tonen van het alfabet het ABC-lied af te spelen zodat de letters op de juiste tijd wordt weergegeven.
Dan krijg je een soort karaoke!

Door arduino