#define
IR_Sensor 3//pin aangesloten voor IR sensor
#define
RoodLED 13//pin aangesloten voor het rode lampje
#define
latchPin 5//pin aangesloten voor ST_CP van 74HC595
#define
clockPin 2//pin aangesloten voor SH_CP van 74HC595
#define
dataPin 4 //pin aangesloten voor DS van 74HC595
#define
KnopBoven 9//pin voor de knop die aangeeft dat je naar boven wil
#define
KnopBeneden 8//pin voor de knop de angeeft dat je naar beneden wil
#define
LampBoven 11//pin voor lampje voor op de knop voor naar boven
#define
LampBeneden 12//pin voor lampje voor op de knop voor naar beneden
bool
Waarde_IR_Sensor;//ruimte vrijmaken voor de waarde van de IR sensor
bool
Waarde_Knop_Boven;//ruimte vrijmaken voor de waarde van de knop naar boven
bool
Waarde_Knop_Beneden;//ruimte vrijmaken voor de waarde van de knop naar beneden
int
num;//ruimte vrij maken voor de nummer van de digit
int
datArray[10] = {3, 159, 37, 13, 153, 73, 65, 31, 1, 9}; // array without the decimal {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
void
setup
() {//setup
pinMode
(KnopBoven,
INPUT
);
//knop naar boven als input
pinMode
(KnopBeneden,
INPUT
);
//knop naar beneden als input
pinMode
(LampBoven,
OUTPUT
);
//lamp naar boven als output
pinMode
(LampBeneden,
OUTPUT
);
//lamp naar beneden als output
pinMode
(IR_Sensor,
INPUT
);
// de IR sensor als input
pinMode
(RoodLED,
OUTPUT
);
// rode led als output
pinMode
(latchPin,
OUTPUT
);
// de latchpin als output
pinMode
(clockPin,
OUTPUT
);
// clockpin als output
pinMode
(dataPin,
OUTPUT
);
// datapin als output
}
void
loop
() {//loop
Waarde_Knop_Boven =
digitalRead
(KnopBoven);
// kijken of de knop is ingedrukt
if
(Waarde_Knop_Boven == 1){
//als de knop naar boven is ingedrukt
digitalWrite
(LampBoven,
HIGH
);
//lampje van knop naar boven aanzetten
}
Waarde_Knop_Beneden =
digitalRead
(KnopBeneden);
//kijken of de knop is ingedrukt
if
(Waarde_Knop_Beneden == 1){
//als de knop naar beneden is ingedrukt
digitalWrite
(LampBeneden,
HIGH
);
//lampje van de knop naar beneden aanzetten
}
Waarde_IR_Sensor =
digitalRead
(IR_Sensor);
//kijken of de lift op deze etage is
if
(Waarde_IR_Sensor ==
LOW
){
// als de lift op deze etage is
digitalWrite
(LampBoven,
LOW
);
//lampje voor de knop naar boven uitzetten
digitalWrite
(LampBeneden,
LOW
);
//lampje voor de knop naar beneden uitzetten
digitalWrite
(RoodLED,
HIGH
);
//lampje om te kijken of de lift op deze etage is aanzetten
num = 0;
//nummer van de 7segment display op 0 zetten
digitalWrite
(latchPin,
LOW
);
//7segment display leeg maken
shiftOut
(dataPin,clockPin,
MSBFIRST
,datArray[num]);
// de nummer die wordt gegeven in de shift out zetten
digitalWrite
(latchPin,
HIGH
);
// de 7segment display aan zetten en het nummer daadwerkelijk laten zien
}
else
{
// als de lift niet op deze etage is
digitalWrite
(RoodLED,
LOW
);
// lampje om te kijken of de lift op deze etage is uitzetten
num = 3;
// nummer van 7segment display op 3 zetten
digitalWrite
(latchPin,
LOW
);
//7segment display leeg maken
shiftOut
(dataPin,clockPin,
MSBFIRST
,datArray[num]);
// de nummer die wordt gegeven in de shift out zetten
digitalWrite
(latchPin,
HIGH
);
// de 7segment display aan zetten en het nummer daadwerkelijk laten zien
}
}