PI... I A ensiffriga (3 / 5 steg)
Steg 3: programmering.
T1 = Pin 7 = E
T2 = Pin 8 = D
T3 = Pin 9 = C
T4 = Pin 10 = G
T5 = Pin 11 = F
T6 = Pin 12 = A
T7 = Pin13 = B
T visar transistorn siffrorna som på sidan före eller sidan efter den här. A, B, C, D, E, F, G är standardiserade sju segment bokstäver. Framför har jag standardiserat sju segment märka namnen som referens.
Ladda upp denna kod till Arduino:
/*
Octopi av blinkyblinky
Octopi är en enhet som visar en siffra PI för en viss tid innan det upprepas. Streck definiera slutet av strängen innan upprepa... du kan alltid lägga till fler siffror till sträng...
*/
En sträng förenklar och komplicerar livet. Men jag använde en ändå.
Sträng pi = " 314159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859502445945534690830264252230825334468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778 ---";
int needtoloop = pi.length (); //checking längden på pi:-) Okej bara strängen...
Låt oss definiera några stift!
int T1 = 7.
int T2 = 8.
int T3 = 9.
int T4 = 10;
int T5 = 11;
int T6 = 12.
int T7 = 13.
void setup() {
pinMode (T1, OUTPUT);
pinMode (T2, OUTPUT);
pinMode (T3, OUTPUT);
pinMode (T4, OUTPUT);
pinMode (T5, OUTPUT);
pinMode (T6, OUTPUT);
pinMode (T7, OUTPUT);
}
void loop() {
pinitiate();
}
void pinitiate() {//get det pi initiera? Nej? Oh ja... tillbaka till skämt boken.
för (int n = 0; n < needtoloop; n ++) {
om (pi.charAt(n)=='0') {
digitalWrite (T6, hög);
digitalWrite (T5, hög);
digitalWrite (T7, hög);
digitalWrite (T1, hög);
digitalWrite (T3, hög);
digitalWrite (T2, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T6, låg);
digitalWrite (T5, låg);
digitalWrite (T7, låg);
digitalWrite (T1, låg);
digitalWrite (T3, låg);
digitalWrite (T2, låg);
pinitiate();
}
annat if (pi.charAt(n)=='1') {
digitalWrite (T7, hög);
digitalWrite (T3, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T7, låg);
digitalWrite (T3, låg);
pinitiate();
}
annat if (pi.charAt(n)=='2') {
digitalWrite (T6, hög);
digitalWrite (T7, hög);
digitalWrite (T4, hög);
digitalWrite (T1, hög);
digitalWrite (T2, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T6, låg);
digitalWrite (T7, låg);
digitalWrite (T4, låg);
digitalWrite (T1, låg);
digitalWrite (T2, låg);
pinitiate();
}
annat if (pi.charAt(n)=='3') {
digitalWrite (T6, hög);
digitalWrite (T7, hög);
digitalWrite (T4, hög);
digitalWrite (T3, hög);
digitalWrite (T2, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T6, låg);
digitalWrite (T7, låg);
digitalWrite (T4, låg);
digitalWrite (T3, låg);
digitalWrite (T2, låg);
pinitiate();
}
annat if (pi.charAt(n)=='4') {
digitalWrite (T5, hög);
digitalWrite (T4, hög);
digitalWrite (T7, hög);
digitalWrite (T3, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T5, låg);
digitalWrite (T4, låg);
digitalWrite (T7, låg);
digitalWrite (T3, låg);
pinitiate();
}
annat if (pi.charAt(n)=='5') {
digitalWrite (T6, hög);
digitalWrite (T5, hög);
digitalWrite (T4, hög);
digitalWrite (T3, hög);
digitalWrite (T2, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T6, låg);
digitalWrite (T5, låg);
digitalWrite (T4, låg);
digitalWrite (T3, låg);
digitalWrite (T2, låg);
pinitiate();
}
annat if (pi.charAt(n)=='6') {
digitalWrite (T6, hög);
digitalWrite (T5, hög);
digitalWrite (T4, hög);
digitalWrite (T3, hög);
digitalWrite (T2, hög);
digitalWrite (T1, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T6, låg);
digitalWrite (T5, låg);
digitalWrite (T4, låg);
digitalWrite (T3, låg);
digitalWrite (T2, låg);
digitalWrite (T1, låg);
pinitiate();
}
annat if (pi.charAt(n)=='7') {
digitalWrite (T5, hög);
digitalWrite (T6, hög);
digitalWrite (T7, hög);
digitalWrite (T3, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T5, låg);
digitalWrite (T6, låg);
digitalWrite (T7, låg);
digitalWrite (T3, låg);
pinitiate();
}
annat if (pi.charAt(n)=='8') {
digitalWrite (T1, hög);
digitalWrite (T2, hög);
digitalWrite (T3, hög);
digitalWrite (T4, hög);
digitalWrite (T5, hög);
digitalWrite (T6, hög);
digitalWrite (T7, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T1, låg);
digitalWrite (T2, låg);
digitalWrite (T3, låg);
digitalWrite (T4, låg);
digitalWrite (T5, låg);
digitalWrite (T6, låg);
digitalWrite (T7, låg);
pinitiate();
}
annat if (pi.charAt(n)=='9') {
digitalWrite (T2, hög);
digitalWrite (T3, hög);
digitalWrite (T4, hög);
digitalWrite (T5, hög);
digitalWrite (T6, hög);
digitalWrite (T7, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T2, låg);
digitalWrite (T3, låg);
digitalWrite (T4, låg);
digitalWrite (T5, låg);
digitalWrite (T6, låg);
digitalWrite (T7, låg);
pinitiate();
}
annat if (pi.charAt(n)=='-') {
digitalWrite (T4, hög);
Delay(1000); Låt oss ge oss själva en sekund att läsa antalet
digitalWrite (T4, låg);
pinitiate();
}
}
}