2018-12-13 20:00:41 +01:00
|
|
|
/**Oppgaveinnlevering Programmerbar LED-kontroller.
|
|
|
|
* Stian Åsvestad Larsen - 18IT-D
|
|
|
|
* 13.12.2018
|
|
|
|
*/
|
2018-12-17 09:15:44 +01:00
|
|
|
|
2018-12-13 20:00:41 +01:00
|
|
|
/**
|
|
|
|
* Setter pins og hvor kablene skal være.
|
|
|
|
* Rekkelys setter et "array" som har "LedBlu, LedGre, LedYel og LedRed" i seg.
|
|
|
|
*/
|
|
|
|
|
|
|
|
int LedGre = 11;
|
|
|
|
int LedBlu = 10;
|
|
|
|
int LedYel = 9;
|
|
|
|
int LedRed = 8;
|
|
|
|
int rekkelys[] = {LedBlu, LedGre, LedYel, LedRed}; // Rød, Gul, Blå og Grønt lys
|
|
|
|
int Valgpin = 0; // Tracker Valgpin som brukes i arrayet. Det brukes også i loop.
|
|
|
|
|
2018-12-17 09:15:44 +01:00
|
|
|
// Setup for arduinokortet.
|
2018-12-13 20:00:41 +01:00
|
|
|
|
|
|
|
void setup()
|
|
|
|
{
|
2018-12-17 09:15:44 +01:00
|
|
|
/** Sier at for Valgpin = 0 så går denne opp til 4 og øker med 1 hver gang.
|
2018-12-14 12:14:15 +01:00
|
|
|
* Setter LED pins til OUTPUT med (rekkelys[valgpin], OUTPUT)
|
2018-12-13 20:00:41 +01:00
|
|
|
*/
|
|
|
|
for (int Valgpin = 0; Valgpin < 4; Valgpin++)
|
|
|
|
{
|
|
|
|
pinMode(rekkelys[Valgpin], OUTPUT);
|
|
|
|
}
|
2018-12-17 09:15:44 +01:00
|
|
|
/** Starter en serial. Denne er ikke relevant for koden, og Serial.println brukes ikke heller,
|
|
|
|
* men er der hvis det er behov for feilsøking / feil i koden.
|
2018-12-13 20:00:41 +01:00
|
|
|
*/
|
|
|
|
Serial.begin(9600);
|
|
|
|
}
|
|
|
|
|
|
|
|
// loop
|
|
|
|
void loop()
|
|
|
|
{
|
|
|
|
// Array Rekkefølge 1
|
|
|
|
int sekvens [] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
|
|
|
|
|
|
|
|
// Eventuelt Array rekkefølge 2 hvis man trenger å bytte ut eller ha andre tall.
|
|
|
|
// int sekvens [] = {3, 6, 8, 5, 15, 0};
|
|
|
|
|
|
|
|
for (byte Valgpin = 0; Valgpin <= 15; Valgpin++)
|
|
|
|
{
|
2018-12-17 09:15:44 +01:00
|
|
|
DisplayBinary(sekvens[Valgpin]);
|
2018-12-13 20:00:41 +01:00
|
|
|
delay(1000); // Litta delay på 1000ms (1s)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Void som beskriver hva som skal være i "DisplayBinary".
|
|
|
|
void DisplayBinary(byte numbers)
|
|
|
|
{
|
2018-12-17 09:15:44 +01:00
|
|
|
for (int Valgpin = 0; Valgpin < 4; Valgpin++)
|
2018-12-13 20:00:41 +01:00
|
|
|
{
|
2018-12-17 09:15:44 +01:00
|
|
|
// Sjekker bit av "value" du henter inn. Hvis tallet er satt til 1, slår den på LED / LEDs
|
2018-12-13 20:00:41 +01:00
|
|
|
if (bitRead(numbers, Valgpin)==1)
|
|
|
|
{
|
|
|
|
digitalWrite(rekkelys[Valgpin], HIGH);
|
|
|
|
}
|
2018-12-17 09:15:44 +01:00
|
|
|
// Sjekker om bit av "value" du henter inn er lav (eller 0), hvis den er Lav slår den av LED / LEDs
|
2018-12-13 20:00:41 +01:00
|
|
|
else
|
|
|
|
{
|
|
|
|
digitalWrite(rekkelys[Valgpin], LOW);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|