Error unknown typ name 'DS18B20'
-
@AlexKrammer
Yes but im not sure it will just work with a pi board.@mrjj
its even dont work on my windows pc ^^ -
@AlexKrammer
Yes but im not sure it will just work with a pi board.@mrjj
There are still error. i dont know, why you dont receive that errors respectively when you try to compile the code, why its work. if i try to run it, there are hundreds of error messages.
-
@mrjj
There are still error. i dont know, why you dont receive that errors respectively when you try to compile the code, why its work. if i try to run it, there are hundreds of error messages.
@AlexKrammer
Well i didnt download and added OneWire to see. Maybe why.
Just checkout DS18B20 as question started with.
I dont have a board to test on so i would never be able to run it anyway.Thats just #include <stdio.h> it complains about.
Very odd the .h does not include that.Also, you do understand that these libs are meant to be used ON the board.?
They can never read a sensor on a pi board where apps run on win pc and have the pi board connected via USB
or similar.
But you do seem to have a raspberry Debian running so you are compiling directly on the board, right ? -
@AlexKrammer
Well i didnt download and added OneWire to see. Maybe why.
Just checkout DS18B20 as question started with.
I dont have a board to test on so i would never be able to run it anyway.Thats just #include <stdio.h> it complains about.
Very odd the .h does not include that.Also, you do understand that these libs are meant to be used ON the board.?
They can never read a sensor on a pi board where apps run on win pc and have the pi board connected via USB
or similar.
But you do seem to have a raspberry Debian running so you are compiling directly on the board, right ?@mrjj
Now I includes #include <stdio.h> in ds18b20.cpp but nothing changed.
the error C1083 does not depend on stdio.h, does it?yes i have both systems running.
-
@mrjj
Now I includes #include <stdio.h> in ds18b20.cpp but nothing changed.
the error C1083 does not depend on stdio.h, does it?yes i have both systems running.
@AlexKrammer
Ok. Good. Just checking
No that error comes from some missing .h file. As it shows.
From the utils folder
https://github.com/PaulStoffregen/OneWire/tree/master/util
so you should add those too it seems. -
oh thanks. that i missed. but its funny. i have the same errors on windows and raspien.
i think it dont depend where to compily. The only different i think will be, on raspberry will the outputs work. Dont you think? -
oh thanks. that i missed. but its funny. i have the same errors on windows and raspien.
i think it dont depend where to compily. The only different i think will be, on raspberry will the outputs work. Dont you think?@AlexKrammer
Well it should give same errors from compile on both systems if they are related to missing includes.
What are the errors now ?Still bitRead etc ?
And yes, the biggest difference is when you run it. On win pc there would be no hardware to to talk to.
-
@AlexKrammer
Well it should give same errors from compile on both systems if they are related to missing includes.
What are the errors now ?Still bitRead etc ?
And yes, the biggest difference is when you run it. On win pc there would be no hardware to to talk to.
@mrjj no but much more ^
-
Hi
Seems to come from
https://www.arduino.cc/reference/en/language/functions/interrupts/nointerrupts/So I think we are down the wrong path using this with a pi board as it seems tied to
Arduino. -
Hi
Seems to come from
https://www.arduino.cc/reference/en/language/functions/interrupts/nointerrupts/So I think we are down the wrong path using this with a pi board as it seems tied to
Arduino.@mrjj
and what will be the right way. is it possible to use qt for this?
is it possible to create a own library to convert the input of the sensor in a temperatur? -
@mrjj
and what will be the right way. is it possible to use qt for this?
is it possible to create a own library to convert the input of the sensor in a temperatur?@AlexKrammer
Hi
But do you have such sensor ?
and hook it up to the board like they do here ?
https://www.circuitbasics.com/raspberry-pi-ds18b20-temperature-sensor-tutorial/ -
@AlexKrammer
Hi
But do you have such sensor ?
and hook it up to the board like they do here ?
https://www.circuitbasics.com/raspberry-pi-ds18b20-temperature-sensor-tutorial/@mrjj yea for sure. but i want to use qt with c++. do create this application
-
@mrjj yea for sure. but i want to use qt with c++. do create this application
@AlexKrammer
I think you need a c++ lib then like
https://github.com/TeraHz/DS18B20
to interface with the hardware. -
@AlexKrammer
I think you need a c++ lib then like
https://github.com/TeraHz/DS18B20
to interface with the hardware.@mrjj to interface with the hardware ill use wiringpi. thats work good. i can turn on und off leds and i can read pins.
how does this lib work? -
@AlexKrammer
I think you need a c++ lib then like
https://github.com/TeraHz/DS18B20
to interface with the hardware.@mrjj ou i just saw. it looks like that one right?
"are you using the DS18B20::DS18B20(const char* address) version" -
@mrjj ou i just saw. it looks like that one right?
"are you using the DS18B20::DS18B20(const char* address) version"@AlexKrammer
Heh yes but on this is says it should work with PI
and it has more includes.
So maybe this will actually work once we find out what that address should be :) -
@AlexKrammer
Heh yes but on this is says it should work with PI
and it has more includes.
So maybe this will actually work once we find out what that address should be :)@mrjj
Now i tried to evaluate the temperatur with the c++ library.
The code looks good. There is no error, but if i run the projekt. its going to do this stepchar w1_address [ 16 ]; DS18B20 w1Device1 (w1_address); tempNow = w1Device1. getTemp ();
its going to crash. So i think there is a mistake in the adress.
i put in the raspberry pin. -
@mrjj
Now i tried to evaluate the temperatur with the c++ library.
The code looks good. There is no error, but if i run the projekt. its going to do this stepchar w1_address [ 16 ]; DS18B20 w1Device1 (w1_address); tempNow = w1Device1. getTemp ();
its going to crash. So i think there is a mistake in the adress.
i put in the raspberry pin.@AlexKrammer
im not sure a pin is right there.
Try read some the many tuts and see what they use for adress. -
@AlexKrammer
im not sure a pin is right there.
Try read some the many tuts and see what they use for adress.@mrjj
Now it works.
i reached the slave-address each sensor, made a code like thischar w1_address[16]; const char* adr1 = "10-000803673bfb"; DS18B20 w1Device1 (adr1); actualTemp1 = w1Device1.getTemp();
And it's working.
But unfortunately if i add a new sensor. i have to find out his address and add it to the code. its not only plug and play^^But now a basic c++ problem.
I created a class:
checktemperature.h#ifndef CHECKTEMPERATURE_H #define CHECKTEMPERATURE_H #include <settemperature.h> #include <readtemperature.h> #include <wiringPi.h> class CheckTemperature { private: SetTemperature S; ReadTemperature R; public: void CheckTemp(); float TempEin; float TempAus; }; #endif // CHECKTEMPERATURE_H
checktemperature.cpp
#include "checktemperature.h" void CheckTemperature::CheckTemp() { TempEin = S.getHystTemperature(); TempAus = S.getHystTemperature(); if (R.actualTemp1 <= TempEin) digitalWrite(31, LOW); else if (R.actualTemp1 >= TempAus) digitalWrite(31, HIGH); if (R.actualTemp2 <= TempEin) digitalWrite(26, LOW); else if (R.actualTemp2 >= TempAus) digitalWrite(26, HIGH); if (R.actualTemp3 <= TempEin) digitalWrite(27, LOW); else if (R.actualTemp3 >= TempAus) digitalWrite(27, HIGH); if (R.actualTemp4 <= TempEin) digitalWrite(28, LOW); else if (R.actualTemp4 >= TempAus) digitalWrite(28, HIGH); if (R.actualTemp5 <= TempEin) digitalWrite(29, LOW); else if (R.actualTemp5 >= TempAus) digitalWrite(29, HIGH); }
i call that funktion every 500ms in loop.
But the values of R.actualTemp and S.getHystTemperature the value does not adjust, so they still at the moment when i start the program.
Do you know whats wrong, cause i call that funktion every 500ms and at the beginning "TempEin= ..." and S.getHystTemperature(); is already changing^ -
@mrjj
Now it works.
i reached the slave-address each sensor, made a code like thischar w1_address[16]; const char* adr1 = "10-000803673bfb"; DS18B20 w1Device1 (adr1); actualTemp1 = w1Device1.getTemp();
And it's working.
But unfortunately if i add a new sensor. i have to find out his address and add it to the code. its not only plug and play^^But now a basic c++ problem.
I created a class:
checktemperature.h#ifndef CHECKTEMPERATURE_H #define CHECKTEMPERATURE_H #include <settemperature.h> #include <readtemperature.h> #include <wiringPi.h> class CheckTemperature { private: SetTemperature S; ReadTemperature R; public: void CheckTemp(); float TempEin; float TempAus; }; #endif // CHECKTEMPERATURE_H
checktemperature.cpp
#include "checktemperature.h" void CheckTemperature::CheckTemp() { TempEin = S.getHystTemperature(); TempAus = S.getHystTemperature(); if (R.actualTemp1 <= TempEin) digitalWrite(31, LOW); else if (R.actualTemp1 >= TempAus) digitalWrite(31, HIGH); if (R.actualTemp2 <= TempEin) digitalWrite(26, LOW); else if (R.actualTemp2 >= TempAus) digitalWrite(26, HIGH); if (R.actualTemp3 <= TempEin) digitalWrite(27, LOW); else if (R.actualTemp3 >= TempAus) digitalWrite(27, HIGH); if (R.actualTemp4 <= TempEin) digitalWrite(28, LOW); else if (R.actualTemp4 >= TempAus) digitalWrite(28, HIGH); if (R.actualTemp5 <= TempEin) digitalWrite(29, LOW); else if (R.actualTemp5 >= TempAus) digitalWrite(29, HIGH); }
i call that funktion every 500ms in loop.
But the values of R.actualTemp and S.getHystTemperature the value does not adjust, so they still at the moment when i start the program.
Do you know whats wrong, cause i call that funktion every 500ms and at the beginning "TempEin= ..." and S.getHystTemperature(); is already changing^@AlexKrammer
Hi
So it works fine the first time you run ?
Have you checked with debugger what happens when you read and set
R.actualTemp1 ?Its hard to guess from this code.