Problema LM35...

Ciao, l'alimentazione e i collegamenti sono gli stessi in entrambi i casi... Anche mettendo 3.3 al posto di 5 ottengo sull'arduino UNO 16°C mentre sull'arduino NANO 18°C... Il codice che uso è questo:

#include <LiquidCrystal.h> //include la libreria per il funzionamento dell'lcd

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //settia le uscite di arduino per lcd
float tempC, tempK;      //dichiarazione di variabile
int tempPin = 0;  //inizializzazione del pin di Arduino

void setup() {

  lcd.begin(16, 2); // setta del numero delle colonne e delle righe
  
 }

void loop() {
  
      lcd.setCursor(0, 0);
      
   tempC = analogRead(tempPin);           
   tempC = (5.0 * tempC * 100.0)/1024.0; 
tempK = (tempC + 273);

  lcd.print(tempC);
  lcd.print(" C ");
    lcd.print(tempK);
  lcd.print(" K");

  delay(1000);

  lcd.clear();

}

Grazie mille...

Sia la UNO che la NANO usano il 328 a 5V. :roll_eyes:
Quindi con lo stesso codice non dovresti avere differenze nella lettura.

Inoltre:

tempK = (tempC + 273.15);

PaoloP:
Nella formula devi sostituire 5 con 3.3. :wink:

Paolo cosa vuol dire questo suggerimento?
Ciao Uwe

Inizialmente pensavo che il NANO fosse alimentato a 3.3V e fosse quella la tensione di riferimento dell'ADC. Poi ho visto che invece è un normale 328 a 5V. Quindi non ci dovrebbero essere differenze nel codice e nelle misure tra UNO e NANO.

PaoloP:
è un normale 328 a 5V. Quindi non ci dovrebbero essere differenze nel codice e nelle misure tra UNO e NANO.

E' così, Difatti è strano per questo

Visto che il LM35 da 10mV per °C basta un campo di misura fino a 1,1V.
È meglio attivare il riferimento interno da 1,1V e si é indipendente da delle instabilitá della tensione di alimentazione.

Ciao Uwe

Il fatto è che però il mio NANO non ha un 328 ma un atmega 128...Come posso fare?

inv3rse:
Il fatto è che però il mio NANO non ha un 328 ma un atmega 128...Come posso fare?

un 128? non ne avevo mai sentito parlare :cold_sweat:, allora prova a guardare il data-sheet e cerca di capire se l'ADC non ha una risoluzione diversa, nel qual caso ovviamente dovrai adeguare il firmware.
Comunque fai male ad ignorare il suggerimento che Uwe ti ha dato per ben due volte: se attivi il riferimento interno a 1,1V, che è molto preciso, le letture non saranno più influenzate dalle differenze di tensione delle alimentazioni; probabilmente (sempre che 128 e 328 operino alla stesso modo) le differenze stanno proprio nelle diverse alimentazioni che arrivano ai due micro.

Scusate, il Nano non lavora a 5 V ? :roll_eyes:

Comunque ho trovato questa guida: http://www.matbra.com/en/2012/09/23/sensor-de-temperatura-com-arduino-e-lm35-arduino-lm35/

I do with Arduino UNO/Nano,

dice l'autore

Ciao, hai ragione, per togliere ogni dubbio e l'eventualità di tutti i possibili errori, seguirò il consiglio di Uwe; credo proprio sia la soluzione migliore...

inv3rse:
Il fatto è che però il mio NANO non ha un 328 ma un atmega 128...Come posso fare?

Allora non é un Arduino NANO. Quello che abbiamo detto rispetto al Arduino NANO non vale per la Tua scheda.
Cosa dice il produttore?
Ciao Uwe

Si infatti, è un Meduino NANO... Devo guardare il datasheet...

Il datasheet dell'ATmega128 dice che l'Aref interno è di 2.56V oppure è dato dal riferimento esterno sul pin Aref.

PaoloP:
Il datasheet dell'ATmega128 dice che l'Aref interno è di 2.56V oppure è dato dal riferimento esterno sul pin Aref.

A me risulta col ATmega328.

Meduino Nano V3.0 Enchancement (Arduino-Compatible) 16MHz Atmel Atmega328P

Percui compatibile col Arduino NANO.
Ciao Uwe

Scusate, l'Atmega128 è un chip abbastanza diverso rispetto alla famiglia Atmega168/328. Per certi versi è più simile agli Atmega1280/2560. Siamo sicuri che questo Meduino NANO (si può avere un link) è compatibile con il NANO/Atmega328? come fa ad essere un Atmega128?

uwefed:

PaoloP:
Il datasheet dell'ATmega128 dice che l'Aref interno è di 2.56V oppure è dato dal riferimento esterno sul pin Aref.

A me risulta col ATmega328.

Meduino Nano V3.0 Enchancement (Arduino-Compatible) 16MHz Atmel Atmega328P

Percui compatibile col Arduino NANO.
Ciao Uwe

Pure a me risulta ci sia montato un 328 e quindi compatibile con la uno, 2009, nano.
Comunque sarebbe stato meglio lo avessi detto prima, si sarebbero evitati post inutili e quindi tempo.

Ciao.

Scusate tutti, andavo un po' di fretta e ho fatto confusione: il mio è un Meduino NANO (arduino compatibile) che monta un ATmega 168 e non 128...Scusate ancora...

Allora vale il 1,1V riferenza interna.

analogReference(INTERNAL);

Ciao Uwe

Perfetto, grazie mille, proverò facendo così...