Need Help Programming PIC16F628A for digital Thermometer

Status
Not open for further replies.

alvin_wj

New Member
Hi, i'm new in this hobby things . And sorry if my english bad. So without any further a do.

I'm trying to build a digital thermometer that use:

1x PIC16F628 (programmed with hex file)
1x 2x16 LCD with Backlight
2x DS18S20 1-Wire Digital Temperature Sensor
2x 1K Resistor
1x 7805 Voltage Regulator
1x Tactile Switch (Display Modes)

From the original website(PIC Dual Temperature Meter), it says that must use the DS18S20 sensors. In here quite hard to find that. So i use 2x DS18B20. Don't know what the different. But the store says, that if anyone looking for DS18S20 they give the DS18B20.

All the thing is on the place now. The problem is, i don't know that build this thing are quite hard (caused by the programming thing).
If you see the website. That is one picture like down here.
**broken link removed**

16.5°C 61°F
31.0°C 87°F

I want to make the LCD displaying:

CPU Temp XX.X°C
GPU Temp XX.X°C

In Indonesia, we use Celcius. Not Fahrenheit. The web says, that the sensors doesn't need to calibration. Cause they're digital.

Anyone can give me the code to make the LCD displaying

CPU Temp XX.X°C
GPU Temp XX.X°C

Thank you for your attention. If you looking for more information please look at the website. And one more thing, the site doesn't give the code / .hex file. For other project, they put the file on the download section.

BTW i have mikroBasic. And use MicroBrn to upload.
 
You need to know the dallas 1 wire protocol to deal with those sensors.

18B20 has an extended resolution than 18S20.

As you see the pictures in your project 18S20 has 0.5 C resolution accuracy unless you extend the resolution from the software.

If you use 18B20 it will still work but you are not getting the full resolution from 18B20 (this has upto 0.0625C).

If I use 1 wire devices I need at least 0.1C resolution accuracy.Otherwise no use of its price.
 
Last edited:
So you mean, that if i use 18B20 the display would be like

32.000°C
24.054°C

Or that would be unreliable ?

Could you help me make the code ? it's been a week. Still not get any progress.
 
So you mean, that if i use 18B20 the display would be like

32.000°C
24.054°C

Or that would be unreliable ?

Could you help me make the code ? it's been a week. Still not get any progress.

No,The original code is done for 0.5C resolution.Even if you put DS 18B20 it displays 0.5C accuracy.
 
No,The original code is done for 0.5C resolution.Even if you put DS 18B20 it displays 0.5C accuracy.

That's okay man. I'm not really need to be aacuracy to 0.5°C. 1°C accuracy is enough for me. I just want this thing to be working properly. And i don't know any thing about programming PIC.
 
The values displayed would be approximately 8 times too big or may not be displayed at all. The site you linked to has this as a commercial product and don't make the source code available. However, if you are able to write code then it is not too difficult to do this.

Mike.
 
You can either build kits as they are or take the time to learn how to make projects that work as you want them.

For people who want to program in Basic, Gramo (Stacy) has a very good website. He has a 16F877 based tutorial on one wire temperature sensors **broken link removed**

From the tutorial page


The tutorial uses the free demo version of Swordfish Basic and should work with any programmer.

But like with most things you need to walk prior to running. Start here
**broken link removed**
 
Last edited:

I really don't know anything about this. I'm really new to this hobby. Thanks anyway.
 

I'm going to check the web site. Thanks man.
 
I'm going to check the web site. Thanks man.

Glad to help. If you run into problems we can often help. You will find that it is a lot more fun once you can write your own programs and change the hardware a bit.

I mostly use C but can read Basic. There are others here that use Swordfish.

3v0
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…