user51277: I am new to Arduino and electronics in general and I can't get my MKR1000 to read correct data from a DS18B20 temperature sensor.
Here is the tutorial I followed.
The issue is: I always get the same readings from the sensor: -127.00. 
I should mention I have tried 2 different sensors and get the same readings.
From the sensor, GND goes directly to GND on the board, and I have the 4.7kΩ resistor in between the data and power wires.
According to the sensor manufacturer, output leads: Yellow (VCC), Red (DATA), Black (GND).
Data line is connected to the pin ~2 on the MKR1000.
/********************************************************************/
// First we include the libraries
#include <OneWire.h> 
#include <DallasTemperature.h>
/********************************************************************/
// Data wire is plugged into pin 2 on the Arduino 
#define ONE_WIRE_BUS 2 
/********************************************************************/
// Setup a oneWire instance to communicate with any OneWire devices  
// (not just Maxim/Dallas temperature ICs) 
OneWire oneWire(ONE_WIRE_BUS); 
/********************************************************************/
// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);
/********************************************************************/ 
void setup(void) 
{ 
 // start serial port 
 Serial.begin(9600); 
 Serial.println("Dallas Temperature IC Control Library Demo"); 
 // Start up the library 
 sensors.begin(); 
} 
void loop(void) 
{ 
 // call sensors.requestTemperatures() to issue a global temperature 
 // request to all devices on the bus 
/********************************************************************/
 Serial.print(" Requesting temperatures..."); 
 sensors.requestTemperatures(); // Send the command to get temperature readings 
 Serial.println("DONE"); 
/********************************************************************/
 Serial.print("Temperature is: "); 
 Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"?  
   // You can have more than one DS18B20 on the same bus.  
   // 0 refers to the first IC on the wire 
   delay(1000); 
}

Any idea what I am doing wrong?




user50469: Looks like you have it wired wrong.  A schematic would really help but it looks like you've got 5V going directly into the sensors data line (yellow wire) it's connected on your breadboard to the orange wire +5V.  The power wire of your temperature sensor (red wire) is running through a 4.7K resistor which is not likely what you wanted here either.

51277: <p>I am new to Arduino and electronics in general and I can't get my MKR1000 to read correct data from a DS18B20 temperature sensor.</p>

<p>Here is the <a href="https://create.arduino.cc/projecthub/TheGadgetBoy/ds18b20-digital-temperature-sensor-and-arduino-9cc806" rel="nofollow noreferrer">tutorial</a> I followed.</p>

<p><strong>The issue is</strong>: I always get the same readings from the sensor: <code>-127.00</code>. </p>

<p>I should mention I have tried 2 different sensors and get the same readings.</p>

<p>From the sensor, GND goes directly to GND on the board, and I have the 4.7kΩ resistor in between the data and power wires.</p>

<p>According to the sensor manufacturer, output leads: Yellow (VCC), Red (DATA), Black (GND).</p>

<p>Data line is connected to the pin <code>~2</code> on the MKR1000.</p>

<pre><code>/********************************************************************/
// First we include the libraries
#include &lt;OneWire.h&gt; 
#include &lt;DallasTemperature.h&gt;
/********************************************************************/
// Data wire is plugged into pin 2 on the Arduino 
#define ONE_WIRE_BUS 2 
/********************************************************************/
// Setup a oneWire instance to communicate with any OneWire devices  
// (not just Maxim/Dallas temperature ICs) 
OneWire oneWire(ONE_WIRE_BUS); 
/********************************************************************/
// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&amp;oneWire);
/********************************************************************/ 
void setup(void) 
{ 
 // start serial port 
 Serial.begin(9600); 
 Serial.println("Dallas Temperature IC Control Library Demo"); 
 // Start up the library 
 sensors.begin(); 
} 
void loop(void) 
{ 
 // call sensors.requestTemperatures() to issue a global temperature 
 // request to all devices on the bus 
/********************************************************************/
 Serial.print(" Requesting temperatures..."); 
 sensors.requestTemperatures(); // Send the command to get temperature readings 
 Serial.println("DONE"); 
/********************************************************************/
 Serial.print("Temperature is: "); 
 Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"?  
   // You can have more than one DS18B20 on the same bus.  
   // 0 refers to the first IC on the wire 
   delay(1000); 
}
</code></pre>

<p>Any idea what I am doing wrong?</p>

<p><a href="https://i.stack.imgur.com/XNiZL.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/XNiZL.jpg" alt="enter image description here"></a>
<a href="https://i.stack.imgur.com/Q38Xb.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Q38Xb.jpg" alt="enter image description here"></a>
<a href="https://i.stack.imgur.com/8cOGk.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8cOGk.jpg" alt="enter image description here"></a></p>
 50469: <p>Looks like you have it wired wrong.  A schematic would really help but it looks like you've got 5V going directly into the sensors data line (yellow wire) it's connected on your breadboard to the orange wire +5V.  The power wire of your temperature sensor (red wire) is running through a 4.7K resistor which is not likely what you wanted here either.</p>
