1-wire temperature sensing on IND I/O D21G

I am very new to the Industruino, although I have been developing Arduino systems for some years.

I need to connect multiple temperature sensors to the IND I/O D21G, and planning to use the MAXIM DS18B20 using the 1-wire interface. I have previously done this on Arduino NANO and MEGA without a problem using the Arduino OneWire library, downloaded from arduinolibraries.info.

  • I have a piece of code that I have tested and runs on the MEGA.
  • I have built my small 1-wire network of three DS18B20s, terminated with a 4.7K resistor. I have tested this on a MEGA and it works.
  • I have moved my 1-wire network across to the Industruino, connecting +5V power and ground to CH1/ISO1 and setting the output of CH1 to +5V. The data line is connected to the D2 line on the 14-pin IDC Expansion Port.

When I run my software, the the temperature sensors are not found, prompting the message 'Nothing Found' in my code below:

// DS18S20 Temperature chip i/o
OneWire ds(2);                                                 // on pin 2

void setup(void)
{
  lcd.begin();

  Indio.analogWriteMode( 1, V10_p );        // << Provide a 5V output on 
  Indio.analogWrite( 1, 50, true );                // CH1 for the 1-wire network
}

void loop(void)
{

  byte addr[8];
  ds.reset_search();

  if ( !ds.search(addr))                                         // Nothing is found at this point
  {
    lcd.setCursor( 0, 2 );
    lcd.print("Nothing Found");
  }
....

I have tried reducing the number of temperature probes to one, but this made no difference. I have checked that power is getting through to the probes and double checked that they still work by connecting them back to the Arduino.

I'm clearly doing something stupid, but cannot fathom what it is. Can anybody help?

Michael Boxwell
Michael Boxwell
4
| 2 1 1
Asked on 9/13/18, 5:33 PM
0
vote
3010 Views

Hi, 

The D2 pin is used for I2C communication with the I/O expander on the INDIO board, so please don't use for any other purpose, see https://github.com/Industruino/libraries#idc-pinout

You can use the 5V available on the IDC connector, and e.g. D7 with a pull-up resistor to 5V.

The analog output channel can only provide a tiny amount of power, so better not use it. Also, it is isolated from the MCU, so if you really insist to use it, you have to connect the GNDs (GND on the IDC and analog GND).

Tom
Tom
5675
| 1 1 3
Answered on 9/14/18, 3:28 AM
1
vote

See? I told you I was doing something stupid! Thank you for your reply, Tom.

I have now connected the 1-wire network to the +5V, GND and D6 connectors on the IDC connector and everything is working perfectly.

Michael Boxwell
Michael Boxwell
4
| 2 1 1
Answered on 9/14/18, 7:06 AM
0
vote

Your answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

Ask a Question

Keep Informed

About This Forum

This community is for professionals and enthusiasts of our products and services.

Read Guidelines

Question tools

47 follower(s)

Stats

Asked: 9/13/18, 5:33 PM
Seen: 3010 times
Last updated: 9/14/18, 7:06 AM