Stap 13: De code
/ * Code geschreven en ontwerpen gemaakt door Kyle Hovey (aka Speleomaniac op
Voor deze code, wordt een decoder 4511 binair getal aan 7-segment display gebruikt om
het schrijven van code voor geeft weer een heel stuk makkelijker.
Zeven segment display:
Een connected aan: pin 13 van 4511 (de 4511 chip is een 16 prong-chip voor alle benieuwd)
B verbonden met: pin 12 van 4511
C aangesloten op: pin 11 van 4511
D aangesloten op: pin 10 van 4511
E aangesloten op: pin 9 van 4511
F aangesloten op: pin 15 van 4511
G verbonden met: pin 14 van 4511
Arduino aan 4511:
Digitale Pin 8 aangesloten op: pin 1 van 4511 (binaire pin 2)
Digitale Pin 9 aangesloten op: pin 2 van 4511 (binaire pin 3)
Digitale Pin 11 aangesloten op: pin 6 van 4511 (binaire pin 4)
Digitale Pin 12 aangesloten op: pin 7 van 4511 (binaire pin 1)
CDF aan arduino:
10K Ohm weerstand attatched aan de grond en analoog uit draad van een pin
van de CDF is andere pin van CDF-cel attatched aan + 5v.
Binaire:
B: DEC:
0000: 0
1000: 2
0100: 3
1100: 4
0010: 5
1010: 6
0110: 7
1110: 8
0001: 9 (de 4511 accepteert alleen cijfers tot negen, zeven segment display
1001:10 twee-cijferige getallen niet weergeven, tenzij u twee beeldschermen en twee chips hebt)
0101: 11
1101: 12
0011: 13
0111: 14
1111: 15
De code voor een digitale lichtmeter op een 7 segment display.
*/
Const int Bin1 = 12; Dit zijn alle identificeren de binaire ingangen van
Const int Bin2 = 8; de 4511 zeven Segment Decoder
Const int Bin3 = 9;
Const int Bin4 = 11;
int val = 0;
int CDSpin = 0;
void setup //Enters de installatiefase
{
pinMode (Bin1, uitvoer); stelt de binaire uitvoer een als een digitale uitgang
pinMode (Bin2, uitvoer); enzovoort...
pinMode (Bin3, uitvoer);
pinMode (Bin4, uitvoer);
Serial.begin(9600);
}
void loop / / vrijwel uitsluitend zegswijze "loop welke code is na deze regel"
{
Val = analogRead(CDSpin); De analoge waarde "val" ingesteld op het omgevingslicht.
Val = kaart (val, 0, 1029, 0, 100); Verkleinen van de waarde van 1029-max tot 100-max
Serial.println (val, DEC);
delay(10); Wachten op de arduino te halen
Als (val == 0 || val == 1) //if de waarde minimaal is:
{
digitalWrite (Bin1, B0); "0" naar de display schrijven
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
}
Als (val > 1 & & val < = 10) //if de waarde tussen één en tien is:
{
digitalWrite (Bin1, B1); "1" naar de display schrijven
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
}
Als (val > 10 & & val < = 20) //if de waarde tussen de tien en twintig is:
{
digitalWrite (Bin1, B0); Naar de display schrijven "2"
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
}
Als (val > 20 & & val < = 30) //if de waarde tussen de twintig en dertig is:
{
digitalWrite (Bin1, B1); Naar de display schrijven "3"
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
}
Als (val > 30 & & val < = 40) //if de waarde tussen de dertig en veertig is:
{
digitalWrite (Bin1, B0); Naar de display schrijven "4"
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
}
Als (val > 40 & & val < = 50) //if de waarde tussen de veertig en vijftig is:
{
digitalWrite (Bin1, B1); Naar de display schrijven "5"
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
}
Als (val > 50 & & val < = 60) //if de waarde tussen de vijftig en zestig is:
{
digitalWrite (Bin1, B0); Naar de display schrijven "6"
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
}
Als (val > 70 & & val < = 80) //if de waarde tussen zestig en zeventig is:
{
digitalWrite (Bin1, B1); Naar de display schrijven "7"
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
}
Als (val > 80 & & val < = 90) de waarde tussen de tachtig en negentig is //if:
{
digitalWrite (Bin1, B0); Naar de display schrijven "8"
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B1);
}
Als (val > 90 & & val < = 100) //if de waarde tussen de negentig en wne honderd is;
{
digitalWrite (Bin1, B1); Naar de display schrijven "9"
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B1);
}
}