Hallo,
ich versuche aktuell meinen Einstig in Arduino mit Beispielen, im konkreten Fall mit der AZ Freundin. Da benötigt man folgende teile:
1x AZ-Delivery Amica V2 Mikrocontroller
1x MAX7219 8x32 4 in 1 Dot Matrix LED Anzeigemodul
1x Breadboard mit Jumper Kabel
1x KY-004 Button Modul oder einen ähnlichen Taster
Und dann soll man folgenden Sketch hochladen. Leider bekomme ich als Fehler:
exit status 1
‘D6’ was not declared in this scope
Kann mir eventuell einer helfen was ich falsch mache?
Danke
// beMyValentine Codebeispiel für den AZ-Delivery Blogbeitrag Valentinstag 2020
// V1.0 von AZcp 14.02.2020 - GNU Lesser General Public License v2.1
// Verwendet die Bibliothek MD_MAX72XX von Marco Colli / MajicDesigns : GitHub - MajicDesigns/MD_MAX72XX: LED Matrix Library
// Teile dieses Codes basieren auf den Beispielen der MD_MAX72XX Bibliothek
#include <MD_MAX72xx.h>
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW // falls die Darstellung fehlerhaft ist, ersrtze FC16_HW durch PAROLA_HW oder GENERIC_HW
#define MAX_DEVICES 4 // anzal der 8x8 Module, in unserem Fall 4
#define CLK_PIN D5
#define DATA_PIN D6
#define CS_PIN D8
#define BUTTON_PIN D2 // Hier wird der Button angeschlossen
MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
bool last = false; // Diese Variable merk sich ob der Taster gedrückt wurde
#define ARRAYSIZE 13 // Anzahl der Sätze
char* results[ARRAYSIZE] = {
"Ja! ",
"nein. ",
"Das wuerde mich freuen. ",
"Von mir aus. . . ",
"Hoechstwahrscheinlich. ",
"Ja, klingt gut! ",
"Mach was DU willst. . . ",
"Ist deine Entscheidung. . . ",
"Gerne, Schatz! ",
"Ja, gefaellt mir ganz gut. . . ",
"Das ist eine gute Idee! ",
"Vielleicht?! ",
"Seufz "
};
//Wurde der Taster gedrückt?
bool button() {
bool current = digitalRead(BUTTON_PIN);
if (current != last) {
last = current;
if (last) {
return true;
}
}
return false;
}
// Text wird gesrollt
void scrollText(const char *p)
{
uint8_t charWidth;
uint8_t cBuf[8]; // this should be ok for all built-in fonts
mx.clear();
while (*p != '\0')
{
charWidth = mx.getChar(*p++, sizeof(cBuf) / sizeof(cBuf[0]), cBuf);
for (uint8_t i = 0; i <= charWidth; i++) // allow space between characters
{
mx.transform(MD_MAX72XX::TSL);
if (i < charWidth)
mx.setColumn(0, cBuf*);*
- delay(50);*
- }*
- }*
}
// Herz wird dargestellt
void hearts()
{ - mx.clear();*
- mx.setRow(0, 0, 0b00000000);*
- mx.setRow(0, 1, 0b01100000);*
- mx.setRow(0, 2, 0b11110000);*
- mx.setRow(0, 3, 0b11110000);*
- mx.setRow(0, 4, 0b11101010);*
- mx.setRow(0, 5, 0b11011111);*
- mx.setRow(0, 6, 0b10001110);*
- mx.setRow(0, 7, 0b00000100);*
- mx.setRow(1, 0, 0b00000000);*
- mx.setRow(1, 1, 0b00000110);*
- mx.setRow(1, 2, 0b00001111);*
- mx.setRow(1, 3, 0b00001111);*
- mx.setRow(1, 4, 0b01010111);*
- mx.setRow(1, 5, 0b11111011);*
- mx.setRow(1, 6, 0b01110001);*
- mx.setRow(1, 7, 0b00100000);*
- mx.setRow(2, 0, 0b00000000);*
- mx.setRow(2, 1, 0b01100000);*
- mx.setRow(2, 2, 0b11110000);*
- mx.setRow(2, 3, 0b11110000);*
- mx.setRow(2, 4, 0b11101010);*
- mx.setRow(2, 5, 0b11011111);*
- mx.setRow(2, 6, 0b10001110);*
- mx.setRow(2, 7, 0b00000100);*
- mx.setRow(3, 0, 0b00000000);*
- mx.setRow(3, 1, 0b00000110);*
- mx.setRow(3, 2, 0b00001111);*
- mx.setRow(3, 3, 0b00001111);*
- mx.setRow(3, 4, 0b01010111);*
- mx.setRow(3, 5, 0b11111011);*
- mx.setRow(3, 6, 0b01110001);*
- mx.setRow(3, 7, 0b00100000);*
}
// Die Helligkeit wird regegelt - Puls effekt
void intensity()
{ - mx.clear();*
- // Grow and get brighter*
- for (int8_t i = 1; i <= MAX_INTENSITY; i++)*
- {*
- mx.control(MD_MAX72XX::INTENSITY, i);*
- hearts();*
- delay(10);*
- }*
- for (int8_t i = MAX_INTENSITY; i >= 1; i--)*
- {*
- mx.control(MD_MAX72XX::INTENSITY, i);*
- hearts();*
- delay(10);*
- }*
- mx.control(MD_MAX72XX::INTENSITY, 1);*
}
void setup()
{ - pinMode(BUTTON_PIN, INPUT_PULLUP);*
- mx.begin();*
}
void loop()
{ - if (button()) // wenn Taster gedrückt wurde*
- {*
- delay(200);*
- intensity();*
- delay(100);*
- intensity();*
- delay(500);*
- mx.control(MD_MAX72XX::INTENSITY, MAX_INTENSITY);*
- scrollText(results[random(ARRAYSIZE)]);*
- delay(500);*
- }*
}