#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_NeoPixel.h>
#include <DHT.h>
#define BUZZER_PIN 2
#define PIR_PIN 3
#define OLED_RESET -1
#define NEOPIXEL_PIN 7
#define SERVO_PIN 5
#define DHT_PIN 6
#define DHT_TYPE DHT22
Adafruit_SSD1306 display(128, 32, &Wire, OLED_RESET);
Adafruit_NeoPixel strip(1, NEOPIXEL_PIN, NEO_GRB + NEO_KHZ800);
DHT dht(DHT_PIN, DHT_TYPE);
void setup() {
pinMode(BUZZER_PIN, OUTPUT);
pinMode(PIR_PIN, INPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
strip.begin();
strip.show(); // Initialize all pixels to 'off'
dht.begin();
}
void loop() {
// Example usage of each component
// Expand this with your specific logic
if (digitalRead(PIR_PIN)) {
digitalWrite(BUZZER_PIN, HIGH);
strip.setPixelColor(0, strip.Color(255, 0, 0)); // Red color
strip.show();
delay(500);
} else {
digitalWrite(BUZZER_PIN, LOW);
strip.setPixelColor(0, strip.Color(0, 255, 0)); // Green color
strip.show();
delay(500);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.print("Temp: ");
display.print(dht.readTemperature());
display.print(" C");
display.display();
delay(1000); // Adjust as needed
}