/* ESP32 WiFi Scanning example */
#include <Wire.h>
#include "EEPROM.h"
#include <Adafruit_SSD1306.h>
#define led2 27
#define led3 14
#define led4 32
#define led5 33
#define led6 25
#define led7 26
#define sw1 5
#define sw2 18
#define potpin 34
#define EEPROM_SIZE 1000
unsigned long last_time = 0;
unsigned long last_time2 = 0;
unsigned long last_time3 = 0;
unsigned long last_time4 = 0;
unsigned long last_time5 = 0;
byte error, address;
int nDevices = 0;
const int ledPin = 34;
const int freq = 5000;
const int ledChannel = 0;
const int resolution = 10;
int potValue = 0;
void setup() {
Serial.begin(115200);
pinMode(2, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(sw1, INPUT_PULLUP);
pinMode(sw2, INPUT_PULLUP);
Wire.begin();
Serial.println("\nI2C Scanner");
for (address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0){
Serial.print("I2C device found at address 0x");
if (address < 16)
Serial.print("0");
Serial.print(address, HEX);
Serial.println(" !");
nDevices++;
}
else if (error == 4){
Serial.print("Unknown error at address 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
}
}
if (nDevices == 0){
Serial.println("No I2C devices found\n");
}
}
void loop() {
potValue = analogRead(potpin);
if(millis()- last_time >500){
digitalWrite(2,!digitalRead(2));
last_time = millis();
}
if(millis()- last_time4 >1000){
Serial.println(potValue/16);
last_time4 = millis();
}
if(digitalRead(sw1)==LOW && digitalRead(sw2)==LOW){
if(millis()- last_time3 >1000){
digitalWrite(led2,!digitalRead(led2));
digitalWrite(led3,!digitalRead(led3));
digitalWrite(led4,!digitalRead(led4));
digitalWrite(led5,!digitalRead(led5));
digitalWrite(led6,!digitalRead(led6));
digitalWrite(led7,!digitalRead(led7));
EEPROM.writeUChar(0,digitalRead(led7));
EEPROM.commit();
last_time3 = millis();
}
}else{
if(digitalRead(sw1)==LOW){
if(millis()- last_time5 >500){
digitalWrite(led2,!digitalRead(led2));
digitalWrite(led3,!digitalRead(led3));
digitalWrite(led4,!digitalRead(led4));
digitalWrite(led5,!digitalRead(led5));
digitalWrite(led6,!digitalRead(led6));
digitalWrite(led7,!digitalRead(led7));
EEPROM.writeUChar(0,digitalRead(led7));
EEPROM.commit();
last_time5 = millis();
}
}
if(digitalRead(sw2)==LOW){
if(millis()- last_time2 >200){
digitalWrite(led2,!digitalRead(led2));
digitalWrite(led3,!digitalRead(led3));
digitalWrite(led4,!digitalRead(led4));
digitalWrite(led5,!digitalRead(led5));
digitalWrite(led6,!digitalRead(led6));
digitalWrite(led7,!digitalRead(led7));
EEPROM.writeUChar(0,digitalRead(led7));
EEPROM.commit();
last_time2 = millis();
}
}
}
}