Dallas 1-Wire Support
- Support for Dallas 1 Wire is included on Kernel 4.9.34 and upwards. Make sure you are updated.
- Will cover an example of a temperature sensor well known DS1820 other 1 wire IC's are supported too.
Default GPIO for 1-Wire is Pin #26 XE.INT16 (GPX2.0)
XU3 / XU4 CON10(30 pin) All GPIO and AIN pins use VDD_IO (1.8V) for the signals.
So the level converter is required to connect the sensor.
Hardkernel Shifter-Shield is not working well with multiple 1-wire devices due to a timing issue.
So we used Sparkfun Level converter board
- Connection: Level converter
CON10 Pin 1 (P5V0): Level converter HV
CON10 Pin 2 (GND): Level converter GND
CON10 Pin 29 (VDD_IO): Level converter LV
CON10 Pin 30 (GND): Level converter GND
CON10 Pin 26 (XE.INT16): Level converter LV1
Sensor signal : Level converter HV1
- Connection: With External-Supply
Pin 1 (Left): Ground (-)
Pin 2 (Middle): Level converter HV1
Pin 3 (Right): VCC (3.3V)
You also need to add a resistor from 4.7k to 10k between pin 2.
- Connection: Supplying the Parasite-Powered
Pin 1 (Left): Ground (-)
Pin 2 (Middle): Level converter HV1
Pin 3 (Right): Ground (-)
You also need to add a resistor from 4.7k to 10k between pin 2.
- Load the required kernel modules:
modprobe w1-gpio && modprobe w1-therm
- Check if your sensor is working:
odroid@odroid:~$ cd /sys/bus/w1/devices/ odroid@odroid:/sys/bus/w1/devices$ ls 10-000802f3be04 w1_bus_master1 odroid@odroid:/sys/bus/w1/devices$
As you can see my sensor is detected as 10-000802f3be04, each sensor has a different id. So yours will be different.
- Read the temperature:
odroid@odroid:/sys/bus/w1/devices$ cd 10-000802f3be04 odroid@odroid:/sys/bus/w1/devices/10-000802f3be04$ cat w1_slave 37 00 4b 46 ff ff 06 10 da : crc=da YES 37 00 4b 46 ff ff 06 10 da t=27375 odroid@odroid:/sys/bus/w1/devices/10-000802f3be04$
Temperature is t=27375 or 27.375 degree's Celsius.
Multiple sensors can be connected on the same line as the draw below.
odroid@odroid:/sys/bus/w1/devices$ ls 10-000802f384e2 10-000802f3be04 w1_bus_master1 odroid@odroid:/sys/bus/w1/devices$
Two sensors in parallel.