Witam wszystkich, dopiero co zaczynam zabawe z arduino i mam problem aby temperatura odczytana z czujnika db18b20 pokazywała mi sie na wyswietlaczu. szukalem w necie i jedynie co udalo mi sie znalezc poprawnie dzialajacy kod aby w ogole cokolwiek wyswietlic, jednak zczytanie temperatury i jej wyswietlenie nie dziala. Czy ktos moglby sprawdzic co w ponizszym kodzie moze byc zle? W zalaczniku jak podlaczylem wyswietlacz.
Kod:
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 13
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int a = 2;
int b = 3;
int c = 4;
int d = 5;
int e = 12;
int f = 7;
int g = 8;
int GND1 = 6;
int GND2 = 11;
int GND3 = 10;
int GND4 = 9;
int dig1 = 0;
int dig2 = 0;
int dig3 = 0;
int dig4 = 0;
int Temp;
void setup(void)
{
//Serial.begin(9600); //Begin serial communication
// Serial.println("Arduino Digital Temperature // Serial Monitor Version"); //Print a message
sensors.begin();
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(GND1, OUTPUT);
pinMode(GND2, OUTPUT);
pinMode(GND3, OUTPUT);
pinMode(GND4, OUTPUT);
}
void loop(void)
{
sensors.requestTemperatures();
//Serial.print("Temperature is: ");
//Serial.println(sensors.getTempCByIndex(0)); // Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire
//Update value every 1 sec.
delay(1000);
dig1 = Temp / 10;
dig2 = Temp - (dig1 * 10);
dig3 = 10;
dig4 = 11;
digitalWrite( GND4, HIGH); //digit 4
DisplayNumber(dig4);
delay(400);
digitalWrite( GND4, LOW);
digitalWrite( GND3, HIGH); //digit 3
DisplayNumber(dig3);
delay(400);
digitalWrite( GND3, LOW);
digitalWrite( GND2, HIGH); //digit 2
DisplayNumber(dig2);
delay(400);
digitalWrite( GND2, LOW);
digitalWrite( GND1, HIGH); //digit 1
DisplayNumber(dig1);
delay(400);
digitalWrite( GND1, LOW);
}
void DisplayNumber(int x) {
switch (x) {
case 0: zero(); break;
case 1: one(); break;
case 2: two(); break;
case 3: three(); break;
case 4: four(); break;
case 5: five(); break;
case 6: six(); break;
case 7: seven(); break;
case 8: eight(); break;
case 9: nine(); break;
case 10: o(); break;
case 11: C(); break;
}
}
void zero()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, LOW);
digitalWrite( g, HIGH);
}
void one()
{
digitalWrite( a, HIGH);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, HIGH);
digitalWrite( e, HIGH);
digitalWrite( f, HIGH);
digitalWrite( g, HIGH);
}
void two()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, HIGH);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, HIGH);
digitalWrite( g, LOW);
}
void three()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, HIGH);
digitalWrite( f, HIGH);
digitalWrite( g, LOW);
}
void four()
{
digitalWrite( a, HIGH);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, HIGH);
digitalWrite( e, HIGH);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void five()
{
digitalWrite( a, LOW);
digitalWrite( b, HIGH);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, HIGH);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void six()
{
digitalWrite( a, LOW);
digitalWrite( b, HIGH);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void seven()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, HIGH);
digitalWrite( e, HIGH);
digitalWrite( f, HIGH);
digitalWrite( g, HIGH);
}
void eight()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void nine()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, LOW);
digitalWrite( d, LOW);
digitalWrite( e, HIGH);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void o()
{
digitalWrite( a, LOW);
digitalWrite( b, LOW);
digitalWrite( c, HIGH);
digitalWrite( d, HIGH);
digitalWrite( e, HIGH);
digitalWrite( f, LOW);
digitalWrite( g, LOW);
}
void C()
{
digitalWrite( a, LOW);
digitalWrite( b, HIGH);
digitalWrite( c, HIGH);
digitalWrite( d, LOW);
digitalWrite( e, LOW);
digitalWrite( f, LOW);
digitalWrite( g, HIGH);
}