#include <esp_system.h>
#define red 17
#define green 18
#define blue 19
#define pir 4
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(pir, INPUT);
}
// A function that sets the colors of each RGB pin using the value entered in the parameters.
void setColors(int redValue, int greenValue, int blueValue){
analogWrite(red, redValue);
analogWrite(green, greenValue);
analogWrite(blue, blueValue);
}
void loop() {
delay(10); //Speeding the simulation.
int randomRed = esp_random() % 256; //Generate a random number between 0 - 255 for red.
int randomGreen = esp_random() % 256; //Generate a random number between 0 - 255 for green.
int randomBlue = esp_random() % 256; //Generate a random number between 0 - 255 for blue.
// Setting the action if motion detected.
if(digitalRead(pir)){
setColors(randomRed, randomGreen, randomBlue);
Serial.println("MOTION DETECTED!");
delay(10000);
}
else{
setColors(0, 0, 0);
}
}