Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
NTC-Control
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
YONG-LIN SU
NTC-Control
Commits
8232ede4
Commit
8232ede4
authored
Jan 25, 2021
by
YONG-LIN SU
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
NTC Contorl Test
parents
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
130 additions
and
0 deletions
+130
-0
AD_NTC.py
AD_NTC.py
+39
-0
NTC.py
NTC.py
+45
-0
Relay_AD_NTC.py
Relay_AD_NTC.py
+46
-0
No files found.
AD_NTC.py
0 → 100644
View file @
8232ede4
import
time
import
pigpio
import
Adafruit_GPIO.SPI
as
SPI
import
Adafruit_MCP3008
import
math
SPI_PORT
=
0
SPI_DEVICE
=
0
SIGNAL_CHANNEL
=
0
PWM_LED_PIN
=
18
PWM_FREQ
=
800
mcp
=
Adafruit_MCP3008
.
MCP3008
(
spi
=
SPI
.
SpiDev
(
SPI_PORT
,
SPI_DEVICE
))
pi
=
pigpio
.
pi
()
def
GetTemperature
(
data
):
Rp
=
10000
T2
=
273.15
+
25
Bx
=
3950
;
Ka
=
273.15
#vol = data * (3.3/4096)
vol
=
(
data
*
3.3
)
/
float
(
1023
)
Rt
=
(
3.3
-
vol
)
*
1000
/
vol
print
(
Rt
)
if
((
Rt
/
Rp
)
<
0
):
return
-
1
else
:
return
1
/
(
1
/
T2
+
math
.
log
(
Rt
/
Rp
)
/
Bx
)
-
Ka
+
0.5
while
True
:
data
=
mcp
.
read_adc
(
SIGNAL_CHANNEL
)
#print(data)
if
(
data
!=
0
and
data
!=
1023
):
volts
=
(
data
*
3.3
)
/
float
(
1023
)
temp
=
GetTemperature
(
data
)
#temp = 0
print
(
data
,
volts
,
temp
)
time
.
sleep
(
0.1
)
NTC.py
0 → 100644
View file @
8232ede4
import
spidev
import
time
import
os
import
math
# open(bus, device) : open(X,Y) will open /dev/spidev-X.Y
spi
=
spidev
.
SpiDev
()
spi
.
open
(
0
,
1
)
# Read SPI data from MCP3008, Channel must be an integer 0-7
def
ReadADC
(
ch
):
if
((
ch
>
7
)
or
(
ch
<
0
)):
return
-
1
adc
=
spi
.
xfer2
([
1
,(
8
+
ch
)
<<
4
,
0
])
print
(
adc
)
#data = ((adc[1]&3)<<8) + adc[2]
data
=
((
adc
[
1
]
+
3
)
<<
8
)
+
adc
[
2
]
return
data
# Convert data to voltage level
def
ReadVolts
(
data
,
deci
):
volts
=
(
data
*
3.3
)
/
float
(
1023
)
volts
=
round
(
volts
,
deci
)
return
volts
def
GetTemperature
(
data
):
Rp
=
10000
T2
=
273.15
+
25
Bx
=
3950
;
Ka
=
273.15
vol
=
data
*
(
3.3
/
4096
)
Rt
=
(
3.3
-
vol
)
*
10000
/
vol
if
((
Rt
/
Rp
)
<
0
):
return
-
1
else
:
return
1
/
(
1
/
T2
+
math
.
log
(
Rt
/
Rp
)
/
Bx
)
-
Ka
+
0.5
count
=
0
while
(
count
<
10
):
data
=
ReadADC
(
0
)
vol
=
ReadVolts
(
data
,
2
)
#temp = GetTemperature(64)
#temp = 0
print
(
data
,
vol
)
count
+=
1
time
.
sleep
(
0.5
)
Relay_AD_NTC.py
0 → 100644
View file @
8232ede4
import
time
import
Adafruit_GPIO.SPI
as
SPI
import
Adafruit_MCP3008
import
math
import
RPi.GPIO
as
GPIO
SPI_PORT
=
0
SPI_DEVICE
=
0
SIGNAL_CHANNEL
=
0
PWM_LED_PIN
=
18
PWM_FREQ
=
800
mcp
=
Adafruit_MCP3008
.
MCP3008
(
spi
=
SPI
.
SpiDev
(
SPI_PORT
,
SPI_DEVICE
))
GPIO
.
setmode
(
GPIO
.
BCM
)
relay_port
=
21
relay
=
GPIO
.
setup
(
relay_port
,
GPIO
.
LOW
)
def
GetTemperature
(
data
):
Rp
=
10000
T2
=
273.15
+
25
Bx
=
3950
;
Ka
=
273.15
#vol = data * (3.3/4096)
vol
=
(
data
*
3.3
)
/
float
(
1023
)
Rt
=
(
3.3
-
vol
)
*
1000
/
vol
print
(
Rt
)
if
((
Rt
/
Rp
)
<
0
):
return
-
1
else
:
return
1
/
(
1
/
T2
+
math
.
log
(
Rt
/
Rp
)
/
Bx
)
-
Ka
+
0.5
while
True
:
data
=
mcp
.
read_adc
(
SIGNAL_CHANNEL
)
#print(data)
if
(
data
!=
0
and
data
!=
1023
):
volts
=
(
data
*
3.3
)
/
float
(
1023
)
temp
=
GetTemperature
(
data
)
if
(
round
(
temp
,
2
)
>
40.0
):
GPIO
.
output
(
relay_port
,
GPIO
.
LOW
)
elif
(
round
(
temp
,
2
)
<
39.9
):
GPIO
.
output
(
relay_port
,
GPIO
.
HIGH
)
#temp = 0
print
(
data
,
volts
,
temp
)
time
.
sleep
(
0.1
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment