oneWire (DS18B20 ) und PWM (mehrere PINS)

Ja ,
Verdient hast Du es ja nach dem letzten Kommentar nicht, was soll denn das.
ich hab´s einfach mal probiert hat 10 min gedauert , hättest Du doch auch geschafft.
Also das simpe Beispiel aus der lib um 6 Zeilen erweiter.
Hardware UNO
eine LED , Temp Sensor
Heinz

// Include the libraries we need
#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2
byte pwmpin = 3;

// 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);

/*
   The setup function. We only start the sensors here
*/
void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // Start up the library
  sensors.begin();
}

/*
   Main function, get and show the temperature
*/
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 temperatures
  Serial.println("DONE");
  // After we got the temperatures, we can print them here.
  // We use the function ByIndex, and as an example get the temperature from the first sensor only.
  float tempC = sensors.getTempCByIndex(0);

  // Check if reading was successful
  if (tempC != DEVICE_DISCONNECTED_C)
  {
    Serial.print("Temperature for the device 1 (index 0) is: ");
    Serial.println(tempC);
  }
  else
  {
    Serial.println("Error: Could not read temperature data");
  }

  // das dazu 
  int stell = tempC * 10-250;// auf int zum Mappen
  //Serial.println(stell);
  if (stell <0) stell=0;
  if (stell >20) stell=20;
  int out = map(stell, 0, 20, 0, 255);
  analogWrite(pwmpin, out);
}

TO gebannt wegen Beleidigung.
Uwe