Pagina 2 di 4 PrimaPrima 1234 UltimaUltima
Risultati da 11 a 20 di 39
  1. #11
    Calma di vento
    Data Registrazione
    13/07/23
    Località
    Sassari
    Messaggi
    22
    Menzionato
    0 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    In sostanza dalle ricerche che ho fatto per creare una piccola stazione che misuri la temperatura interna e esterna occorrono ovviamente due sensori e dei radiocontrolli, un trasmettitore e ricevitore RF Wireless che si interfacciano, la stazione dunque è composta sempre da due SBC o dei microcontroller, una coppia Raspberry zero o Arduino nano penso siano adatti allo scopo.


    PierAisa #495: Moduli 433MHz RadioControlli con Arduino NANO - YouTube

    PierAisa #495: Moduli 433MHz RadioControlli con Arduino NANO - YouTube

    Moduli Radiofrequenza e Moduli IoT - Moduli Radiofrequenza 433/868MHz

    Radiofrequency Modules and IoT Modules - RF Modules 433/868/915MH and IoT modules

    Arduino Tutorial: 433Mhz Wireless modules basic setup and example using DHT22 temperature sensor. - YouTube

    Arduino Tutorial: 433Mhz Wireless modules basic setup and example using DHT22 temperature sensor. - YouTube


    @zoomx mi spiegavi che hai una stazione con un sistema simile, non ho idea se è identica a quella che voglio realizzare io con i moduli RF, sul forum magari qualcuno ha già realizzato il progetto e mi può dire se funziona, il problema è anche l'alimentazione, da quanto ho capito Arduino e Raspberry consumano abbasta, alimentarli a batterie penso sia difficile, no sono molto convinto, magari non conviene fare tutto questo lavoro, con 20€ si trovano delle stazioni già pronte con il sensore esterno.

    Certo una stazione singola senza radiocontrolli da quanto ho visto è più facile da realizzare, purtroppo non avrei la temperatura esterna pazienza.

    Tra le stazioni commerciali secondo voi quali sono le più precise ? Alcuni di voi ho visto che hanno anche questa della Lidil:

    https://volantinolidl.it/prodotto/st...diocontrollata
    Ultima modifica di marck120; 20/07/2023 alle 03:33

  2. #12
    Burrasca
    Data Registrazione
    18/09/19
    Località
    Catania
    Messaggi
    5,080
    Menzionato
    151 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    Modifico il messaggio perché l'avevo scritto su notepad e incollato qui e si è mangiato tutti i ritorni a capo.

    Ti anticipo subito che la costruzione di un sensore esterno via radio che consumi poco come quelli commerciali è difficile da realizzare con Arduino. Quelli commerciali usano microcontrollori a basso consumo che campano con 2 stilo.

    Ogni sensore va proprio con la sua console. Proprio quelli Oregon (marchio che sta andando a morire, almeno per il meteo) non sono neanche universali, ci sono almeno 3 protocolli diversi Oregon. E difatti esiste in rete una tabella con le compatibilità.

    Schede Arduino ce ne sono diverse, la Arduino UNO R3 è la più comune. Ma consuma un pochino, parliamo sempre di mA ma il consumo c'è. Non è pensata per andare a batteria per mesi.

    I sensori che ti ho indicato in basetta sono identici a quelli che trovi nelle stazioni meteo, fa eccezione Davis che si fa fare lo stesso sensore ma con un protocollo di comunicazione diverso. Ma il dato è uguale.

    I sensori wireless in genere usano una trasmissione semplificata, non il WiFi (che anch'esso è "radio"), sia per questione di costi che di consumi. Di fatto trasmettono senza curarsi se il segnale sarà poi ricevuto o meno da qualcuno, come un beacon.

    Una stazione come questa
    SH115 - Mini stazione meteo - YouTube
    che hai linkato è uno degli innumerevoli esempi che esistono. Solo che il DHT11 è un sensore molto scarso, almeno andrebbe sostituito con il DHT22. Ma si può adattare anche ai Sensirion, cambiando lo sketch.
    Ecco un elenco di componenti
    Arduino UNO R3
    Cavo usb di collegamento
    SHT31
    Cavetti Dupont di collegamento, dovrebbero essere femmina-maschio, femmina per il collegamento alla schedian SHT31 e maschio per collegarsi alla scheda Arduino.

    Questo se colleghi l'Arduino direttamente ad un PC. Se passiamo al collegamento radio servono
    Una coppia radio trasmettitore-ricevitore, con antenne o meno dipende dal modulo.
    Un altro Arduino per ricevere la trasmissione
    Quello che serve per collegare batterie al trasmettitore.

    Questo modulo radio è il più economico, a 433MHz
    https://it.aliexpress.com/item/32467257826.html
    che richiede antenne come queste, frequenza 433MHz
    https://it.aliexpress.com/item/32962433768.html

    oppure una coppia di questi
    https://it.aliexpress.com/item/4000030099206.html
    che, al contrario dei primi, hanno uno schema di trasmissione più sofisticato, inoltre mentre i primi sono un modulo trasmittente e uno ricevente, questi sono ricetrasmittenti.

    Ma come hai visto ci sono anche altri moduli.Il collegamento del sensore esterno lo fai via radio. Lo colleghi ad un Arduino e quello trasmette via radio ad un arduino collegato ad un pc. Ma se vedi in rete ci sono anche persone che si autocostruiscono console, aggiungendo schermini LCD.
    Come ti ho detto però ci sono innumerevoli soluzioni e quindi anche componenti.

    Io attualmente ho un sistema commerciale GW1000 Ecowitt (3) con parecchi sensori (6).Poi ho un paio di trasmettitori commerciali economici di cui non ho le console ma li decodifico con un Arduino. Il problema è che il venditore originale non c'è più ed esistono trasmettitori identici di aspetto ma che poi usano protocolli diversi. Io li ho presi quando costavano meno di 5 euro, fu una scommessa capire quale protocollo usassero.


    Per finire. E' anche possibile usare sensori professionali ma i costi salgono di parecchio. In questo caso una PT100 di classe A che di per se costerebbe poco ma se la vuoi calibrata hai costi di centinaia di euro.C'è poi una schedina per gestirlo collegabile ad Arduino.

    Se ti piace smanettare il mio consiglio sarebbe quello di iniziare con un Arduino, un sensore e i cavetti. Se non trovi ostacoli insormontabili si va avanti.

    Tieni anche conto che è estate e molti, compreso me, andranno in vacanza.

  3. #13
    Calma di vento
    Data Registrazione
    13/07/23
    Località
    Sassari
    Messaggi
    22
    Menzionato
    0 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    @zoomx

    Ti ringrazio tantissimo per spiegazioni, ma anche a me mi incolla tutto, ci perdo diverso tempo a staccare il testo e i link.

    Ecco come mi hai confermato il problema più grosso è alimentare il sensore esterno, ma non esistono microcontrollori a basso consumo da utilizzare al posto dell' Arduino ? tipo il Banana Pi BPI-Pico W ESP32-S3 per esempio.

    Da quanto ho capito si tratta di consumi altissimi, delle stilo le scaricherebbe in poche ore.

    Calcolo consumo per alimentazione a batteria - Italiano / Hardware - Arduino Forum

    Calcolo consumo per alimentazione a batteria - Hardware - Arduino Forum

    Boh se non esistono delle soluzioni per alimentare il sensore esterno forse è meglio lasciar perdere il collegamento radio, poi una coppia di Arduino UNO Rev3 viene già circa 60€

    Certo esistono i pannellini solari ma diventerebbe un sistema caro e troppo complicato

    Impianto Solare FAI da TE per alimentare un Arduino o ESP32 - YouTube

    Impianto Solare FAI da TE per alimentare un Arduino o ESP32 - YouTube


    Si alla lista dei componenti ovviamente va aggiunto il display, la maggior parte sono piccolissimi intendevi tipo questi quelli autocostruiti:

    AZDelivery 1.3 pollici Display OLED I2C SSH1106 Chip 128 x 64 Pixel I2C Modulo di Visualizzazione dello Schermo con Caratteri Bianchi compatibile con Arduino e Raspberry Pi incluso un E-Book!

    Display



    AZDelivery Display SPI TFT 128 x 160 Pixel da 1,8 Pollici compatibile con Arduino e Raspberry Pi con E-Book! : Amazon.it: Informatica

    Ci dispiace


    PROGETTO Arduino: Stazione Meteo Touch-Screen con Nextion Display - YouTube
    PROGETTO Arduino: Stazione Meteo Touch-Screen con Nextion Display - YouTube


    Display LCD - Schermo LCD TFT da 3,5 "Modulo 480x320 per scheda Arduino UNO e MEGA 2560 (Size : Without touch panel) : Amazon.it: Commercio, Industria e Scienza

    Ci dispiace

    Waveshare 4.2 Inch E-Paper Display Module Kit 400 x 300 Resolution 3.3v/5v E-ink Electronic Screen with Embedded Controller SPI Interface for Raspberry Pi/Jetson Nano/Arduino,Support Full Refresh : Amazon.it: Informatica

    https://www.amazon.it/Module-200-Resolution-Electronic-Communicating-4-2inch/dp/B074NR1SW2/ref=sr_1_15?__mk_it_IT=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid= 1MNU8W6LTY99E&keywords=waveshare%2Bdisplay%2Barduino&qid=168 9907946&sprefix=waveshare%2Bdisplay%2Barduino%2Caps%2C106&sr =8-15&th=1#customerReviews


    E-paper display with ESP32 using Arduino IDE | 4.2'' E-ink Display from waveshare | LCSC - YouTube
    https://www.youtube.com/watch?v=mySnfyyL4i4&t=607s

    Guardavo anche se esisteva qualche case, molti lo creano con la stampante 3D.

    Esistono delle cose del genere ma a parte che non sono belli da vedere bisognerebbe capire se ci sta tutto dentro:

    Housing case cover shell custodia Display LCD 2004 20x4 I2C - Arduino Raspberry | eBay

    Housing case cover shell custodia Display LCD 2004 20x4 I2C - Arduino Raspberry | eBay

    LCD 2004 + 1602 HOUSING case cover shell custodia Display - Arduino Raspberry | eBay

    https://www.ebay.it/itm/274298195406

    Custodia per Arduino Uno con LCD Keypad Shield v1.1 Botland - Robotic Shop

    https://botland.store/arduino-casing...422362942.html

    Arduino Uno z LCD Keypad Shield v2.0 case – box trans | eBay

    https://www.ebay.it/itm/112202408985

    Enclosure Housing for Arduino UNO with LCD keypad shield - YouTube

    https://www.youtube.com/watch?v=JL4xkiRmVHo&t=42s

    Case for Arduino Uno with LCD Keypad Shield v1.1 - transparent

    https://www.anodas.lt/en/case-for-ar...-1-transparent

    How To Use Arduino LCD Keypad Shield - YouTube
    https://www.youtube.com/watch?v=Sf96riu27QI&t=274s

    Enclosures with displays - Using Arduino / Project Guidance - Arduino Forum
    https://forum.arduino.cc/t/enclosure...plays/656837/7

    Alla tua GW1000 Ecowitt è possibile abbinare una piccola console ? leggere i dati su smartphone non mi piace, è molto più bella una console da tenere sul mobile, ho letto la tua recensione, forse adesso fanno il modello Ecowitt GW1104

    Ecowitt GW-1000 e WH32 - Esperienza di installazione e configurazione
    Ecowitt GW-1000 e WH32 - Esperienza di installazione e configurazione

    I trasmettitori commerciali con cui decodifichi con l'Arduino quali sono ? mi spiegavi che il venditore originale non c'è più ed esistono trasmettitori identici, usando protocolli diversi mi pare di capire che non funziona più con l'arduino.

    La PT100 di classe A vedo che è come una sonda, senza la calibrazione ovviamente riporterà misure errate.

    Si mi piace smanettare ma voglio anche evitare di impazzire dietro a mille impostazioni, comunque è una cosa già testata diciamo, dovrebbe funzionare, innanzi tutto devo avere uno schema dei collegamenti davanti da seguire, e poi un tutorial ben fatto (meglio in italiano) per le varie configurazioni, se ci sono intoppi ho bisogno di qualcuno che mi segue, si la guida "SH115 - Mini stazione meteo" è ben fatta e spiega tutti i passaggi ma non va bene per l'Arduino, non so se conosci qualche tutorial specifico.

    I radiocontrolli (affinché i dati vengano ricevuti dal sensore esterno) non ho idea se complicano ulteriormente le configurazioni, se funzionano meglio come mi dicevi conviene prendere i HC-12 SI4463, questi dicono che sono di buona qualità:

    Moduli Radiofrequenza e Moduli IoT - Moduli Radiofrequenza 433/868MHz

    Radiofrequency Modules and IoT Modules - RF Modules 433/868/915MH and IoT modules

    Tra le stazioni commerciali ho trovato la AcuRite 01083 Pro :

    Amazon.com: AcuRite 01083 Pro - Monitor de temperatura y humedad para interiores (versión original) : Patio, Césped y Jardín

    Sorry! Something went wrong!

    Dicono che ha il sensore sht3x, penso sia diverso dal SHT31:

    Datasheet_SHT3x_DIS.pdf

    https://sensirion.com/media/document..._SHT3x_DIS.pdf

    Niente tra i commenti ho letto questo, un tipo che l'ha smontata con tanto di foto:

    nota: questo sensore utilizza l'SHT30, non il più preciso SHT31 o SHT35



    Anche il sensore SHT85 dicono sia preciso:

    SHT85 - Arduino - WIKI
    https://wiki.liutyi.info/display/ARDUINO/SHT85

    SHT3x - Arduino - WIKI
    https://wiki.liutyi.info/display/ARDUINO/SHT3x

    Mi domando cosa gli costava montare un sensore di qualità nelle piccole stazioni meteo commerciali, mi riferisco a quelle portatili.

    Avrei trovato anche questi modelli:

    Termometri/igrometri digitali per interni – Taylor USA

    https://www.taylorusa.com/collection...rs-hygrometers



    SHT31 Smart Gadget Development Kit Sensirion

    https://developer.sensirion.com/arch...-kit/Sensirion

    Environmental Sensor Shield - Recensione - element14 Community

    https://community.element14.com/prod...n_environmen_3




    Non esistono termometri digitali commerciali con il sensore SHT31 integrato ?

    Compare different i2c temperature and humidity sensors (SHT2x, SHT3x, SHT85, ..) - Using Arduino / Sensors - Arduino Forum
    https://forum.arduino.cc/t/compare-d...ht85/599609/32

    L'SHT31-D su amazon viene 27€ e su aliexpress 1,59€, mi sembra strano.

    Adafruit Sensiron SHT31-D Temperature & Humidity Sensor Breakout : Amazon.it: Commercio, Industria e Scienza

    https://www.amazon.it/Adafruit-Sensi.../dp/B01GQFUY0I

    SHT31 temperatura SHT31-D modulo sensore di umidità microcontrollore IIC I2C Breakout meteo 3V 5V conforme per Arduino - AliExpress

    https://it.aliexpress.com/item/32954...yAdapt=glo2ita

    Sketch è il software per la compilazione:

    Guida al software di Arduino IDE sketch - PROGETTI ARDUINO
    https://www.progettiarduino.com/guid...de-sketch.html

    Così come l'arduino, 28,29€ di Amazon contro i 2,85€ di Aliexpress, o non sono originali su Aliexpress boh:

    Arduino UNO Rev3 [A000066] : Amazon.it: Informatica

    https://www.amazon.it/Arduino-Uno-Re.../dp/B008GRTSV6

    1Set UNO R3 scatola ufficiale ATMEGA16U2 / UNO + WiFi R3 MEGA328P Chip CH340G per scheda di sviluppo Arduino UNO R3 WeMos ESP8266 - AliExpress

    https://it.aliexpress.com/item/10050...7_1#nav-review


    ----------------------------------------------------------------------------------------

    EDIT:

    Leggo adesso che la tua Ecowitt GW-1000 e WH32 ha l'ottimo sensore SHT35, se si potesse abbinare una piccola console sarebbe l'ideale:

    WH32_EP Outdoor Temperature and Humidity Probe Sensor (SHT35)

    https://www.ecowitt.com/shop/goodsDetail/91

    Ci sono le console compatibili ma costano care:

    Compatibilità delle varie console/sensori dei prodotti FINE OFFSET
    Compatibilità delle varie console/sensori dei prodotti FINE OFFSET
    Ultima modifica di marck120; 21/07/2023 alle 14:06

  4. #14
    Burrasca
    Data Registrazione
    18/09/19
    Località
    Catania
    Messaggi
    5,080
    Menzionato
    151 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    Vedo che ti sei buttato a pesce e stai sguazzando nell'oceano di progetti e progettini che esistono.

    SHT3x indica la famiglia di sensori che ha il 3 come primo numero, quindi SHT30, 31 e 35. Adesso c'è anche la SHT4x. Il 30 è il più economico di tutti, ecco perché viene usato parecchio.

    Ecowitt, si spinta degli utenti anche di qua dentro, ha realizzato il WH32-EP (penso sia External Probe cioè sonda esterna), un WH32 con un SHT35 collegato con una sonda esterna che va messa in uno schermo solare.
    Questo si interfaccia sia con il GW1000 e successori, sia con la piccola console WN1900 e successive. Io ho la WN1900.

    Qui trovi tutte le compatibilità fra sensori e console, è in inglese, il tuo link di Ivan è la traduzione in italiano ma da allora ci sono stati parecchi aggiornamenti
    MUST READ - Fine Offset Clone Models,sensor compatibility,firmware + other info
    In italiano si trova molto meno ma per stazioni meteo si trova abbastanza.

    Non ti buttare subito su qualcosa di complicato altrimenti rischi di bloccarti. PArti da roba semplice e via via aggiungi pezzi.

    Realizzare un sensore a basso consumo è un'arte che io ancora non padroneggio, in questo campo sono autodidatta. Quelli commerciali fanno uso di microcontrolliri che in commercio non trovi singoli, te li vendono a lotti di mille e più.
    Colui che ha una abbondante esperienza è Edward Mellon che tiene un blog in inglese qui
    Underwater Arduino Data Loggers
    Lui costruisce datalogger, cioè la misurazione non viene trasmessa ma registrata su microSD ma spiega in modo dettagliato come ridurre il consumo. Purtroppo il blog è un po' disordinato.
    Lui usa l'Arduino Pro Micro, clone cinese di 2-3 euro su Aliexpress, dove dissalda il piccolo led rosso che indica che è acceso e elimina un regolatore di tensione.

  5. #15
    Calma di vento
    Data Registrazione
    13/07/23
    Località
    Sassari
    Messaggi
    22
    Menzionato
    0 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    @zoomx

    Grazie per le spiegazioni

    Si ho fatto diverse ricerche, riguardo gli Ecowitt mi pare di capire che la soluzione più economica con sensore SHT35 è la sonda WH32-EP con la console WN1900 di cui mi parlavi.

    WN32_EP(WH32_EP) all'aperto – Ecowitt

    WN32_EP(WH32_EP) Outdoor
    – Ecowitt


    WN1900 – Ecowitt

    WN1900
    – Ecowitt


    Si sono d'accordo, inutile realizzare progetti complicati. La procedura di installazione con i componenti in questione dovrebbe essere pressappoco questa.

    Lista componenti:

    -Arduino UNO N.2
    -Display LCD 16x2 con modulo I2C
    -Sensore SHT31 N.2
    -Ricevitore RCRX3-434
    -Trasmettitore ASK/OOK RC-TX1-434

    Collegamenti:

    Arduino 1 (con Display, Sensore SHT31 e Ricevitore RCRX3-434):

    Collegare il pin VCC del display 16x2 con modulo I2C al pin 5V dell'Arduino.
    Collegare il pin GND del display 16x2 con modulo I2C al pin GND dell'Arduino.
    Collegare il pin SDA del display 16x2 con modulo I2C al pin A4 dell'Arduino.
    Collegare il pin SCL del display 16x2 con modulo I2C al pin A5 dell'Arduino.
    Collegare il pin VCC del sensore SHT31 al pin 5V dell'Arduino.
    Collegare il pin GND del sensore SHT31 al pin GND dell'Arduino.
    Collegare il pin SDA del sensore SHT31 al pin A4 dell'Arduino.
    Collegare il pin SCL del sensore SHT31 al pin A5 dell'Arduino.
    Collegare il pin DATA del ricevitore RCRX3-434 al pin 2 dell'Arduino.
    Collegare il pin VCC del ricevitore RCRX3-434 al pin 5V dell'Arduino.
    Collegare il pin GND del ricevitore RCRX3-434 al pin GND dell'Arduino.

    Arduino 2 (con Sensore SHT31 e Trasmettitore RC-TX1-434):

    Collegare il pin VCC del sensore SHT31 al pin 5V dell'Arduino.
    Collegare il pin GND del sensore SHT31 al pin GND dell'Arduino.
    Collegare il pin SDA del sensore SHT31 al pin A4 dell'Arduino.
    Collegare il pin SCL del sensore SHT31 al pin A5 dell'Arduino.
    Collegare il pin DATA del trasmettitore RC-TX1-434 al pin 10 dell'Arduino.
    Collegare il pin VCC del trasmettitore RC-TX1-434 al pin 5V dell'Arduino.
    Collegare il pin GND del trasmettitore RC-TX1-434 al pin GND dell'Arduino.

    Installare Arduino IDE Software | Arduino

    Software | Arduino

    Apri l'Arduino IDE sul tuo computer

    Installazione delle librerie:

    Aprire Arduino IDE, attraverso il menu "Sketch" -> "Includi Libreria" -> "Gestisci Librerie" nell'IDE e cercare le librerie necessarie e installarle, riavviare l'IDE dopo l'installazione-

    1 Installare la libreria Adafruit_SHT31 per il sensore SHT31.
    2 Installare la libreria LiquidCrystal_I2C per il display 16x2 con modulo I2C.
    3 Installare la libreria RCSwitch per il trasmettitore e il ricevitore

    - Primo Arduino

    1 Apri l'Arduino IDE sul tuo computer.
    2 Collega il primo Arduino UNO al PC tramite cavo USB. (Arduino con Display 16x2 I2C, Sensore SHT31 e Ricevitore RCRX3-434)
    3 Seleziona il tipo di Arduino (ad esempio "Arduino Uno") nel menu "Strumenti" -> "Scheda".
    4 Seleziona la porta seriale corretta a cui è collegato l'Arduino nel menu "Strumenti"-> "porta".
    5 Apri un nuovo sketch e copia il codice -> "File" -> "Nuovo sketch".
    6 Carica il codice sull'Arduino Uno premendo il pulsante "Carica"
    7 Seleziona "Strumenti" -> "Monitor Seriale" per visualizzare i dati di temperatura e umidità letti dal sensore.
    8 Nel monitor seriale, fai clic sul "menu a discesa della velocità di trasmissione" (baud rate) e seleziona "9600 baud" (o qualsiasi altra velocità corrispondente a quella specificata nel tuo codice, se diversa).
    9 Verifica che i dati visualizzati nel monitor seriali siano corretti e che il sensore funzioni correttamente. (pulsante verifica)
    10 Scollegare l'Arduino.

    - Secondo Arduino

    Ripetere i passaggi

    Collegare il secondo Arduino (con Sensore SHT31 e Trasmettitore RC-TX1-434)
    Al punto N.4 seleziona la porta seriale corretta per il secondo Arduino.
    Copiare e caricare il nuovo codice come spiegato nei punti 5-6

    Codici: (non ho idea se sono corretti)

    Codici Arduino - Pastebin.com

    Arduino 1 (con Display, Sensore SHT31 e Ricevitore RCRX3-434) Temperatura e umidità Interna e Esterna visualizzata sul Display

    Codice:
    #include <Wire.h>
    #include <Adafruit_SHT31.h>
    #include <LiquidCrystal_I2C.h>
    #include <RCSwitch.h>
    
    #define RECEIVER_DATA_PIN 2
    
    Adafruit_SHT31 sht31_internal;
    LiquidCrystal_I2C lcd(0x27, 16, 2);
    RCSwitch mySwitch;
    
    void setup() {  
      lcd.begin(16, 2);  
      lcd.print("Temp Int: ");  
      lcd.setCursor(0, 1);  
      lcd.print("Umid Int: ");    
    
      lcd.setCursor(0, 2);  
      lcd.print("Temp Ext: ");  
      lcd.setCursor(0, 3);  
      lcd.print("Umid Ext: ");    
    
    Serial.begin(9600); 
    if (!sht31_internal.begin(0x44)) {    
      Serial.println("Impossibile trovare il sensore SHT31 interno");    
      while (1) delay(1);  
    
    }  
    
     mySwitch.enableReceive(RECEIVER_DATA_PIN);
    
    }
    
    void loop() { 
    
      float temp_internal = sht31_internal.readTemperature();  
      float humidity_internal = sht31_internal.readHumidity(); 
    
      lcd.setCursor(10, 0);  
      lcd.print(temp_internal, 1);  
      lcd.print(" C ");  
    
      lcd.setCursor(10, 1);  
      lcd.print(humidity_internal, 1);  
      lcd.print(" %");  
    
      float temp_external = 0.0;  
      float humidity_external = 0.0;    
    
      if (mySwitch.available()) {   
       int value = mySwitch.getReceivedValue();    
       if (value != 0) {      
         temp_external = value / 10.0;      
         humidity_external = value % 10 / 10.0;    
      }   
      mySwitch.resetAvailable();  
    
    }  
    
     lcd.setCursor(10, 2);  
     lcd.print(temp_external, 1);  
     lcd.print(" C "); 
    
     lcd.setCursor(10, 3); 
     cd.print(humidity_external, 1);  
     lcd.print(" %");    
    
     Serial.print("Temp Int: ");  
     Serial.print(temp_internal);  
     Serial.print(" C | Umid Int: "); 
     Serial.print(humidity_internal);  
     Serial.print(" % | Temp Ext: ");
     Serial.print(temp_external);
     Serial.print(" C | Umid Ext: "); 
     Serial.print(humidity_external);  
     Serial.println(" %");    
    
     delay(2000);
    
    }
    Arduino 2 (con Sensore SHT31 e Trasmettitore RC-TX1-434):

    Codice:
    #include <Wire.h>
    #include <Adafruit_SHT31.h>
    #include <RCSwitch.h>
    
    #define TRANSMITTER_DATA_PIN 10
    
    Adafruit_SHT31 sht31_external;
    RCSwitch mySwitch;
    
    void setup() { 
      Serial.begin(9600);  
      if  (!sht31_external.begin(0x45)) {   
        Serial.println("Impossibile trovare il sensore SHT31 esterno");  
        while (1) delay(1);  
       }  
       mySwitch.enableTransmit(TRANSMITTER_DATA_PIN);
    }
    
    void loop() {  
      float temp_external = sht31_external.readTemperature();  
      float humidity_external = sht31_external.readHumidity();
    
      Serial.print("Temperature: ");  
      Serial.print(temp_external);  
      Serial.print(" C, Humidity: ");  
      Serial.print(humidity_external);  
      Serial.println(" %");  
    
      int valueToSend = int(temp_external * 10) + int(humidity_external * 10); //  Combina temperatura e umidità in un unico valore intero  
      mySwitch.send(valueToSend, 32);  
      delay(1000);
    
    }
    Codice del Arduino 1 (con Display, Sensore SHT31) senza ricevitore RCRX3-434
    Codice:
    #include <Wire.h>
    #include <Adafruit_SHT31.h>
    #include <LiquidCrystal_I2C.h>
    
    Adafruit_SHT31 sht31 = Adafruit_SHT31();
    LiquidCrystal_I2C lcd(0x27, 16, 2);
    
    void setup() { 
      lcd.begin(16, 2);  
      lcd.print("Temperatura: "); 
      lcd.setCursor(0, 1); 
      lcd.print("Umidità: ");    
    
       Serial.begin(9600);  
       if (!sht31.begin(0x44)) {    
         Serial.println("Couldn't find SHT31");    
         while (1) delay(1);  
       }
    
    }
    
    void loop() {  
      float temperatura = sht31.readTemperature();  
      float umidita = sht31.readHumidity();  
    
      lcd.setCursor(13, 0); 
      lcd.print(temperatura);  
      lcd.print(" C"); 
    
      lcd.setCursor(10, 1); 
      lcd.print(umidita);  lcd.print(" %"); 
    
      delay(2000); // Aggiungi un ritardo per non aggiornare troppo velocemente il display
    
    }
    Se si vuole escludere il ricevitore e trasmettitore mantenendo i codici credo che funzioni anche disattivandoli commentando con doppio slash "//" la parte di codice relativa ai moduli RCRX3-434, RC-TX1-434 :

    Arduino 1 (con Display, Sensore SHT31 e Ricevitore RCRX3-434):

    Codice:
    //#include <RCSwitch.h>
    //RCSwitch mySwitch = RCSwitch();
    //mySwitch.enableReceive(RECEIVER_DATA_PIN);
    Arduino 2 (con Sensore SHT31 e Trasmettitore RC-TX1-434):

    Codice:
    //#include <RCSwitch.h>
    //RCSwitch mySwitch = RCSwitch();
    //mySwitch.enableTransmit(TRANSMITTER_DATA_PIN);
    Eseguire la scansione I2C per trovare gli indirizzi dei dispositivi

    Per eseguire la scansione I2C e trovare gli indirizzi dei dispositivi collegati, possiamo utilizzare una libreria di terze parti chiamata "I2C Scanner". Seguire questi passaggi per eseguire la scansione I2C con la libreria "I2C Scanner":

    Apri l'IDE di Arduino sul tuo computer.

    Collegare l' Arduino al computer tramite un cavo USB e selezionare la porta corretta del dispositivo dall'IDE di Arduino, se non è già selezionata. Si può fare dal menu "Strumenti" (Tools) > "Porta".

    Assicurarsi di avere installato la libreria "I2C Scanner" nell'IDE di Arduino. Per farlo, andare su "Sketch" > "Includi Libreria" > "Gestisci Librerie". Nella finestra che si apre, cercare "I2C Scanner" e installare la libreria se non è già installata.

    Creare un nuovo sketch andando su "File" > "Nuovo sketch" nell'IDE di Arduino.

    Copiare e incollare il seguente codice all'interno della finestra nel nuovo sketch:

    Codice:
    #include <Wire.h>
    
    void setup() {  
      Wire.begin();  
    
      Serial.begin(9600);  
      while (!Serial);  
      Serial.println("\nI2C Scanner");
    
    }
    
    void loop() {  
      byte error, address; 
      int nDevices; 
    
      Serial.println("Scanning...");  
    
      nDevices = 0;  
      for (address = 1; address < 127; address++) {    
        Wire.beginTransmission(address);    
        error = Wire.endTransmission();   
    
        if (error == 0) {     
          Serial.print("I2C device found at address 0x");      
          if (address < 16) Serial.print("0");      
          Serial.print(address, HEX);      
          Serial.println("  !");     
          nDevices++;    
       }  else if (error == 4) {      
          Serial.print("Unknown error at address 0x");     
          if (address < 16) Serial.print("0");      
          Serial.println(address, HEX);    
       }   
    }  
    if (nDevices == 0) Serial.println("No I2C devices found\n");  
    
    delay(5000); // Wait 5 seconds for the next scan
    
    }
    Caricare il codice ( chiamato anche sketch ) sull'Arduino facendo clic sull'icona di caricamento (una freccia verso destra) nella barra degli strumenti dell'IDE di Arduino.

    Dopo aver caricato il codice, aprire il monitor seriale facendo clic sull'icona dell'occhio nella barra degli strumenti dell'IDE di Arduino, oppure (Strumenti > Monitor Seriale). Assicurarsi che il monitor seriale sia impostato alla stessa velocità di comunicazione seriale del codice (nel codice è impostato a 9600 bps).

    Premere il pulsante di reset sull'Arduino (se disponibile) per avviare la scansione I2C. Se non è presente un pulsante di reset, è possibile semplicemente caricare nuovamente il codice premendo l'icona di caricamento.

    Osservare i risultati della scansione I2C nel monitor seriale. Dovresti vedere una lista di indirizzi I2C rilevati.

    Cercare gli indirizzi corrispondenti al tuo sensore SHT31 e al display LCD I2C nella lista.

    Prendere nota degli indirizzi trovati e utilizzali nel progetto.

    5 errori comuni usando un display LCD con l’interfaccia I2C - YouTube

    https://www.youtube.com/watch?v=k2g152m7OEA
    --------------------------------------------------------------------------------------------------

    Riguardo i componenti conviene prenderli su Aliexpress ? I cloni funzionano bene comunque ? Su Amazon con 1 solo Arduino Uno originale e senza ricevitori mi viene una spesa di circa 50€

    1Set UNO R3 scatola ufficiale ATMEGA16U2 / UNO + WiFi R3 MEGA328P Chip CH340G per scheda di sviluppo Arduino UNO R3 WeMos ESP8266|Circuiti integrati| - AliExpress

    https://it.aliexpress.com/item/10050...780008090272_2

    Modulo Freenove I2C LCD 1602 2004, serie IIC TWI, compatibile con Arduino Raspberry Pi Pico ESP32 ESP8266| | - AliExpress

    https://it.aliexpress.com/item/10050...8123466_5SHT31


    temperatura SHT31 D modulo sensore di umidità microcontrollore IIC I2C Breakout meteo 3V 5V conforme per Arduino|Sensori| - AliExpress

    https://it.aliexpress.com/item/32954...yAdapt=glo2ita


    SHT30 SHT30 D SHT31 SHT31 D SHT35 SHT35 DSHT40 SHT40 D SHT41 SHT41 D Sensore di Umidità di Temperatura Tempo di Sblocco per Arduino| | - AliExpress

    https://it.aliexpress.com/item/1005005215265371.html?spm=a2g0o.productlist.main.21.46a56caf PxzRuo&algo_pvid=6eac571f-75fc-44d8-a5e3-48849bf7487e&algo_exp_id=6eac571f-75fc-44d8-a5e3-48849bf7487e-10&pdp_npi=3%40dis%21EUR%212.29%211.37%21%21%212.49%21%21%40 2145274c16902445038734325d0745%2112000032214017458%21sea%21I T%210&curPageLogUid=QTRTDN2FwetJ


    Dupont Line 10CM 20CM 30CM 40pin maschio a maschio + maschio a femmina e femmina a femmina ponticello cavo Dupont per Arduino KIT fai da te|Circuiti integrati| - AliExpress

    https://it.aliexpress.com/item/10050...d=EzQUFFgmmGHE

    Riguardo i display ci sono tantissime varianti, il più comune è il 16x2 con modulo I2C credo, conviene prendere questo modello ? a seconda del display e dei ricevitori (che per il momento non acquisto) ovviamente cambiano le librerie i codici e i collegamenti.

    -------------------------------------------------------------------------------------------

    Scusami, riguardo i collegamenti vedo diversi cavi in comune, ma bisogna spellare i cavi e unirli o giuntarli con dei connettori Scotch ? l'Arduino UNO da quanto ho visto ha solo un pin SCL e un pin SDA dove vanno collegati display e sensore agli stessi pin, invece ha diversi GND in comune (terra)






    Vedo collegamenti diversi







    Tutorial Arduino ITA 11: comunicazione I2C tra due schede di Arduino - YouTube

    https://www.youtube.com/watch?v=2kDHp8NH1O4

    Tutorial Arduino ITA 12: usare l'interfaccia I2C per il display LCD - YouTube

    https://www.youtube.com/watch?v=aOEzfBnBtBA

    Arduino Tutorial Italiano - I pin di Arduino - #2 - YouTube

    https://www.youtube.com/watch?v=MkTokdlLeAQ

    --------------------------------------------------------------------------------------

    Simulazione con sensore DHT22

    https://wokwi.com/projects/344892587898831442




    Librerie:

    DHT sensor library
    Adafruit Unified Sensor
    LiquidCrystal_I2C

    https://github.com/adafruit/DHT-sensor-library
    https://github.com/adafruit/Adafruit_Sensor
    https://github.com/johnrickman/LiquidCrystal_I2C

    Codice:


    https://pastebin.com/0Nhyb5kf


    Codice:
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>
    #include <DHT.h>
    
    #define DHTPIN 2      // Pin digitale a cui è collegato il Sensore DHT22
    #define DHTTYPE DHT22 // Tipo di Sensore DHT (DHT22)
    
    DHT dht(DHTPIN, DHTTYPE);
    LiquidCrystal_I2C lcd(0x27, 16, 2);
    
    void setup() {  
     lcd.begin(16, 2);  
     lcd.print("Temperatura: ");  
     lcd.setCursor(0, 1); 
     lcd.print("Umidita: ");   
    
      dht.begin();
    
    }
    
    void loop() {  
    
     float temperatura = dht.readTemperature(); // Legge la temperatura in gradi Celsius
     float umidita = dht.readHumidity();        // Legge l'umidità relativa in percentuale  
    
     lcd.setCursor(13, 0); 
     lcd.print(temperatura); 
     lcd.print(" C");  
    
    lcd.setCursor(10, 1);  
    lcd.print(umidita); 
    lcd.print(" %"); 
    
    delay(2000); // Aggiorna i dati ogni 2 secondi (puoi modificare questo valore a tuo piacimento)
    
    }
    Ultima modifica di marck120; 26/07/2023 alle 06:23

  6. #16
    Calma di vento
    Data Registrazione
    13/07/23
    Località
    Sassari
    Messaggi
    22
    Menzionato
    0 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    Collegamento Arduino UNO - Display LCD 16x2 con modulo I2C

    Arduino UNO -> Display LCD 16x2 con modulo I2C
    ----------------------------------------------
    5V (pin 5V) -> VCC (alimentazione 5V del display)
    GND (pin GND) -> GND (terra del display)
    A4 (pin SDA) -> SDA (comunicazione I2C, dati seriale)
    A5 (pin SCL) -> SCL (comunicazione I2C, clock seriale)

    Collegamento Sensore SHT35

    Arduino UNO -> Sensore SHT35
    -----------------------------------
    5V (pin 5V) -> VCC (alimentazione 5V del sensore)
    GND (pin GND) -> GND (terra del sensore)
    A4 (pin SDA) -> SDA (comunicazione I2C, dati seriale)
    A5 (pin SCL) -> SCL (comunicazione I2C, clock seriale)

    Librerie :

    Wire.h
    LiquidCrystal_I2C.h
    Adafruit_SHT31.h


    Display LCD i2c Cinese con Arduino - Video 219 - YouTube

    Display LCD i2c Cinese con Arduino - Video 219 - YouTube

    arduino_cookbook/219-LCD-AZDelivery presso master · zmaker/arduino_cookbook · GitHub

    https://github.com/zmaker/arduino_co...LCD-AZDelivery

    Codice:

    Codice Display LCD 16x2 I2C - SHT35 - Pastebin.com

    Codice:
    #include <Wire.h>            // Libreria per la comunicazione I2C
    #include <LiquidCrystal_I2C.h>  // Libreria per il display LCD I2C
    #include <Adafruit_SHT31.h>  // Libreria per il sensore SHT35
    
    #define LCD_ADDR   0x27   // Indirizzo I2C del display LCD 16x2
    #define LCD_COLS   16     // Numero di colonne del display LCD
    #define LCD_ROWS   2      // Numero di righe del display LCD
    
    LiquidCrystal_I2C lcd(LCD_ADDR, LCD_COLS, LCD_ROWS);  // Inizializza il display LCD
    
    Adafruit_SHT31 sht31;  // Inizializza il sensore SHT35
    
    void setup() {
     lcd.begin(LCD_COLS, LCD_ROWS);  // Inizializza il display LCD 
     lcd.backlight();  // Accende la retroilluminazione del display LCD 
    
     // Inizializza il sensore SHT35 
     if (!sht31.begin(0x44)) {
       lcd.print("Errore: Sensore SHT35 non trovato!");
       while (1);
      }
    
    }
    
    void loop() {
     // Leggi la temperatura e l'umidità dal sensore SHT35
     float temperature = sht31.readTemperature(); 
     float humidity = sht31.readHumidity(); 
    
     // Pulisce il display LCD 
     lcd.clear(); 
    
     // Scrive la temperatura e l'umidità sul display LCD 
     lcd.setCursor(0, 0); 
     lcd.print("Temp: "); 
     lcd.print(temperature, 1); // Visualizza la temperatura con una cifra decimale 
     lcd.print(" C");
    
     lcd.setCursor(0, 1);
     lcd.print("Umid: ");  lcd.print(humidity, 1); // Visualizza l'umidità con una cifra decimale
     lcd.print(" %");
    
     delay(2000);  // Aggiorna i dati ogni 2 secondi
    }

    LCD1602 1602 modulo LCD blu/giallo schermo verde 16x2 caratteri Display LCD muslimypcf85744 II C interfaccia I2C 5V per Arduino - AliExpress

    https://it.aliexpress.com/item/10050...l24#nav-review

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Collegamento Arduino UNO con Display ST7735




    Arduino UNO -> Display ST7735
    ----------------------------------------------
    3.3V (pin 3.3V) -> LED (alimentazione retroilluminazione 3.3V)
    D13 (pin 13) -> SCK (clock seriale)
    D11 (pin 11) -> SDA (dati seriale)
    D9 (pin 9) -> D/C (data/command select)
    D8 (pin 8) -> RESET (reset dello schermo)
    D10 (pin 10) -> CS (chip select)
    GND (pin GND) -> GND (terra)
    5V (pin 5V) -> VCC (alimentazione 5V)

    Collegamento Sensore SHT35

    Arduino UNO -> Sensore SHT35
    -----------------------------------
    5V (pin 5V) -> VCC (alimentazione 5V del sensore)
    GND (pin GND) -> GND (terra del sensore)
    A4 (pin SDA) -> SDA (comunicazione I2C, dati seriale)
    A5 (pin SCL) -> SCL (comunicazione I2C, clock seriale)

    Librerie:

    Adafruit_GFX.h
    Adafruit_ST7735.h
    Adafruit_SHT31.h
    Wire.h

    Codice:

    Codice Display ST7735 - Pastebin.com

    Codice:
    #include <Adafruit_GFX.h>     // Libreria grafica di Adafruit
    #include <Adafruit_ST7735.h>  // Libreria per il display ST7735
    #include <Wire.h>            // Libreria per la comunicazione I2C
    #include <Adafruit_SHT31.h>  // Libreria per il sensore SHT35
    
    #define TFT_CS    10  // Pin chip select del display ST7735
    #define TFT_RST   8   // Pin reset del display ST7735
    #define TFT_DC    9   // Pin data/command select del display ST7735
    
    // Inizializza l'oggetto ST7735 per la comunicazione SPI
    Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
    
    // Inizializza l'oggetto SHT31 per il sensore SHT35
    Adafruit_SHT31 sht31 = Adafruit_SHT31();
    
    void setup() {  
     // Inizializza il display ST7735  
     tft.initR(INITR_BLACKTAB);  // Usa INITR_BLACKTAB se il display ha colori invertiti 
    
     // Imposta la rotazione del display (opzionale) 
     tft.setRotation(1);  // 0 = Portrait, 1 = Landscape 
    
     // Inizializza il sensore SHT35  
     if (!sht31.begin(0x44)) { 
       Serial.println("Errore: Sensore SHT35 non trovato!");    
       while (1); 
     } 
    
      // Pulisce lo schermo 
      tft.fillScreen(ST7735_BLACK);  
    
      // Imposta le dimensioni del testo  
      tft.setTextSize(2);  tft.setTextColor(ST7735_WHITE);
    }
    
    void loop() {  
    
     // Leggi la temperatura e l'umidità dal sensore SHT35  
     float temperature = sht31.readTemperature();  
     float humidity = sht31.readHumidity();  
    
     // Pulisci l'area di visualizzazione della temperatura e dell'umidità  
     tft.fillRect(0, 0, tft.width(), tft.height(), ST7735_BLACK);  
    
     // Visualizza la temperatura e l'umidità sullo schermo  
     tft.setCursor(20, 20);  
     tft.print("Temperatura: "); 
     tft.print(temperature);  
     tft.print(" C");  
    
     tft.setCursor(20, 50);  
     tft.print("Umidita: ");  
     tft.print(humidity);  
     tft.print(" %");  
    
     delay(2000);  // Aggiorna i dati ogni 2 secondi
    
    }

    Display TFT 0.96/1.3/1.44/1.77/1.8/2.4/2.8 pollici IPS 7P SPI HD 65K TFT modulo LCD a colori ST7735 Drive IC 80*160 per Arduino - AliExpress

    https://it.aliexpress.com/item/10050...1hF#nav-review

    AZDelivery 3 x 1.8 pollici SPI TFT Display ST7735 con 128 x 160 Pixel compatibile con Arduino e Raspberry Pi incluso un E-Book! : Amazon.it: Informatica

    https://www.amazon.it/AZDelivery-%E2...59&sr=8-5&th=1

    Display LCD da 1.8 pollici 1.8 "modulo schermo TFT interfaccia SPI risoluzione 128*160 16BIT RGB 4 IO ST7735 ST7735S Driver per Arduino - AliExpress

    https://it.aliexpress.com/item/10050...d=vY859sUbjI9U


    Arduino | Come collegare e configurare un display TFT da 1,8″ con driver ST7735 - YouTube

    Arduino | Come collegare e configurare un display TFT da 1,8″ con driver ST7735 - YouTube


    Come collegare display TFT 1,8" ST7735 ad Arduino - Moreware Blog

    https://www.moreware.org/wp/blog/202...35-ad-arduino/

    Display TFT 1.8" ST7735 SPI - Economico e piccolo - YouTube

    https://www.youtube.com/watch?v=1K2CYmb3YqA

    Usare un display ST7735 TFT SPI con Arduino - Video 545 - YouTube

    https://www.youtube.com/watch?v=DVmY6g3Eoo4
    Ultima modifica di marck120; 28/07/2023 alle 20:10

  7. #17
    Burrasca
    Data Registrazione
    18/09/19
    Località
    Catania
    Messaggi
    5,080
    Menzionato
    151 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    Scusa se ti rispondo ora, ho avuto problemi di alimentazione elettrica con blackout di diverse ore, dei lavori in casa e una bella botta di caldo.Il sensore a sonda WH32-EP va però posto in uno schermo solare che non saprei consigliarti perché, stanto in un condominio, già ho problemi a misurare una temperatura corretta.Il codiceArduino 1 (con Display, Sensore SHT31 e Ricevitore RCRX3-434) Temperatura e umidità Interna e Esterna visualizzata sul Displaha un piccolo errore di battitura lcd.setCursor(10, 3); cd.print(humidity_external, 1); lcd.print(" %"); nella seconda riga manca una elle all'inizio lcd.print(humidity_external, 1); Per commentare righe, cioè renderle come un commento e quindi di fatto toglierle dalla compilazione, il // va bene. Se ci sono più righe puoi usare /* prima della prima riga, vedrai che tutte le righe sotto diventano grigie, e quindi */ dopo l'ultima riga. Ma le righe da commentare sono di più, devi commentare la parte che legge e trasmette il dato nel trasmettitore e la parte che riceve e mostra il dato ricevuto nel ricevitore.Il progeamma I2C_scanner serve per capire l'indirizzo di un dispositivo che usa il protocollo I2C quando ha la possibilità di avere più indirizzi ma anche per vedere se le connessioni sono corrette.Gli SHT3x dovrebbero avere tutti l'indirizzo che vedi nella rigaif (!sht31_internal.begin(0x44)) { cioè 0x44ma a volte hanno l'indirizzo che si vede nel secondo sketchif (!sht31_external.begin(0x45)) { cioè 0x45Controlla quindi gli indirizzi degli SHT31 e modifica lo sketch se non combaciano.Si i cloni che hai linkato di Aliexpress dovrebbero andare bene, io ho solo cloni perché, come avrai visto, hanno delle connessioni in più assenti in quello originale.Ad esempio il secondo sulla destra ha una connessione apposta per i sensori I2C così i cavi sono tutti ravvicinati. Inoltre puoi usare l'altro SCA SCL, in alto a sinistra, per connettere il secodno dispositivo ed evitare di giuntare cavi. Oppure puoi usare la connessione con A4 e A5.

    Vedo di rieditare il messaggio.

  8. #18
    Burrasca
    Data Registrazione
    18/09/19
    Località
    Catania
    Messaggi
    5,080
    Menzionato
    151 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    Scusa se ti rispondo ora, ho avuto problemi di alimentazione elettrica con blackout di diverse ore, dei lavori in casa e una bella botta di caldo.

    Il sensore a sonda WH32-EP va però posto in uno schermo solare che non saprei consigliarti perché, stando in un condominio, già ho problemi a misurare una temperatura corretta.

    Il codiceArduino 1 (con Display, Sensore SHT31 e Ricevitore RCRX3-434) Temperatura e umidità Interna e Esterna visualizzata sul Displayha un piccolo errore di battitura

    Codice:
    lcd.setCursor(10, 3);  cd.print(humidity_external, 1);   lcd.print(" %");
    nella seconda riga manca una elle all'inizio

    Codice:
    lcd.print(humidity_external, 1);
    Per commentare righe, cioè renderle come un commento e quindi di fatto toglierle dalla compilazione, il // va bene. Se ci sono più righe puoi usare /* prima della prima riga, vedrai che tutte le righe sotto diventano grigie, e quindi */ dopo l'ultima riga.

    Ma le righe da commentare sono di più, devi commentare la parte che legge e trasmette il dato nel trasmettitore e la parte che riceve e mostra il dato ricevuto nel ricevitore.

    Il programma I2C_scanner serve per capire l'indirizzo di un dispositivo che usa il protocollo I2C quando ha la possibilità di avere più indirizzi ma anche per vedere se le connessioni sono corrette.

    Gli SHT3x dovrebbero avere tutti l'indirizzo che vedi nella riga
    if (!sht31_internal.begin(0x44)) {
    cioè 0x44
    ma a volte hanno l'indirizzo che si vede nel secondo sketch
    if (!sht31_external.begin(0x45)) {
    cioè 0x45
    Controlla quindi gli indirizzi degli SHT31 e modifica lo sketch se non combaciano.


    Si i cloni che hai linkato di Aliexpress dovrebbero andare bene, io ho solo cloni perché, come avrai visto, hanno delle connessioni in più assenti in quello originale.Ad esempio il secondo sulla destra ha una connessione apposta per i sensori I2C così i cavi sono tutti ravvicinati. Inoltre puoi usare l'altro SCA SCL, in alto a sinistra, per connettere il secodno dispositivo ed evitare di giuntare cavi. Oppure puoi usare la connessione con A4 e A5.

  9. #19
    Calma di vento
    Data Registrazione
    13/07/23
    Località
    Sassari
    Messaggi
    22
    Menzionato
    0 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    @zoomx

    Ci mancherebbe figurati, non c'è nessun problema, mi dispiace per i problemi che hai avuto.

    Purtroppo non mi ero accorto che mancava una elle, mi sa che non è un errore di battitura, ho proprio cancellato la elle per sbaglio, sul file pastebin è presente, dopo aver copiato il codice sul forum mi ha incollato tutto e ho dovuto dividerlo e li ho fatto un pasticcio.

    Per ora penso che non utilizzerò il trasmettitore e il ricevitore, parto da una configurazione semplice, le parti da commentare oltre quelle citate non ho capito con esattezza quali sono.

    Forse questa è la parte che riceve e mostra il dato:

    Ricevitore:

    Codice:
    if (mySwitch.available()) {     
        int value = mySwitch.getReceivedValue();       
        if (value != 0) {           
           temp_external = value / 10.0;           
           humidity_external = value % 10 / 10.0;      
    
    }
    Trasmettitore:

    E questa la parte che legge e trasmette il dato:


    Codice:
     Serial.begin(9600);    
     if  (!sht31_external.begin(0x45)) {      
       Serial.println("Impossibile trovare il sensore SHT31 esterno");      
       while (1) delay(1);     
    }
    In realtà non avevo fatto caso alle connessioni in più presenti nei cloni, ora il secondo sulla destra con connessione apposita per i sensori I2C non so a quale immagine fai riferimento, vedo però un Arduino uno con altri due pin SCA SCL, non penso sia originale questo Arduino:



    Il pin dei 5v però è solo uno.

    A parte il sensore a sonda WH32-EP della ecowitt mi pare di capire che non esiste nessun altro termometro commerciale con sensore SHT35 o STH31 ?
    Ultima modifica di marck120; 31/07/2023 alle 19:06

  10. #20
    Burrasca
    Data Registrazione
    18/09/19
    Località
    Catania
    Messaggi
    5,080
    Menzionato
    151 Post(s)

    Predefinito Re: Consiglio termometro ambiente preciso

    Hai individuato le altre parti di codice da commentare, bravo.

    Riguardo alle connessioni in più tu hai messo un link
    https://it.aliexpress.com/item/1005002997846504.html
    che ha diverse opzioni. La seconda è quella a cui mi riferisco.
    S51480bb791f142858f4c68d7bcc715fdN.jpg
    Come vedi oltre ai piedini A4-A5 si possono usare anche quelli del gruppo sulla destra oppure quelli in alto a sinistra.
    Questo clone ti viene fornito con dei piedini da saldare maschio, in tal modo puoi usare dei dupont femmina-femmina invece che femmina maschio.
    Anche i piedini da 5V sono di più.

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •