#include <Wire.h>
const int ledPin1 = 24;
const int ledPin2 = 25;
const int ledPin3 = 26;
const int ledPin4 = 27;
int sw1 = 28;
int sw2 = 29;
int sw3 = 30;
int sw4 = 31;
void setup() {
pinMode(sw1, INPUT);
pinMode(sw2, INPUT);
pinMode(sw3, INPUT);
pinMode(sw4, INPUT);
Wire.begin();
delay(500);
}
void loop()
{
const int lookup[11] = {0x00, 0x06, 0x5B, 0x4F, 0x66};
int Count, Thousands, Hundreds, Tens, Base;
Wire.beginTransmission(0x38);
Wire.write((byte)0);
Wire.write(B01000111);
Wire.endTransmission();
Wire.beginTransmission(0x38);
Wire.write((byte)1);
if(digitalRead(sw1)==LOW) {
Base = 1;
}
else {
Base = 0;
}
if(digitalRead(sw2)==LOW) {
Tens = 2;
}
else {
Tens = 0;
}
if(digitalRead(sw3)==LOW) {
Hundreds = 3;
}
else {
Hundreds = 0;
}
if(digitalRead(sw4)==LOW) {
Thousands = 4;
}
else {
Thousands = 0;
}
Wire.write(lookup[Base]);
Wire.write(lookup[Tens]);
Wire.write(lookup[Hundreds]);
Wire.write(lookup[Thousands]);
Wire.endTransmission();
}