(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