Taisomas DS18b20

Jump to navigation Jump to search

Dėmesio: Jūs nesate prisijungęs. Jūsų IP adresas bus viešai matomas, jei atliksite kokius nors keitimus. Jeigu prisijungsite arba sukursite paskyrą, jūsų keitimai bus priskirti jūsų naudotojo vardui; drauge įgysite naujų galimybių.

Keitimas gali būti atšauktas. Prašome patikrinti palyginimą, esantį žemiau, kad patvirtintumėte, kad jūs tai ir norite padaryti, ir tada išsaugokite pakeitimus, esančius žemiau, kad užbaigtumėte keitimo atšaukimą.

Dabartinė versija Jūsų tekstas
8 eilutė: 8 eilutė:
 
== RaspberryPI pajungimas naudojant 4.7k Ohm rezistorių ==
 
== RaspberryPI pajungimas naudojant 4.7k Ohm rezistorių ==
  
=== Standartinis jungimas ===
 
 
[[Vaizdas:35139160190 cea3435a09 b.jpg]]
 
[[Vaizdas:35139160190 cea3435a09 b.jpg]]
  
 +
Alternatyvus jungimas, kai standartiniai pinai jau yra užimti
  
=== Alternatyvus jungimas, kai standartiniai pinai jau yra užimti ===
+
PIN17 - VCC (Raudonas)
 
+
PIN14 - GND (Juodas)
[[Vaizdas:Termpo gpio209287.jpg|600px]]
+
PIN11 - DATA (Geltonas)
 
 
[[Vaizdas:Termpo gpio43250897.jpg|600px]]
 
 
 
* PIN17 - VCC (Raudonas)
 
* PIN14 - GND (Juodas)
 
* PIN11 - DATA (Geltonas)
 
  
 
Taip pat galima jungti kelis sensorius, tokia tvarka:
 
Taip pat galima jungti kelis sensorius, tokia tvarka:
29 eilutė: 23 eilutė:
  
 
Įgalinam wire 1 overlay, į /boot/config.txt įrašome šią eilutę:
 
Įgalinam wire 1 overlay, į /boot/config.txt įrašome šią eilutę:
  dtoverlay=w1-gpio,gpiopin=17
+
  dtoverlay=w1-gpio
 
Išsaugome ir perkrauname [[RaspberryPI]]. Perkrovus turėtų atsirasti šie įrenginiai:
 
Išsaugome ir perkrauname [[RaspberryPI]]. Perkrovus turėtų atsirasti šie įrenginiai:
 
  ls /sys/bus/w1/devices
 
  ls /sys/bus/w1/devices
Daugiau [https://pinout.xyz/pinout/1_wire apie wire 1 sąsają]. DĖMESIO! Jungiant standartiškai kai standartiniai pinai nėra užimti, žiūr. pav. 1, nereikia prirašyti gpiopin parametro, tuomet duomenys eis standartiškai per PIN 7.
 
 
=== Python scriptas temperatūrai nuskaityti ===
 
  
<syntaxhighlight lang="python">
 
#!/usr/bin/env python
 
import os
 
import glob
 
import time
 
 
os.system('modprobe w1-gpio')
 
os.system('modprobe w1-therm')
 
 
base_dir = '/sys/bus/w1/devices/'
 
device_folder = glob.glob(base_dir + '28*')[0]
 
device_file = device_folder + '/w1_slave'
 
 
def read_temp_raw():
 
    f = open(device_file, 'r')
 
    lines = f.readlines()
 
    f.close()
 
    return lines
 
 
def read_temp():
 
    lines = read_temp_raw()
 
    while lines[0].strip()[-3:] != 'YES':
 
        time.sleep(0.2)
 
        lines = read_temp_raw()
 
    equals_pos = lines[1].find('t=')
 
    if equals_pos != -1:
 
        temp_string = lines[1][equals_pos+2:]
 
        temp_c = float(temp_string) / 1000.0
 
        temp_f = temp_c * 9.0 / 5.0 + 32.0
 
        return temp_c, temp_f
 
 
while True:
 
print(read_temp())
 
time.sleep(1)
 
</syntaxhighlight>
 
  
 
=== Python scriptas temperatūrai nuskaityti (jeigu naudojami keli sensoriai) ===
 
=== Python scriptas temperatūrai nuskaityti (jeigu naudojami keli sensoriai) ===

Primename, kad viskas, kas patenka į Žinynas, yra skelbiama pagal GNU Free Documentation License 1.2 (plačiau – Žinynas:Autorinės teisės). Jei nenorite, kad jūsų indėlis būtų be gailesčio kaitaliojamas ir platinamas, nerašykite čia.
Jūs taip pat pasižadate, kad tai jūsų pačių rašytas turinys arba kopijuotas iš viešų ar panašių nemokamų šaltinių. Nekopijuokite autorinėmis teisėmis apsaugotų darbų be leidimo!

Kad apsaugotume vikį nuo automatinio keitimų šlamšto, prašome išspręsti šį CAPTCHA:

Atšaukti Kaip redaguoti (atsidaro naujame lange)