Welkom bij project 11! Vandaag gaan we een leuk project maken: een aardbevingalarm! In deze les leer je hoe je een Arduino kunt gebruiken om een schok of trillingen te detecteren met een Keyes shock sensor. Zodra de sensor een trilling detecteert (zoals wanneer je het breadboard een beetje schudt), zal de zoemer zes seconden afgaan, met een interval van één seconde aan en één seconde uit. Dit project is niet alleen leuk, maar het laat je ook zien hoe je input van een sensor kunt gebruiken om een alarm te activeren.
Stap 1: het circuit bouwen
Benodigdheden:
- 1x Arduino Uno
- 1x Keyes shock sensor
- 1x Actieve zoemer
- 5x Man-man jumper wires
- 1x Breadboard
Volg eerst de onderstaande stappen om je circuit op te zetten:
- Shock Sensor Aansluiten:
- Verbind de GND-pin van de shock sensor met een GND-pin op de Arduino.
- Verbind de VCC-pin van de shock sensor met de 5V-pin op de Arduino.
- Verbind de OUT-pin van de shock sensor met digitale pin 2 op de Arduino.
- Zoemer Aansluiten:
- Verbind de positieve pin (lange pin) van de zoemer met digitale pin 8 op de Arduino.
- Verbind de negatieve pin (korte pin) van de zoemer met een GND-pin op de Arduino.
Stap 2: De code schrijven
Nu we het circuit hebben opgebouwd, gaan we de code schrijven die de afstand meet en de LED’s aanstuurt.
int shockSensorPin = 2; // De pin waar de shock sensor op is aangesloten
int buzzerPin = 8; // De pin waar de zoemer op is aangesloten
int shockDetected = 0; // Variabele om op te slaan of er een schok is gedetecteerd
void setup() {
pinMode(shockSensorPin, INPUT); // Stel de shock sensor pin in als ingang
pinMode(buzzerPin, OUTPUT); // Stel de buzzer pin in als uitgang
}
void loop() {
shockDetected = digitalRead(shockSensorPin); // Lees de waarde van de shock sensor
if (shockDetected == HIGH) { // Als er een schok is gedetecteerd
for (int i = 0; i < 3; i++) { // Herhaal 3 keer
digitalWrite(buzzerPin, HIGH); // Zet de zoemer aan
delay(500); // Wacht 1 seconde
digitalWrite(buzzerPin, LOW); // Zet de zoemer uit
delay(1000); // Wacht 1 seconde
}
}
}
Wat doet deze code?
- pinMode(shockSensorPin, INPUT);: Hiermee stel je de pin van de shock sensor in als ingang, zodat de Arduino de sensor kan lezen.
- pinMode(buzzerPin, OUTPUT);: Hierdoor stel je de pin van de zoemer in als uitgang, zodat de Arduino de zoemer kan aansturen.
- digitalRead(shockSensorPin);: Hiermee lees je de waarde van de shock sensor. Als de sensor een schok detecteert, geeft hij HIGH terug.
- for (int i = 0; i < 3; i++): Dit zorgt ervoor dat de code in de lus drie keer wordt uitgevoerd, waardoor de zoemer 3 keer 1 seconde aan en uit gaat.
- digitalWrite(buzzerPin, HIGH);: Zet de zoemer aan.
- delay(1000);: Wacht 1 seconde.
- digitalWrite(buzzerPin, LOW);: Zet de zoemer uit.
Stap 3: De code uploaden
- Sluit je Arduino aan op je computer met de USB-kabel.
- (Klik dan op select board en dan op Arduino Uno.)
- Klik op de uploadknop (pijltje) in de Arduino IDE om de code naar je Arduino te sturen.
Test je aardbevingalarm
Zodra je de code hebt geüpload, probeer je breadboard zachtjes te schudden of tik op de tafel waar het staat. Je zou moeten horen dat de zoemer afgaat!
Gefeliciteerd! 🎉 Je hebt nu een werkend aardbevingalarm gemaakt! Dit project heeft je laten zien hoe je een sensor kunt gebruiken om een alarm te activeren op basis van externe input. Wat kun je hierna proberen? Misschien wil je een visuele indicator toevoegen, zoals een knipperende LED, of het alarm koppelen aan een ander apparaat.
