Modulo WiFi+Bt ESP32

Su Arduino il riferimento è la tensione di alimentazione che, essendo la stessa per tutti, ti da valori identici.

Credo che se tu usi il riferimento interno ad 1.1V mi sa che succede la stessa cosa dell'ESP32.

Comunque dai link allegati avevo capito che si legge il valore dei fuses e il programma ne tiene conto automaticamente in fase di lettura delle analogiche...

Si, il vantaggio è che una volta calibrato la calibrazione rimane anche cambiando sketch. Ma se fai pochi progetti puoi usare un file SPIFFS o forse la EEPROM simulata.

Appunto: mi puoi fare un esempio PRATICO di come inserirlo in un programma?
Grazie infinite

Faccio un primo esempio banale. Collego l’ingresso analogico a massa. La tensione V è zero e il convertitore mi da zero. Collego l’ingresso all’alimentazione. La tensione V è 3.3V e il convertitore mi da 4095

Faccio quindi la regressione lineare. Per questo esempio uso [u]https://www.graphpad.com/quickcalcs/linear1/[/u]

Nella tabella metto i miei valori, in X i valori del convertitore e in Y le tensioni misurate con il multimetro.

0 0 4095 3.3

Premo calculate now

Si tratta di una regressione lineare, cioè vogliamo trovare l’equazione della linea che segue meglio i nostri valori misurati. L’equazione della linea è Y=aX+b

Slope sarà il nostro valore di a = 0.0008059 Y-intercept sarà il nostro b = 0.0 Poiché stiamo usando solo 2 valori R è 1. Questo perché abbiamo 2 punti e quindi una sola retta che passa per i nostri 2 punti.

Quindi l'equazione diventa Y=0.0008059x+0 E quindi per passare dal valore del convertitore alla tensione basta moltiplicare per 0.0008059

Ma questo è un caso ideale e non ci da molte informazioni. Dobbiamo usare 2 o più tensioni che siano maggiori di zero e minori di 3.3V

Metti 1V e 2 V A 1V il convertitore mi da 1235 A 2V il convertitore mi da 2483 In tabella quindi 1235 1 2483 2

Calcolando abbiamo a=0.0008013 b=0.01042 L’equazione diventa Y = 0.0008013*X + 0.01042 Quindi il valore preso dal convertitore AD va moltiplicato per 0.0008013 e poi va aggiunto 0.01042, otterrai la tensione.

Questi 2 valori di a e b sono quelli da memorizzare in qualche modo, nel programma, nella eeprom, in un file SPIFFS o in questi efuses anche se non so se questi efuses memorizzano dei float.

Puoi anche usare più tensioni, basta inserire i rispettivi valori nella tabella. Sconsiglio gli estremi 0 e 3.3V in quanto sono proprio i valori di riferimento del convertitore.

Il discorso può anche essere fatto per le temperature, ti servono 2 temperature note, cacci i valori in tabella al posto della tensione e ottieni direttamente la temperatura. Questo se il legame tra la temperatura e tensione è lineare ma tu credo usi le NTC che invece non sono lineari. Se non ricordo male lo sono le Pt100 e le termocoppie.

Spero di non aver scritto fesserie.

Buongiorno,

so che tempo fa si era parlato del tasto di boot sul DevKit ESP32, ma non riesco a trovare dove :sweat_smile:

comunque volevo condividere con voi la mia esperienza, su sistema Win devo premere ogni volta il tasto di Boot per caricare uno sketch, mentre su sistema Mac non è necessario. Che dipenda dal chip usb to uart della silicon lab ?

Inoltre volevo chiedere se c'è qualcuno che utilizza un debugger per caricare lo sketch pre-compilato dall' Arduino IDE sull'esp32 e quale mi consigliate ?

Moce993:

su sistema Win devo premere ogni volta il tasto di Boot per caricare uno sketch, mentre su sistema Mac non è necessario…

Queste cose mi fanno notevolmente inc…avolare!

Primo, perché non dovrebbero esserci differenze tre Linux, Mac e Windows se di un programma è stato fatto un porting decente.
Secondo, perché QUESTO dovrebbe essere il sito dell’ IDE di Arduino e se c’è un problema andrebbe quantomeno risolto (e di ciò vorrei un parere dei moderatori…)

