0% found this document useful (0 votes)
50 views7 pages

5 TD5 Correction

The document describes code for an Arduino project that receives infrared signals and displays numbers on a 7-segment display. It defines pins for the display, receives IR signals, decodes the values, and calls functions to light up the correct segments for each number.

Uploaded by

fahd.fafah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views7 pages

5 TD5 Correction

The document describes code for an Arduino project that receives infrared signals and displays numbers on a 7-segment display. It defines pins for the display, receives IR signals, decodes the values, and calls functions to light up the correct segments for each number.

Uploaded by

fahd.fafah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

#include <IRremote.

hpp>

const int rcvPin=11;


const int aPin = 3;
const int bPin = 2;
const int cPin = 9;
const int dPin = 7;
const int ePin = 6;
const int fPin = 4;
const int gPin = 5;
const int dpPin = 8;

auto state = false;


int latestNumber = 0;

IRrecv irrecv(rcvPin);
decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(aPin, OUTPUT);
pinMode(bPin, OUTPUT);
pinMode(cPin, OUTPUT);
pinMode(dPin, OUTPUT);
pinMode(ePin, OUTPUT);
pinMode(fPin, OUTPUT);
pinMode(gPin, OUTPUT);
pinMode(dpPin, OUTPUT);

numberx();
}
void loop() {

if(IrReceiver.decode()) {
auto value= IrReceiver.decodedIRData.decodedRawData;
if (value == 4278238976) {
state = !state;
}

if (state) {
switch(value)
{
case 4278238976: //Power
case 4077698816: //0
number0();
break;
case 4010852096: //1
number1();
break;
case 3994140416: //2
number2();
break;
case 3977428736: //3
number3();
break;
case 3944005376: //4
number4();
break;
case 3927293696: //5
number5();
break;
case 3910582016: //6
number6();
break;
case 3877158656: //7
number7();
break;
case 3860446976: //8
number8();
break;
case 3843735296: //9
number9();
break;
case 4111122176: //up
numberUp();
break;
case 4144545536: //down
numberDown();
break;
case 4211392256: //start
number0();
break;
case 4177968896: //end
number9();
break;

default: Serial.println(value);
}

}
else {
numberx();
}
IrReceiver.resume();
}
}

void numberx() {
latestNumber = 0;
digitalWrite(aPin, HIGH);
digitalWrite(bPin, HIGH);
digitalWrite(cPin, HIGH);
digitalWrite(dPin, HIGH);
digitalWrite(ePin, HIGH);
digitalWrite(fPin, HIGH);
digitalWrite(gPin, HIGH);
digitalWrite(dpPin, LOW);
}

void number0() {
latestNumber = 0;
digitalWrite(aPin, LOW);
digitalWrite(bPin, LOW);
digitalWrite(cPin, LOW);
digitalWrite(dPin, LOW);
digitalWrite(ePin, LOW);
digitalWrite(fPin, LOW);
digitalWrite(gPin, HIGH);
digitalWrite(dpPin, HIGH);
}

void number1() {
latestNumber = 1;
digitalWrite(aPin, HIGH);
digitalWrite(bPin, LOW);
digitalWrite(cPin, LOW);
digitalWrite(dPin, HIGH);
digitalWrite(ePin, HIGH);
digitalWrite(fPin, HIGH);
digitalWrite(gPin, HIGH);
digitalWrite(dpPin, HIGH);
}

void number2() {
latestNumber = 2;
digitalWrite(aPin, LOW);
digitalWrite(bPin, LOW);
digitalWrite(cPin, HIGH);
digitalWrite(dPin, LOW);
digitalWrite(ePin, LOW);
digitalWrite(fPin, HIGH);
digitalWrite(gPin, LOW);
digitalWrite(dpPin, HIGH);
}

void number3() {
latestNumber = 3;
digitalWrite(aPin, LOW);
digitalWrite(bPin, LOW);
digitalWrite(cPin, LOW);
digitalWrite(dPin, LOW);
digitalWrite(ePin, HIGH);
digitalWrite(fPin, HIGH);
digitalWrite(gPin, LOW);
digitalWrite(dpPin, HIGH);
}

void number4() {
latestNumber = 4;
digitalWrite(aPin, HIGH);
digitalWrite(bPin, LOW);
digitalWrite(cPin, LOW);
digitalWrite(dPin, HIGH);
digitalWrite(ePin, HIGH);
digitalWrite(fPin, LOW);
digitalWrite(gPin, LOW);
digitalWrite(dpPin, HIGH);
}

void number5() {
latestNumber = 5;
digitalWrite(aPin, LOW);
digitalWrite(bPin, HIGH);
digitalWrite(cPin, LOW);
digitalWrite(dPin, LOW);
digitalWrite(ePin, HIGH);
digitalWrite(fPin, LOW);
digitalWrite(gPin, LOW);
digitalWrite(dpPin, HIGH);
}
void number6() {
latestNumber = 6;
digitalWrite(aPin, LOW);
digitalWrite(bPin, HIGH);
digitalWrite(cPin, LOW);
digitalWrite(dPin, LOW);
digitalWrite(ePin, LOW);
digitalWrite(fPin, LOW);
digitalWrite(gPin, LOW);
digitalWrite(dpPin, HIGH);
}

void number7() {
latestNumber = 7;
digitalWrite(aPin, LOW);
digitalWrite(bPin, LOW);
digitalWrite(cPin, LOW);
digitalWrite(dPin, HIGH);
digitalWrite(ePin, HIGH);
digitalWrite(fPin, HIGH);
digitalWrite(gPin, HIGH);
digitalWrite(dpPin, HIGH);
}

void number8() {
latestNumber = 8;
digitalWrite(aPin, LOW);
digitalWrite(bPin, LOW);
digitalWrite(cPin, LOW);
digitalWrite(dPin, LOW);
digitalWrite(ePin, LOW);
digitalWrite(fPin, LOW);
digitalWrite(gPin, LOW);
digitalWrite(dpPin, HIGH);
}

void number9() {
latestNumber = 9;
digitalWrite(aPin, LOW);
digitalWrite(bPin, LOW);
digitalWrite(cPin, LOW);
digitalWrite(dPin, LOW);
digitalWrite(ePin, HIGH);
digitalWrite(fPin, LOW);
digitalWrite(gPin, LOW);
digitalWrite(dpPin, HIGH);
}

void numberUp() {
if (latestNumber == 0){
number1();
}
else if (latestNumber == 1){
number2();
}
else if (latestNumber == 2){
number3();
}
else if (latestNumber == 3){
number4();
}
else if (latestNumber == 4){
number5();
}
else if (latestNumber == 5){
number6();
}
else if (latestNumber == 6){
number7();
}
else if (latestNumber == 7){
number8();
}
else if (latestNumber == 8){
number9();
}
}

void numberDown() {
if (latestNumber == 9){
number8();
}
else if (latestNumber == 8){
number7();
}
else if (latestNumber == 7){
number6();
}
else if (latestNumber == 6){
number5();
}
else if (latestNumber == 5){
number4();
}
else if (latestNumber == 4){
number3();
}
else if (latestNumber == 3){
number2();
}
else if (latestNumber == 2){
number1();
}
else if (latestNumber == 1){
number0();
}
}

You might also like