2020年2月2日日曜日

Arduino Challenge07

Arduino Trainer3

Arduino Trainer3

Arduino Trainer3

LeftTurnLightOn

RightTurnLightOn

HazardLampOn

NightLightOn

Connection


//RgbLedAndIR
//start 2020/02/02
//done 2020/02/02

#include <IRremote.h>

int RedPin1=3;
int BluePin1=5;
int GreenPin1=6;
int RedPin2=9;
int BluePin2=10;
int GreenPin2=11;
int RecvPin = 2;
IRrecv irrecv(RecvPin);
decode_results results;

void setup() 
{
   //IR
  irrecv.enableIRIn();

}

void NightLightOff()
{
  analogWrite(RedPin1,255);
  analogWrite(BluePin1,255);
  analogWrite(GreenPin1,255);
  analogWrite(RedPin2,255);
  analogWrite(BluePin2,255);
  analogWrite(GreenPin2,255);
}

void NightLightOn()
{
  analogWrite(RedPin1,0);
  analogWrite(BluePin1,0);
  analogWrite(GreenPin1,0);
  analogWrite(RedPin2,0);
  analogWrite(BluePin2,0);
  analogWrite(GreenPin2,0);
}

void LeftTurnLightOn()
{
  for(int i=0;i<5;i++)
  {
    analogWrite(RedPin1,0);
    analogWrite(BluePin1,255);
    analogWrite(GreenPin1,255);
    analogWrite(RedPin2,255);
    analogWrite(BluePin2,255);
    analogWrite(GreenPin2,255);
    delay(500);
    analogWrite(RedPin1,255);
    analogWrite(BluePin1,255);
    analogWrite(GreenPin1,255);
    delay(500);
  }
}

void RightTurnLightOn()
{
  for(int i=0;i<5;i++)
  {
    analogWrite(RedPin1,255);
    analogWrite(BluePin1,255);
    analogWrite(GreenPin1,255);
    analogWrite(RedPin2,0);
    analogWrite(BluePin2,255);
    analogWrite(GreenPin2,255);
    delay(500);
    analogWrite(RedPin2,255);
    analogWrite(BluePin2,255);
    analogWrite(GreenPin2,255);
    delay(500);
  }
}

void HazardLampOn()
{
  for(int i=0;i<10;i++)
  {
    analogWrite(RedPin1,0);
    analogWrite(BluePin1,255);
    analogWrite(GreenPin1,255);
    analogWrite(RedPin2,0);
    analogWrite(BluePin2,255);
    analogWrite(GreenPin2,255);
    delay(200);
    analogWrite(RedPin1,255);
    analogWrite(BluePin1,255);
    analogWrite(GreenPin1,255);
    analogWrite(RedPin2,255);
    analogWrite(BluePin2,255);
    analogWrite(GreenPin2,255);
    delay(200);
  }
}



void loop() 
{
  if (irrecv.decode(&results))
  {
    irrecv.resume();
    if (results.value == 0xFFE01F) //Number 7
    {
      LeftTurnLightOn();  
    }
    if (results.value == 0xFF906F) //Number 9
    {
      RightTurnLightOn(); 
    }
    if (results.value == 0xFF6897)  //*
    {
      HazardLampOn(); 
    }
    if (results.value == 0xFF9867) //Nunber 0
    {
      NightLightOff();
    }
    if (results.value == 0xFFB04F) //#
    {
      NightLightOn();
    }
  }
}

0 件のコメント:

コメントを投稿