Myślę że najlepszym rozwiązaniem będzie, jeśli przed przystąpieniem do projektowania układu, określisz konkretne założenia. Puki co określiłeś tylko, że MCU ma rozpoznawać jaki rodzaj czujnika jest podpięty i po rozpoznaniu mierzyć temperaturę z tego czujnika. Teraz żeby móc pójść dalej, musisz określić na jakim napięciu będziesz pracował. Czy 5V a może 3,3V. To ma znaczenie dla magistrali 1W. Określasz czy czujniki ds18B20 mają pracować w trybie z normalnym zasilaniem, czy może PARASITE. Co do czujników analogowych, wiemy że chcesz użyć termistora NTC. Żeby pójść dalej musisz określić się w jakim zakresie temperatur ma pracować i z jaką dokładnością. Dzięki temu będzie można dalej dyskutować o konstrukcji obwodów pomiarowych do nich.
Najprostszym rozwiązaniem dla NTC jest pół-mostek - czyli inaczej dzielnik napięcia. NTC podpinasz na górze do napięcia odniesienia (tego samego co ADC z MCU), na dole podpinasz dobrany do NTC rezystor (R1).
wzór na Vt:
Vt=(R1/(R1+Rt))*Vf
Dla uzyskania wyniku pomiaru masz:
ADC=(Vt/Vref)*1024 (jeżeli będziesz mierzył z max rozdzielczością 10 bit)
Po podstawieniu pierwszego równania do drugiego skraca nam się Vref i zostaje równanie:
ADC=(R1/(R1+Rt))*1024
Musisz zadbać aby rezystor R1 był stabilny temperaturowo i jak najdokładniejszy, w przeciwnym razie będzie Ci fałszował wyniki pomiarów. Skoro mamy wszystkie dane (wartość R1, wynik przetwarzania ADC) to z równania możemy wyznaczyć niewiadomą Rt ze wzoru:
Rt=((1024/ADC)-1)*R1
Dochodząc do tej wartości możemy w końcu obliczyć temperaturę na podstawie równania, które powinno znajdować się w nocie katalogowej do wybranego przez Ciebie NTC. Przykładowo takie równanie może wyglądać tak:
T(°C)=[b0+b1(lnRt)+b2(lnRt)²+b3(lnRt)³]^(-1)
W nocie katalogowej do NTC znajdziesz wszystkie współczynniki potrzebne do rozwiązania tego równania (jak i samo równanie), a od Ciebie już zależy czy MCU będzie obliczał temperaturę, czy może odczytywał wartości temperatury z uprzednio przez Ciebie przygotowanej tablicy wartości temperatur, dla zmierzonej rezystancji Rt. Myślę że w przypadku AVR to drugie rozwiązanie bedzie bardziej optymalne, ze względu na moc obliczeniową MCU.