(een inzending van Ties)
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