Mi succede la stessa cosa con IDE su Windows e IDE su Linux quando devo riscrivere il bootloader dei NANO: su Linux ZERO PROBLEMI, su Windows ogni tanto mi da errore e non c’è modo di scrivere.

A meno che mi dichiarate che su Windows alcune cose non si possono assolutamente fare…

steve-cr: Queste cose mi fanno notevolmente inc...avolare!

vero da fastidio quando le cose non funzionano come dovrebbe, ma io la prendo con filosofia visto che è gratis non pretendo la perfezione :D

Comunque ho idea che non dipenda dall'IDE, ma penso sia un discorso di porte... magari qualcuno più esperto può darmi conferma.

Aggiungo che ho provato su Mac OSx + Eclipse + Plugin Arduino 3.0 e neppure li ho bisogno di premere il tastino di boot, su win devo ancora provare.

Ma con quale delle oltre 30 schede ESP32 ti succede? Io ho la Lolin e il tastino non c'è.

zoomx: Ma con quale delle oltre 30 schede ESP32 ti succede? Io ho la Lolin e il tastino non c'è.

Io utilizzo ESP32 DEVkit V4.

Ho utilizzato anche huzzah32 di Adafruit, ma è un pò diversa e nemmeno su questa c'è il tastino di boot.

E' il classico ESP32-DEVKIT da 15+15 piedini, con due tastini (BOOT e EN).

steve-cr:
A meno che mi dichiarate che su Windows alcune cose non si possono assolutamente fare…

ad esempio dormire sonni tranquilli?

scusa la facile battuta, ma io sono passato a Linux col Papero Signorile, non mi ricordo nemmeno più perché
ma so benissimo perché non torno indietro

Sono passato a Win10 ho installato Arduino IDE 1.8.10, core versione ESP32 1.0.4.

Ora quando carico programmi su ESP32 devKit non serve più che prema il tasto di boot, cosa che fino a ieri dovevo fare.

Il mistero si infittisce :o

zoomx: Faccio un primo esempio banale. Collego l’ingresso analogico a massa. La tensione V è zero e il convertitore mi da zero. Collego l’ingresso all’alimentazione. La tensione V è 3.3V e il convertitore mi da 4095

........

Non è così semplice. Se vai a vedere su Espressif ma anche su altri siti, gli ingressi analogici di ESP32 non sono come qualli a cui siamo abituati con UNO o Nano.

Infatti la lettura parte dopo lo Zero e si ferma prima dei 4095 punti. Insomma, un casino.

Guarda QUI.

Purtroppo è da un pò che non bazzico per il forum, comunque per chi non lo sapesse Espressif ha lanciato da qualche mese la versione WROOM e WROOVER E, dove viene montato ESP32 ECO V3.

Allego il documento Espressif.

ESP32_ECO_V3_User_Guide__EN.pdf (557 KB)

Magari l'informazione a qualcuno interessa ... "ESP32 VULNERABILITY AFFECTS OLDER CHIPS" ... ::)

Guglielmo

Annunciato UFFICIALMENTE il nuovo ESP32-C3 ... RISC-V Single Core ... QUI l'annuncio e qui il datasheet ;D

Guglielmo

Sai che non avevo fatto caso al RISC-V? Sarà il nuovo fenomeno ARM in quanto privo di brevetti e quindi realmente open source?

Edit: ma c'è un cambio di architettura! L'ESP32 classico usa Harvard Architecture Xtensa LX6 CPU PErché non hanno cambiato il nome?

Volevo segnalare QUESTA scheda, rilasciata da DFRobot, e basata su ESP32-E ... ... sicuramente tra un po' la troveremo su Ali a metà prezzo :D :D :D, ma comunque mi sembra una bella schedina ben accessoriata ed ad un prezzo abbordabile. C'è anche un bel WiKi con tutte le spiegazioni.

Guglielmo

gpb01: Annunciato UFFICIALMENTE il nuovo ESP32-C3 ... RISC-V Single Core ... QUI l'annuncio e qui il datasheet ;D

Guglielmo

ESP32 C3