ugye van a kijelző, szám szerint 2.
Az első a tizes (=t) a második egyes (=e), majd a számozása (a,b,c,d,e...) A tizesnél ez csak "f"-ig megy, ami az 5-öt kódolja (mivel 10es ezért ez 50-et fog jelenteni, mert úgysem lesz nyáron sem 50 fok)
60 nap alatt Arduino #36 - Shift regiszter
Re: 60 nap alatt Arduino #36 - Shift regiszter
sajna ugyanez a helyzet
"homero.ino: In function 'void loop()':
homero:41: error: 'ea' was not declared in this scope
homero:42: error: 'tnone' was not declared in this scope"
"homero.ino: In function 'void loop()':
homero:41: error: 'ea' was not declared in this scope
homero:42: error: 'tnone' was not declared in this scope"
Kód: Egész kijelölése
int dataPin = 11; //74HC595 Data az Arduino Pin11-re kotve
int clockPin = 12; //74HC595 Clock az Arduino Pin12-re kotve
int latchPin = 13; //74HC595 Latch az Arduino Pin13-ra kotve
float tempC; //homerseklet LM35-tel
int reading;
int tempPin = A0;
void setup() {
pinMode(dataPin, OUTPUT); // Data lab kimenet
pinMode(clockPin, OUTPUT); // Clock lab kimenet
pinMode(latchPin, OUTPUT); // Latch lab kimenet
analogReference(INTERNAL); //Homersekletnek
//tizesek megadasa
//1-8ig: Bcde0bagf
byte tnone = B00000000; //none
byte tb = B00100001; //10
byte tc = B01101110; //20
byte td = B11001110; //30
byte te = B10001011; //40
byte tf = B11000111; //50
//egyesek megadasa
//1-8: B0cdegfab
byte enone = B00000000; // none
byte ea = B01110111; // 0
byte eb = B00010100; // 1
byte ec = B00111011; // 2
byte ed = B01101111; // 3
byte ee = B01001101; // 4
byte ef = B01101110; // 5
byte eg = B01111110; // 6
byte eh = B01000011; // 7
byte ei = B01111111; // 8
byte ej = B01101111; // 9
}
void loop(){
reading = analogRead(tempPin); //Homerseklet beolvasasa
tempC = reading / 9.31; //Homerseklet atvaltasa
if (tempC == 0){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ea); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 1){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eb); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 2){
.
.
.
Re: 60 nap alatt Arduino #36 - Shift regiszter
Globalisan definiald a valtozot, ne a setup() alatt.
Re: 60 nap alatt Arduino #36 - Shift regiszter
Sikerült Köszi a segítséget!
Néha még nehéz átállni pythonról ott nincsenek ilyen gondok szerencsére Kár hogy nem lehet pythonbann írni
Mégegyszer köszi!
Aki pedig érdekelt egy LED kijelzős hőmérőben Shift regiszterrel annak itt a kód:
A kapcsolásnál pedig figyelni kell a szegmensek bekötésére. Nálam a következő a helyzet:
Egyesek helyén Q0-tól Q7ig: hcdegfab
Tizesek helyén Q0-tól Q7ig: cdehbagf
Néha még nehéz átállni pythonról ott nincsenek ilyen gondok szerencsére Kár hogy nem lehet pythonbann írni
Mégegyszer köszi!
Aki pedig érdekelt egy LED kijelzős hőmérőben Shift regiszterrel annak itt a kód:
A kapcsolásnál pedig figyelni kell a szegmensek bekötésére. Nálam a következő a helyzet:
Egyesek helyén Q0-tól Q7ig: hcdegfab
Tizesek helyén Q0-tól Q7ig: cdehbagf
Kód: Egész kijelölése
int dataPin = 11; //74HC595 Data az Arduino Pin11-re kotve
int clockPin = 12; //74HC595 Clock az Arduino Pin12-re kotve
int latchPin = 13; //74HC595 Latch az Arduino Pin13-ra kotve
float tempC; //homerseklet LM35-tel
int reading;
int tempPin = A0;
//tizesek megadasa
//1-8ig: Bcde0bagf
byte tnone = B00000000; //none
byte tb = B00100001; //10
byte tc = B01101110; //20
byte td = B11001110; //30
byte te = B10001011; //40
byte tf = B11000111; //50
//egyesek megadasa
//1-8: B0cdegfab
byte enone = B00000000; // none
byte ea = B01110111; // 0
byte eb = B00010100; // 1
byte ec = B00111011; // 2
byte ed = B01101111; // 3
byte ee = B01001101; // 4
byte ef = B01101110; // 5
byte eg = B01111110; // 6
byte eh = B01000011; // 7
byte ei = B01111111; // 8
byte ej = B01101111; // 9
void setup() {
pinMode(dataPin, OUTPUT); // Data lab kimenet
pinMode(clockPin, OUTPUT); // Clock lab kimenet
pinMode(latchPin, OUTPUT); // Latch lab kimenet
analogReference(INTERNAL); //Homersekletnek
}
void loop(){
reading = analogRead(tempPin); //Homerseklet beolvasasa
tempC = reading / 9.31; //Homerseklet atvaltasa
if (tempC == 0){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ea); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 1){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eb); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 2){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ec); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 3){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ed); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 4){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ee); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 5){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ef); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 6){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eg); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 7){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eh); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 8){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ei); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 9){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ej); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tnone); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 10){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ea); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 11){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eb); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 12){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ec); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 13){
shiftOut (dataPin, clockPin, LSBFIRST, ed); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 14){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ee); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 15){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ef); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 16){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eg); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 17){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eh); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 18){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ei); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 19){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ej); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tb); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 20){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ea); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 21){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eb); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 22){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ec); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 23){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ed); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 24){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ee); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 25){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ef); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 26){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eg); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 27){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eh); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 28){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ei); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 29){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ej); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tc); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 30){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ea); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 31){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eb); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 32){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ec); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 33){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ed); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 34){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ee); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 35){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ef); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 36){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eg); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 37){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eh); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 38){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ei); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 39){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ej); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, td); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 40){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ea); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 41){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eb); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 42){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ec); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 43){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ed); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 44){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ee); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 45){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ef); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 46){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eg); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 47){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eh); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 48){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ei); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 49){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ej); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, te); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 50){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, ea); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tf); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
if (tempC == 51){
digitalWrite(latchPin, LOW);
shiftOut (dataPin, clockPin, LSBFIRST, eb); // egyesekre meno jel kikuldese
shiftOut (dataPin, clockPin, LSBFIRST, tf); // tizesekre meno jel kikuldese
digitalWrite(latchPin, HIGH); // latch jel kikuldese
}
}