Co będzie potrzebne:
Arduino UNO + kabel USB
płytka stykowa 400 punktów
przewody połączeniowe męsko-męskie
przewody połączeniowe żeńsko-żeńskie
dioda LED
Buzzer
rezystor 330 ohm
czujnik ruchu PIR
Czujnik PIR:
VCC do 5V na Arduino
GND do GND na Arduino
OUT do cyfrowego pinu, np. pin 7 na Arduino
Buzzer:
Jeden pin buzzera do pinu cyfrowego na Arduino (np. pin 8)
Drugi pin buzzera do GND
Programujemy:
Skopiuj poniższy kod do Arduine IDE:
// Definicja pinów
const int pirPin = 7; // Pin, do którego podłączony jest czujnik PIR
const int buzzerPin = 8; // Pin, do którego podłączony jest buzzer
void setup() {
pinMode(pirPin, INPUT); // Ustawienie pinu czujnika PIR jako wejście
pinMode(buzzerPin, OUTPUT); // Ustawienie pinu buzzera jako wyjście
Serial.begin(9600); // Rozpoczęcie komunikacji przez port szeregowy (opcjonalne)
}
void loop() {
int sensorValue = digitalRead(pirPin); // Odczyt wartości z czujnika PIR
if (sensorValue == HIGH) { // Ruch wykryty
digitalWrite(buzzerPin, HIGH); // Włącz buzzer
Serial.println("Ruch wykryty!"); // Wyświetl w konsoli, że ruch został wykryty
} else {
digitalWrite(buzzerPin, LOW); // Wyłącz buzzer, gdy brak ruchu
}
delay(100); // Krótkie opóźnienie, aby zredukować zużycie CPU
}
Czujnik PIR wykrywa zmiany w otoczeniu, które mogą wskazywać na ruch (np. poruszające się osoby).
Kiedy czujnik PIR wykryje ruch (sygnał wysoki na pinie OUT), Arduino uruchamia buzzer, który wydaje dźwięk alarmu.
Jeśli ruch ustaje, buzzer przestaje grać.
Do poprzedniego projektu dodajemy:
Dioda LED:
Dłuższa nóżka (anoda) do cyfrowego pinu na Arduino (np. pin 9)
Krótsza nóżka (katoda) do GND przez rezystor 330Ω.
Programujemy:
Skopiuj poniższy kod do Arduine IDE:
// Definicja pinów
const int pirPin = 7; // Pin, do którego podłączony jest czujnik PIR
const int buzzerPin = 8; // Pin, do którego podłączony jest buzzer
const int ledPin = 9; // Pin, do którego podłączona jest dioda LED
void setup() {
pinMode(pirPin, INPUT); // Ustawienie pinu czujnika PIR jako wejście
pinMode(buzzerPin, OUTPUT); // Ustawienie pinu buzzera jako wyjście
pinMode(ledPin, OUTPUT); // Ustawienie pinu LED jako wyjście
Serial.begin(9600); // Rozpoczęcie komunikacji przez port szeregowy (opcjonalne)
}
void loop() {
int sensorValue = digitalRead(pirPin); // Odczyt wartości z czujnika PIR
if (sensorValue == HIGH) { // Ruch wykryty
digitalWrite(buzzerPin, HIGH); // Włącz buzzer
digitalWrite(ledPin, HIGH); // Włącz diodę LED
Serial.println("Ruch wykryty!"); // Wyświetl w konsoli, że ruch został wykryty
} else {
digitalWrite(buzzerPin, LOW); // Wyłącz buzzer, gdy brak ruchu
digitalWrite(ledPin, LOW); // Wyłącz diodę LED, gdy brak ruchu
}
delay(100); // Krótkie opóźnienie, aby zredukować zużycie CPU
}
Czujnik PIR wykrywa ruch, a wtedy zarówno buzzer włącza alarm dźwiękowy, jak i dioda LED zapala się, aby sygnalizować wykrycie ruchu w sposób wizualny.
Kiedy ruch ustaje, zarówno buzzer, jak i dioda LED są wyłączane.