Beste Marco,
Hierbij de uitleg van het “Corona lampje”

Wat heb je nodig

  • een LedMatrixbordje MAX7219
  • een Afstandsmeter HC-SR04 (uitleg)
  • 9 jumpers
  • usb snoer
  • arduino nano
  • breadboard (uitleg)

Arduino instellen

  • In de Arduino IDE, bij hulpmiddelen moet je de poort eerst op de hoogste poort zetten (als je bijvoorbeeld 2 poorten ziet zoals poort 3 en poort 10, klik dan op 10)
  • Soldeer de twee lange headers op de arduino nano

prik ‘m op het  breadboard.

Libraries toevoegen

Voor dit project zullen we enkele libraries nodig hebben:

  • Installeer de library: ‘HCSR04’ library van ‘Martin Sosic’
  • Installeer de library: ‘LedControl’ library van ‘Eberhard Fahle’

Hoe je deze libraries kunt installeren wordt in het volgende lab uitgelegd: ‘Een Arduino library downloaden’.

De aansluitingen

Van de Afstands sensor:
  • Zet op de GND een jumpertje en verbind die met de GND bij de arduino
  • Zet op de VCC een jumpertje en verbind die met de +5V bij de arduino
  • Zet op de Echo een jumpertje en verbind die met de D12 bij de arduino
  • Zet op de TRIG een jumpertje en verbind die met de D13 bij de arduino
Van het Ledmatrix boord:
  • Zet op de GND een jumpertje en verbind die met de GND bij de arduino
  • Zet op de VCC een jumpertje en verbind die met de +5V bij de arduino
  • Zet op de DIN een jumpertje en verbind die met de D8 bij de arduino
  • Zet op de CS een jumpertje en verbind die met de D6 bij de arduino
  • Zet op de CLK een jumpertje en verbind die met de D7 bij de arduino

De code

#include <HCSR04.h>
#include <LedControl.h>

int triggerPin = 13;
int echoPin = 12;
UltraSonicDistanceSensor distanceSensor(triggerPin, echoPin);
LedControl lc=LedControl(8,7,6,1);

unsigned long delaytime=100;

void setup () {
  Serial.begin(9600);
  lc.shutdown(0,false);
  lc.setIntensity(0,8);
  lc.clearDisplay(0);
}
void loop () {
  double distance = distanceSensor.measureDistanceCm();
  Serial.println(distance);
  delay(500);

  if (distance > 100) {
    lc.setRow(0,0,0b00000000);
    lc.setRow(0,1,0b01100110);
    lc.setRow(0,2,0b01100110);
    lc.setRow(0,3,0b00000000);
    lc.setRow(0,4,0b00000000);
    lc.setRow(0,5,0b11000011);
    lc.setRow(0,6,0b01100110);
    lc.setRow(0,7,0b00111100);
  } else {
    lc.setRow(0,0,0b00000000);
    lc.setRow(0,1,0b01100110);
    lc.setRow(0,2,0b01100110);
    lc.setRow(0,3,0b00000000);
    lc.setRow(0,4,0b00000000);
    lc.setRow(0,5,0b00111100);
    lc.setRow(0,6,0b01100110);
    lc.setRow(0,7,0b11000011);
  }
}
Als het goed is werkt het nu
Met vriendelijke groet,
Stan