#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#include <Servo.h>
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 4
#define CLK_PIN 13
#define DATA_PIN 11
#define CS_PIN 10
#define SERVO_PIN 9
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
Servo servo;
int posisi = 0;
int increment = 1;
void setup() {
P.begin(2);
P.setInvert(false);
P.setZone(0, MAX_DEVICES - 4, MAX_DEVICES - 1);
analogReference(DEFAULT);
servo.attach(SERVO_PIN);
servo.write(posisi);
}
void loop() {
posisi += increment;
if (posisi > 180 || posisi < 0) {
increment *= -1;
}
servo.write(posisi);
displayServoPositionOnMatrix(posisi);
delay(2);
}
void displayServoPositionOnMatrix(int position) {
char strPosition[4];
snprintf(strPosition, sizeof(strPosition), "%03d", position);
P.displayText(strPosition, PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
P.displayAnimate();
}