วันจันทร์ที่ 18 ธันวาคม พ.ศ. 2560

วุ่มโลเลือกๆ

#include <Wire.h>                 
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET -1
Adafruit_SSD1306 display(OLED_RESET);

#include  <Adafruit_NeoPixel.h>
#define NUMSLEDs  2
#define PINSLEDs  10
Adafruit_NeoPixel SLEDs = Adafruit_NeoPixel(NUMSLEDs,PINSLEDs, NEO_RGB + NEO_KHZ800);

int index1 = 0;
int index2 = 0;
int index3 = 0;
int index4 = 0;
int sel = 0;
unsigned long changeTime;

void DisplayOLED(String Line1,String Line2,String Line3)
{
  display.clearDisplay();
  display.setTextColor(WHITE);
  display.setTextSize(1);
  display.setCursor(0,0);display.print(Line1);
  display.setCursor(0,8);display.print(Line2);
  display.setCursor(0,16);display.print(Line3);
  display.display();
}
int AnalogRead()
{
  int tempRead;
  int anaRead = analogRead(A0);
  delay(100);
  if(anaRead <= 300) tempRead = 0;
  if(anaRead > 300 && anaRead < 600) tempRead = 1;
  if(anaRead > 600) tempRead = 2;
  Serial.println(anaRead);
  return tempRead;
}
void clrOut()
{
  DisplayOLED("OUT"," OUT","  OUT");
  delay(1000);
  sel = 0;
  digitalWrite(D0,LOW);
  digitalWrite(D4,LOW);
  digitalWrite(D5,LOW);
}
void setup()
{
  Serial.begin(9600);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3c);
  pinMode(D1,INPUT);
  pinMode(D0,OUTPUT);
  pinMode(D4,OUTPUT);
  pinMode(D5,OUTPUT);
  SLEDs.begin();
  SLEDs.show();
}

void loop()
{
  index1 = AnalogRead();
  if(digitalRead(D1) ==0)
  {
    while(digitalRead(D1) ==0)
    {
      delay(10);
    }
    sel = 1;
    if(index1 == 0)
    {
      while(index1 == 0 && sel == 1)
      {
        index2 = AnalogRead();
        if(index2 == 0)
        {
          DisplayOLED("->RED","  GREEN","  BLUE");
          SLEDs.setPixelColor(0,  SLEDs.Color(255,  0,  0));    // แดง
          //SLEDs.setPixelColor(0,  SLEDs.Color(0,  255,  64));    // เขียว
          //SLEDs.setPixelColor(0,  SLEDs.Color(255,  255,  0));    // เหลือง
          SLEDs.show();
        }
        else if(index2 == 1)
        {
          DisplayOLED("  RED","->GREEN","  BLUE");
          SLEDs.setPixelColor(0,  SLEDs.Color(0,  255,  64));
          SLEDs.show();
        }
        else if(index2 == 2)
        {
          DisplayOLED("  RED","  GREEN","->BLUE");
          SLEDs.setPixelColor(0,  SLEDs.Color(0,  0,  255));    // น้ำเงิน
          SLEDs.show();
        }
      }
    }
    else if (index1 == 1)
    {
      while(index1 == 1 && sel == 1)
      {
        index3 = AnalogRead();
        if(index3 == 0)
        {
          DisplayOLED("->RED","  GREEN","  BLUE");
          SLEDs.setPixelColor(1,  SLEDs.Color(255,  0,  0));    // แดง
          SLEDs.show();
        }
        else if(index3 == 1)
        {
          DisplayOLED("  RED","->GREEN","  BLUE");
          SLEDs.setPixelColor(1,  SLEDs.Color(0,  255,  64));
          SLEDs.show();
        }
        else if(index3 == 2)
        {
          DisplayOLED("  RED","  GREEN","->BLUE");
          SLEDs.setPixelColor(1,  SLEDs.Color(0,  0,  255));    // น้ำเงิน
          SLEDs.show();
        }
      }
    }
    else if (index1 == 2)
    {
      while(index1 == 2 && sel == 1)
      {
        index4 = AnalogRead();
        if(index4 == 0)
        {
          DisplayOLED("->LED1","  LED2","  LED3");
          digitalWrite(D0,HIGH); digitalWrite(D5,LOW); digitalWrite(D4,LOW);
        }
        else if(index4 == 1)
        {
          DisplayOLED("  LED1","->LED2","  LED3");
          digitalWrite(D0,LOW); digitalWrite(D5,HIGH); digitalWrite(D4,LOW);
        }
        else if(index4 == 2)
        {
          DisplayOLED("  LED1","  LED2","->LED3");
          digitalWrite(D0,LOW); digitalWrite(D5,LOW); digitalWrite(D4,HIGH);
        }
      }
    }
  }
  else
  {
    if(index1 == 0)DisplayOLED("->SLED1","  SLED2","  LED");
    if(index1 == 1)DisplayOLED("  SLED1","->SLED2","  LED");
    if(index1 == 2)DisplayOLED("  SLED1","  SLED2","->LED");
  }
 
 
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น