#include <ESP8266WiFi.h>
#include <SPI.h>
#include <Wire.h> // Include Wire.h for I2C functionality
//#include <ADS7828.h> // Include ADS7828.h for TI ADS7828 functions
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_NeoPixel.h>
#include <Ticker.h>
#define NUMSLEDs 2
#define PINSLEDs 10
Adafruit_NeoPixel SLEDs = Adafruit_NeoPixel(NUMSLEDs, PINSLEDs, NEO_RGB + NEO_KHZ800);
Adafruit_SSD1306 OLED(-1);
#define PIN_SLED 10
#define pinTone D8
const unsigned char Logo_bmp [] = {
0x00, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F,
0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xC0,
0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x7F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xF0,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF,
0x80, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xF0,
0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x80,
0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xF0, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
0xFF, 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xE0, 0x00,
0x06, 0x01, 0x03, 0xFC, 0x00, 0xF8, 0x1C, 0x04, 0xFF, 0xFF, 0xC0, 0x00, 0x0E, 0x00, 0x01, 0xF8,
0x00, 0xF8, 0x1C, 0x04, 0xFF, 0xFF, 0x80, 0x00, 0x1E, 0x00, 0x00, 0xF0, 0x00, 0x38, 0x0C, 0x04,
0xFF, 0xFF, 0x80, 0x00, 0x3E, 0x00, 0x00, 0xF0, 0x00, 0x38, 0x0C, 0x04, 0xFF, 0xFF, 0x00, 0x00,
0x3E, 0x00, 0x00, 0xE0, 0x00, 0x18, 0x08, 0x0C, 0xFF, 0xFE, 0x00, 0x00, 0x7E, 0x03, 0x80, 0xC0,
0x30, 0x1C, 0x08, 0x0C, 0xFF, 0xFE, 0x00, 0x00, 0xFE, 0x03, 0x80, 0xC0, 0x30, 0x1C, 0x08, 0x0C,
0xFF, 0xFC, 0x00, 0x00, 0xFE, 0x03, 0x80, 0xC0, 0x30, 0x1E, 0x00, 0x0C, 0xFF, 0xF8, 0x00, 0x01,
0xFE, 0x03, 0x80, 0xC0, 0x30, 0x0E, 0x00, 0x0C, 0xFF, 0xF0, 0x00, 0x03, 0xFE, 0x03, 0x80, 0xC0,
0x00, 0x0E, 0x00, 0x1C, 0xFF, 0xE0, 0x00, 0x07, 0xFE, 0x03, 0x80, 0xC0, 0x00, 0x0E, 0x00, 0x1C,
0xFF, 0xE0, 0x00, 0x07, 0xFE, 0x03, 0x80, 0xC0, 0x00, 0x0E, 0x00, 0x1C, 0xFF, 0xC0, 0x00, 0x0F,
0xFE, 0x03, 0x80, 0xC0, 0x00, 0x0F, 0x00, 0x1C, 0xFF, 0x80, 0x00, 0x1F, 0xFE, 0x03, 0x80, 0xC0,
0x00, 0x0F, 0x00, 0x1C, 0xFF, 0x00, 0x00, 0x1F, 0xFE, 0x03, 0x80, 0xC0, 0x3F, 0xFF, 0x00, 0x1C,
0xFE, 0x00, 0x00, 0x7F, 0xFE, 0x03, 0x80, 0xC0, 0x3F, 0xFE, 0x00, 0x0C, 0xFE, 0x00, 0x00, 0x7F,
0xFE, 0x03, 0x80, 0xC0, 0x30, 0x0E, 0x00, 0x0C, 0xFC, 0x00, 0x00, 0xFF, 0xFE, 0x03, 0x80, 0xC0,
0x30, 0x0E, 0x00, 0x0C, 0xF8, 0x00, 0x01, 0xFF, 0xFE, 0x03, 0x80, 0xC0, 0x30, 0x0E, 0x00, 0x0C,
0xF8, 0x00, 0x01, 0xFF, 0xFE, 0x03, 0x80, 0xC0, 0x30, 0x0C, 0x00, 0x0C, 0xE0, 0x00, 0x03, 0xFF,
0xFE, 0x03, 0x80, 0xC0, 0x30, 0x0C, 0x08, 0x0C, 0xE0, 0x00, 0x07, 0xFF, 0xFE, 0x03, 0x80, 0xE0,
0x30, 0x1C, 0x08, 0x04, 0xC0, 0x00, 0x0F, 0xFF, 0xFE, 0x03, 0x80, 0xE0, 0x00, 0x18, 0x08, 0x04,
0x80, 0x00, 0x0F, 0xFF, 0xFE, 0x03, 0x80, 0xF0, 0x00, 0x18, 0x0C, 0x04, 0x80, 0x00, 0x1F, 0xFF,
0xFE, 0x03, 0x80, 0xF0, 0x00, 0x38, 0x0C, 0x04, 0x00, 0x00, 0x3F, 0xFF, 0xFE, 0x03, 0x80, 0xFC,
0x00, 0x78, 0x1C, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x03, 0x80, 0xFE, 0x03, 0xF0, 0x1C, 0x00
};
void setup()
{
WiFi.mode(WIFI_STA);
pinMode(10,OUTPUT);
SLEDs.begin(); // This initializes the NeoPixel library.
SLEDs.show(); // Initialize all SLEDs to 'off'
SLEDs.setPixelColor(0, SLEDs.Color(255,0, 0)); //Adjust brightness, Color red
SLEDs.setPixelColor(1, SLEDs.Color(255,0, 0)); //Adjust brightness, Color blue
SLEDs.show();
delay(2000);
OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x64)
// init done
OLED.clearDisplay();
OLED.drawBitmap(20,0,Logo_bmp,96,64,1);
OLED.display();
// Show image buffer on the display hardware.
// Since the buffer is intialized with an Adafruit splashscreen
// internally, this will display the splashscreen.
OLED.display();
delay(2000);
// Clear the buffer.
OLED.clearDisplay();
OLED.setTextSize(1);
OLED.setTextColor(WHITE);
pinMode(D0, INPUT_PULLUP);
pinMode(D3, INPUT_PULLUP);
pinMode(D4, INPUT_PULLUP);
pinMode(D5, INPUT_PULLUP);
pinMode(D6, INPUT_PULLUP);
pinMode(D7, INPUT_PULLUP);
pinMode(D9, INPUT_PULLUP);
pinMode(D10, INPUT_PULLUP);
}
void loop() {
OLED.clearDisplay();
OLED.setCursor(0, 0);
OLED.println("ADC = " + String(analogRead(A0)));
OLED.setCursor(80, 0);
OLED.println("D0 = " + String(digitalRead(D0)));
OLED.setCursor(80, 10);
OLED.println("D3 = " + String(digitalRead(D3)));
OLED.setCursor(80, 20);
OLED.println("D4 = " + String(digitalRead(D4)));
OLED.setCursor(80, 30);
OLED.println("D5 = " + String(digitalRead(D5)));
OLED.setCursor(80, 40);
OLED.println("D6 = " + String(digitalRead(D6)));
OLED.setCursor(80, 50);
OLED.println("D7 = " + String(digitalRead(D7)));
OLED.setCursor(0, 40);
OLED.println("D9 = " + String(digitalRead(D9)));
OLED.setCursor(0, 50);
OLED.println("D10 = " + String(digitalRead(D10)));
OLED.display();
int val = map(analogRead(A0), 9, 1023, 0, 255);
val=constrain(val,0,255);
SLEDs.setPixelColor(0, SLEDs.Color(val, val, val)); //Adjust brightness, Color red
SLEDs.setPixelColor(1, SLEDs.Color(val, val, val)); //Adjust brightness, Color blue
SLEDs.show();
if (val > 128) {
analogWrite(pinTone, 255);
} else {
analogWrite(pinTone, 0);
}
}
Comments