Domanda:
Utilizzo / calibrazione del modulo del sensore di pH
Jasper
2015-11-03 03:43:30 UTC
view on stackexchange narkive permalink

Ho acquistato questa scheda del modulo sensore per collegarmi a un Arduino nano: http://www.ebay.com/itm/For-Arduino-Liquid-PH-Value-Detection-detect-Sensor-Module -Monitoring-Controller / 321764233326

Ho pensato che le due viti fossero per la calibrazione (punto basso + pendenza), ma sembra che l'operazione sia diversa e non riesco a capire come. Ho due liquidi di riferimento per pH 4.0 e 7.0. Quando metto la sonda in una delle due, ottengo letture. Girando una delle due viti sembra compensare la lettura, quindi ad esempio ho avuto pH 4 = 900 e pH 7 = 1000 (range 0-1023). Girare una delle due viti abbasserebbe leggermente il valore, ma non scende mai sotto i 500 circa.

Quindi quello che posso fare è misurare due punti (4.0 e 7.0) e i rispettivi valori di misurazione. In questo modo potrei calcolare i punti intermedi, ma per quanto ne so il pH non è una scala lineare, ma logaritmica. Se sbaglio, la lettura potrebbe sembrare corretta ma mostra solo 4.0 e 7.0 corretti e non il resto dei valori (al momento non ho il fluido di riferimento 10.0).

Ora passiamo alla seconda vite, quella all'inizio sembrava non fare nulla. Ma poi ho notato che imposta una sorta di valore di soglia, accendendo e spegnendo un LED sulla scheda. Quel LED sembra essere collegato al valore letto, ma è un ulteriore scopo? Calibrazione? Nessuna idea.

Ok, nel migliore dei casi qualcuno ha un modulo uguale e vuole spiegare in dettaglio come funziona. Altrimenti forse alcuni di voi hanno delle idee brillanti su cosa potrei provare per farlo funzionare come voglio io :)

Aggiornamento 09-11-2015

Ho ricevuto feedback dal venditore. Mi ha inviato il seguente ZIP: http://1drv.ms/1MSk1DX. Contiene alcuni file in cinese, ma uno aveva il codice sorgente. L'ho provato sul mio Arduino ma purtroppo i valori non hanno ancora molto senso. A seconda di come giro la manopola sulla stampa, ottengo valori compresi tra 9 e 17 per un liquido che è nella vita reale 7.0. Non ho provato ma dubito che fare un offset -7 sia sensato.

Il codice in sé è piuttosto semplice, prendendo una media di 6 centri di dieci misure consecutive. Le righe interessanti sono queste:

  avgValue = 0; for (int i = 2; i<8; i ++) // prendi il valore medio di 6 center sample avgValue + = buf [i]; float phValue = (float) avgValue * 5.0 / 1024/6; // converte l'analogico in millivolt phValue = 3.5 * phValue + Offset;  

Forse qualcuno può dare un senso a questo, perché io no. Non capisco la moltiplicazione 5.0 e 3.5 dopo quella. Da dove vengono questi?

Comunque, quando immergo la sonda nel liquido di stoccaggio, il mio normale misuratore precipita a pH 0,5 mentre il software mi dà 17 (che è un valore superiore a quello che ho ottenuto leggendo il mio liquido 7.0) . Quindi o la mia scheda è rotta o questo codice di esempio è inutile.

A proposito, gli schemi possono essere trovati nel file ZIP.

Aggiornamento 11-11-2015

Ho fatto altri esperimenti. Per prima cosa ho scoperto che le letture del modulo aumentavano per un liquido più acido. Quindi ho invertito il valore utilizzando

  buf [i] = 1024 - analogRead (SensorPin);  

Ok, ora i valori avevano più senso. Quindi ho regolato il piatto in modo che fosse al centro dell'intervallo disponibile. Ho immerso la sonda nel liquido 7.0, ho letto il valore e ho regolato l'offset. Quindi immerso in 4.0, aggiustato il pot in modo che corrisponda a 4.00, ecco i risultati:

  pH 7.0 riferimento --> 6.27set offset a: 0.73pH 4.0 reference --> 5.17adjusted the pot quindi il valore legge 4.0 pH 7.0 riferimento --> 5.86  

Quindi, come mi aspettavo, la regolazione del piatto rovina anche la misurazione di riferimento 7.0. Ho quindi pensato che potesse essere a causa della pendenza del piatto (se ce ne sarebbe stato uno), quindi sono andato prima al valore più basso per avere la minima differenza. Anche in questo caso le letture:

  pH 7.0 riferimento --> 8.70 set offset a: -1.70pH 4.0 riferimento --> 5.17 ha regolato il pot così il valore letto 4.0
Riferimento pH 7.0 --> 5.70  

La cosa interessante qui è che il valore 4.0 legge 5.17 in entrambi i casi, anche se il piatto era in una posizione diversa. Non riesco a spiegare perché però.

Per assicurarmi che la sonda sia a posto, ho ricalibrato il mio normale pHmetro, funziona come al solito. Anche questo ha due pentole, una per la calibrazione 7.0 e una per la pendenza 4.0. La calibrazione viene eseguita impostando 7.0, quindi misurando 4.0 e regolando il potenziometro della pendenza. Misurare di nuovo 7.0, cambiare la pentola 7.0, misurare di nuovo 4.0, ecc. Finché i valori non corrispondono ai loro liquidi. Di solito mi ci vogliono circa 3 - 4 loop per farlo bene.

Un altro aggiornamento

Ha preso i due contenitori di fluidi di riferimento e ha iniziato a mescolare. Questo mi ha dato misurazioni nell'intervallo di pH 4-7,5. Misurato anche il liquido di stoccaggio che ha un pH di 1,00. I risultati sono in un foglio Excel: http://1drv.ms/1lkAO6e. La prossima domanda è come convertirlo in una formula adatta?

Aggiornamento 18-11-2015

Lavorando sulla soluzione di @ slash-dev, ecco cosa ho fatto:

Per prima cosa ho abbassato il piatto fino al valore più basso. Le letture (per pH 7.0) sono le seguenti: low = 540 e high = 1017. Codificare come segue:

  int rawValue = analogRead (SensorPin); int buf [10]; // buffer per la lettura analogfor (int i = 0; i<10; i ++) // Ottieni 10 valori di esempio dal sensore per uniformare il valore {buf [i] = rawValue; delay (10);} // ordinamento lasciato fuori per ridurre la lunghezza del campione int avgValue = 0; for (int i = 2; i<8; i ++) // prende il valore medio di 6 campioni centrali avgValue + = (buf [i] - CENTER);  

In questa fase ovviamente stampo il valore grezzo.

Il cortocircuito del connettore BNC non capisco esattamente, dovrei cortocircuitare l'interno (dove va il pin) o l'esterno del connettore? E breve al GND? Ho usato invece la soluzione di riferimento.

Ora ho aggiunto la formula per determinare la tensione. Per il valore basso che legge 0,10. Ora metto al centro il valore di 540 che porta la lettura della tensione a 0,0, sembra buono.

Ora per il passaggio 2 ho posizionato la sonda nella soluzione di riferimento 4.0. La tensione ora legge 0.48, valore grezzo 637. Comincio a regolare il potenziometro dove la tensione legge 2.25, ci vuole un po 'di regolazione. Raw ora legge 1000.

Ora arriva la parte che non capisco esattamente. Dici che ora possiamo calcolare il pH / V, ma con quali variabili? Voglio dire, -3 / 2,25 risulterà sempre in -1,33 ma non dovrebbe esserci una variabile qui a seconda di quanto ho effettivamente regolato il piatto?

Quando ora inserisco la formula per calcolare il pH come previsto, si legge 4.0 per la soluzione di riferimento 4.0. Ma ora rovina la soluzione 7.0 mentre abbiamo regolato il piatto ma non lo abbiamo compensato per quanto vedo? Ho anche provato le formule del pH regolato, ma immagino che siano destinate al primo codice che abbiamo avuto e non a questo modificato.

Quindi cosa mi manca tra i passaggi 2 e 3 che rovina le cose qui? Inoltre, dichiari che l'inversione sottraendo da 1024 è corretta, ma quando lo faccio le letture della tensione diventano meno.

Un'altra cosa che mi chiedo; se il vaso deve essere un pendio, non dovrebbe essere diverso da quello accanto (dove uno lineare ha più senso)? Perché non lo è, entrambi leggono "W103 / 143C". Nel frattempo, il venditore ne invia gentilmente uno sostitutivo per assicurarsi che non sia un difetto hardware da qualche parte.

Prossimo aggiornamento: :)

Quindi ora sono tornato al mio codice originale per provare i calcoli del pH regolato. Ho usato la soluzione di riferimento 7.0 per calibrare di nuovo e poi ho misurato la soluzione 4.0. Legge 4.1! Ok, non del tutto azzeccato ma neanche male. È una piccola differenza che potrebbe anche derivare dalla sonda, non la più costosa.

Quindi mi chiedo se dovremmo ancora provare a far funzionare l'altro approccio perché per qualche motivo suona meglio (più scientifico?). Comunque, questo è almeno molto meglio di niente :)

Alimentazione USB vs collegata? Un'altra cosa strana sembra accadere quando scollego il Nano dalla porta USB del mio laptop e alimentarlo invece tramite un lampone. Voglio usare I2C per inviare il valore dal Nano all'RPi. Funziona, ma non appena alimento il nano dall'Rpi (5V collegato a vIn), il valore di pH calcolato scende?

Anche questo mi interessa, perché presto potrei usare uno di quei sensori. Verifica se i link in questa pagina sono utili: https://www.tindie.com/products/rezahussain/dormant-labs-ph-module-v2/
Sembra esserci una notevole mancanza di informazioni su questi moduli, da parte dei venditori eBay che ho letto. Immagino che nessuno di loro sappia cosa fanno. Se potessi trovare una scheda tecnica, potrebbe essere d'aiuto. Forse se pubblichi che tipo di chip ci sono sul tabellone, potresti restringere il campo di ciò che potrebbero fare le modifiche.
Ho inviato una mail al venditore con una richiesta di informazioni, aggiornerò quando le ricevo (e scriverò un post sul blog). Per quanto riguarda i tipi di chip, va bene ma dovrò controllare stasera quando sono a casa :)
@Jerry; grazie, ma questo è un modulo diverso che ha la calibrazione del software invece delle manopole hardware. Non sono le stesse e quindi non ci sono molte informazioni utili.
Penso di avere esattamente lo stesso sensore e ho provato a riprodurre la soluzione, ma senza risultati. Potresti condividere il codice che lo ha fatto funzionare per te? TIAThomas
@Thomas Temo che lo stato di "lavoro" sia durato solo un tempo molto breve. Sono tornato ad avere solo strani valori in uscita, questa tavola è solo una schifezza è la mia breve conclusione. Sto passando a una scheda Atlas che dovrebbe essere molto migliore.
Sei risposte:
slash-dev
2015-11-11 07:53:39 UTC
view on stackexchange narkive permalink

Lo schema mostra solo un trim pot (R23) e, come sospetti, imposta un livello per l'illuminazione del LED. Più di un indicatore GOOD / BAD, ed è disponibile sul pin DO.

L'altro potenziometro non è sullo schema. È segnato sulla lavagna? Forse R6, R7, R8 o R9? Probabilmente controlla il guadagno su p_AOUT.

t_AOUT è una tensione di temperatura analogica e sembra misurare la temperatura della scheda.

Modifica - ufficiale ma totalmente fasullo: Secondo la mia fonte segreta, dovresti mettere la sonda nella soluzione di riferimento pH 7.0 e, con Offset definito come 0.0, eseguire il programma e visualizzare il valore di pH calcolato. Potrebbe essere necessario diminuire il guadagno del potenziometro trim per ottenere numeri più piccoli (i più piccoli?). Ora prendi quel valore visualizzato e modifica la costante Offset nello schizzo in modo che sia 7.0 meno il valore visualizzato. Se il valore visualizzato è 8.1,

  #define Offset (-1.1)  

Crea e carica lo schizzo modificato. Questa volta, metti la sonda nella tua soluzione di riferimento pH 4.0 e regola il potenziometro del guadagno finché il valore visualizzato non è il più vicino possibile a 4.0. Questo lo calibrerà per soluzioni prevalentemente acide.


Modifica 1: Iterate?

Non è chiaro, ma mi chiedevo anche se questa procedura debba essere iterato. Torna a 7 e assicurati che la regolazione del guadagno non abbia modificato Offset . Quindi testare nuovamente la soluzione a pH 4; il guadagno pot può richiedere una piccola (er) modifica. Se sembra divergere, um, non farlo. ;) Penso che divergerebbe solo se la sonda avesse una risposta invertita, il che probabilmente significherebbe che è cattiva.

Se stai misurando soluzioni di base, esegui la stessa procedura con soluzioni di riferimento a pH 7.0 (ovviamente) e una soluzione di riferimento di base.

Voilà!

NB: per il test 7.0, è possibile cortocircuitare i pin della sonda insieme. Dovrebbe davvero sembrare un cortocircuito quando pH == 7.0. Se il passaggio all'utilizzo della sonda reale nella soluzione pH 7.0 fornisce letture completamente diverse, la sonda potrebbe essere difettosa. Se sei in grado di calibrarlo, potrebbe essere "abbastanza buono".


Modifica 2: correggi le formule nello schizzo fornito.

Lo schema mostra un amplificatore operazionale non invertente con PH + sull'ingresso, e p_AOUT sull'output. Il guadagno (regolabile?) È

  R9 / R8 + 1 = 10k / 10k + 1 = 2  

La pendenza di una risposta della sonda ideale è - 59 mV / pH. Sperimentalmente stavi ottenendo una pendenza negativa, che concorda con lo schema. Credo che fosse corretto "invertire" il valore analogRead sottraendolo da 1024. Non è possibile che il codice fornito abbia funzionato con una pendenza positiva di 3.5.

La tensione di riferimento fornita al pin PH- è la metà della tensione del diodo zener ... che non è identificata. Potrebbe essere la parte molto comune a 5.1 V, che essenzialmente costringe PH- a

  5.1V / ((R6 + R7) / R6) = 5.1V / 2 = 2.55V  

Dico probabilmente, perché di solito si desidera che l'oscillazione della tensione della sonda più o meno abbia più spazio possibile. Ciò implicherebbe che (ideale) analogRead di pH 7.0 sia

  2.55V / 5.0V * 1024 = 522  

Questo è il "centro" dell'oscillazione della sonda intorno a pH 7.0.

Passaggio 1: determinare la tensione di riferimento

A pH 7.0, stampare il codice analogRead grezzo > valore di ritorno, prima di invertirlo. (Il pot wiper dovrebbe essere al suo limite. In che modo, non lo so. Cambiare il potenziometro del guadagno non dovrebbe cambiare molto analogRead all'estremità del guadagno basso. Se lo cambia , spostalo all'altro estremo.)

Come affermato in precedenza, è possibile eseguire il test pH 7.0 cortocircuitando il pin del connettore BNC sullo schermo o utilizzando la soluzione di riferimento. Per ora consiglio di cortocircuitare, per eliminare ogni possibile interferenza dalla sonda. Determinerà in modo assoluto l'offset, ma solo se il guadagno è il più piccolo possibile. Devi iniziare da qui. Una volta che conosci la lettura centrale, puoi cambiare il codice per visualizzare la tensione:

  #define CENTER 522int avgValue = 0; for (int i = 2; i<8; i ++) // prendi il valore medio di 6 campioni centrali avgValue + = (buf [i] - CENTER); float voltage = (((float) avgValue) / 6.0) * (5.0 / 1024.0);  

Stampa questo fuori. Faresti meglio a ottenere qualcosa di vicino a 0,0 ... non farmi venire laggiù. :)

Passaggio 2: imposta il potenziometro del guadagno.

Questo determina la pendenza, ma devi massimizzare lo swing per il pH più estremo che vuoi leggere, diciamo 4.0. Usando la soluzione di riferimento 4.0, regola il potenziometro del guadagno in modo che la tensione visualizzata sia vicina a + 2.5V, diciamo + 2.25V per assicurarti che non sia fissata a 1024 (vediamo, la pendenza è negativa, 4.0 è < 7.0, quindi la tensione dovrebbe aumentare ...) Con quella lettura, puoi calcolare il pH / V:

  -3pH / 2.25V = -1.33 pH / V  

Passaggio 3: calcola e stampa pH

Modifica il calcolo originale per utilizzare la pendenza pH / V:

  float phValue = voltage * (-1.33) + 7.0;  

Questo non è nemmeno vicino a phValue = 3.5 * voltage + Offset . -_- Ho trovato diverse fonti ora che fanno eco alla mia risposta originale. Totalmente sbagliato e sbagliato al punto da fuorviare. Penso che questi passaggi lo faranno. Comunque suona bene nella mia testa. : D


Modifica 3: "La prossima domanda è come convertirlo in una formula adatta?"

Ok, se non vuoi correggere la formula nel codice, puoi adattare una curva lineare o quadratica ai tuoi dati. Linear è effettivamente consigliato come "abbastanza buono" e questa è effettivamente la modifica suggerita in Modifica 2 . Se usassimo solo i punti dati, però, questa sarebbe l'approssimazione lineare:

  float adjustedPh = phValue * 1.627 - 2.499;  

... e l'approssimazione quadratica:

  float adjustedPh = (-0.01796 * phValue + 1.8056) * phValue - 2.94;  
Una fonte segreta eh? Sembra interessante :) Comunque, proverò questo approccio. Le mie letture sono lontane da 7, quindi significa che l'offset sarà qualcosa come 5 o 6, sembrava un po 'troppo lontano. Inoltre, quando aggiusto il potenziometro del guadagno per la soluzione 4.0, non rovinerà anche la lettura 7.0? Ci proverò stasera quando sono a casa.
Sì, ho pensato anche all'iterazione perché è così che funziona per il mio misuratore normale. Il problema è che questa configurazione ora ha due offset; uno come il piatto sulla lavagna, uno nel software. Cambiare uno per 4.0 rovina il 7.0 altrettanto rapidamente. L'unico modo in cui funzionerebbe è quando il software applica una pendenza o lo fa il vaso. Nemmeno per quanto posso vedere. Ho provato la tua soluzione, vedi aggiornamento.
@Jasper, non pubblichi da diversi giorni, anche se vedo che l'hai visitato. Hai provato "Modifica 2" o "Modifica 3"?
Mi dispiace, hai ragione. Ho letto la tua risposta ma non sono riuscito a testarla. Ora ho, vedi l'aggiornamento sopra.
Btw la taglia è scaduta ma sono più che disposto a concederla a te. Fammi sapere se vuoi provare a far funzionare l'altra soluzione, altrimenti vado a farne una nuova + rispondo.
* Sigh. * Modifica 2 avrebbe dovuto funzionare se lo schema fosse corretto. Non deve essere giusto. Sembra che diversi produttori lo abbiano semplicemente copiato nei loro siti web. La tua scheda ha un transistor extra che non è sullo schema, quindi non penso che valga la pena di scherzare con la soluzione "corretta" finché non conosci lo schema. Se Edit 3 è abbastanza buono, perché preoccuparsi del reverse engineering * questa * scheda? Per quanto riguarda l'assegnazione della taglia, questo sembra qualcosa che un moderatore farebbe per evitare una domanda e una risposta duplicate. Potresti contrassegnare questo commento per attirare la loro attenzione?
Fatto (bandiera). E hai ragione. Quello che ho è abbastanza buono per ora, almeno i valori sono in qualche modo credibili. A tempo debito ho intenzione di aggiornare a un modulo atlante, penso, quelli dovrebbero essere molto migliori (https://www.atlas-scientific.com/product_pages/sensors/ph-sensor.html)
RSM
2016-01-13 13:47:42 UTC
view on stackexchange narkive permalink

Alimentazione USB vs collegata

Solo per aggiungere i miei 2 centesimi al tuo ultimo aggiornamento sull'USB o 5V dal PI.

Dici di collegarlo al VIN:

non appena alimento il nano dall'RPi (5V collegato a vIn), il valore di pH calcolato scende?

Se guardi l'immagine sotto, vedi che Vin va a un buon vecchio 7805, che ha bisogno di una tensione IN> 7.5V, quindi l'uscita quando è collegata ai 5V del PI sarà letture molto basse e quindi confondere.

enter image description here

Ti consiglio di collegare la tua alimentazione dal PI al VCC di arduino poiché questo è un 5v regolamentato e non ha bisogno di essere regolato di nuovo.

Non sono del tutto sicuro di aver capito. Dichiari che dovrebbe aver bisogno di> 7,5 V per funzionare correttamente. Ma quando collego l'alimentazione dal Pi al VCC di Arduino; di quanti volt stiamo parlando allora? * Pensavo * che fosse 5V ma forse mi sbaglio? Quale porta del mio calzolaio devo utilizzare per connettermi a VCC?
Da quello che ho letto sulla tua modifica hai detto di aver collegato il Pi `5V` al nanos` Vin` se è così, devi collegare * VCC - VCC *
larzz11
2015-11-10 15:51:16 UTC
view on stackexchange narkive permalink

Non so se questa sia una risposta completa, ma non posso ancora commentare.

La funzione analogRead in Arduino che viene utilizzata dal tuo sensore legge valori da 0 a 5V. Divide i valori tra 0 e 5V in 1024 passi. Quindi restituisce un valore compreso tra 0 e 1023. Ecco perché viene moltiplicato per 5. È più facile capire se il calcolo viene eseguito in ordine inverso. Esempio:

analogRead restituisce 512, quindi è su 1024/512 = 0,5a parte del suo intervallo. Moltiplicalo per 5,0 per ottenere la tensione effettiva. 0,5 * 5,0 = 2,5. Viene quindi diviso per 6 per ottenere la media.

Vorrei anche cambiare l'ordine di calcolo. I commenti dicono che calcola la media, ma non aggiunge solo i valori. Alla fine lo divide per 6 in modo che non causi l'errore, ma per la leggibilità è generalmente buona norma lasciare che il codice faccia quello che dicono i commenti.

Grazie, poiché questo non risolve il problema che non segnerò come risposta, ma è comunque un input prezioso. Il codice arriva dall'esempio, lo migliorerò e rifarò il calcolo, anzi sembra avere più senso.
Un'altra cosa. Sei sicuro che i collegamenti siano corretti? I risultati assomigliano molto a quando si misura un partitore di tensione sul resistore sbagliato. Quindi prova a invertire le tue misurazioni, quindi: MeasuredValue = 1024 - analogWrite (pin);
Grazie, ho utilizzato il suggerimento per invertire le misurazioni. Migliorata la lettura ma non risolto il problema.
JRobert
2015-11-10 19:02:39 UTC
view on stackexchange narkive permalink

Come primo approccio, raccoglierei un numero di misurazioni da ciascuno dei tanti noti che riesci a trovare o creare e le traccerei per un indizio visivo della linearità o meno (probabilmente no) dell'output del sensore rispetto a pH. Potresti provare ad adattare a bulbo oculare una curva ai dati; interpola linearmente tra i punti campione se ne hai abbastanza; oppure esegui un adattamento approssimativo ai minimi quadrati. La chiave è che avrai bisogno di dati sufficienti, noti, per fare in modo che l'approccio che utilizzi fornisca risultati sufficientemente accurati per l'uso previsto. (Ovviamente questo sarà diverso se hai solo bisogno di sapere se qualcosa è acido o basico, o stai monitorando acquari di pesci tropicali, ecc.)

Aggiornamento: se il tuo pHmetro è abbastanza buono per il pesce e se il tuo sensore è sufficientemente ripetibile e sensibile, perché non controllare il tuo misuratore rispetto ai due standard, quindi calibrare il sensore sul tuo strumento? Una volta che sei soddisfatto del risultato, chiudi le viti con una piccola quantità di smalto (non è molto a prova di manomissione ma sarà a prova di manomissione). Uno standard a pH 10.0 non ti sarà molto utile; a quell'estremo saprai già che il pH è fuori e probabilmente non ti interesserà il valore esatto. Hai bisogno della tua precisione tra i limiti tollerabili dal pesce, vicino all'obiettivo di pH, infatti, se ti fidi del tuo misuratore, non hai nemmeno bisogno degli standard. In tal caso, è necessario preparare solo alcuni campioni come descritto, coprendo l'intervallo di pH di interesse e utilizzarli per calibrare il sensore sullo strumento.

È davvero un acquario. Capisco l'approccio, ma non ho molti "noti", al momento solo fluidi di riferimento 4.0 e 7.0. Potrei acquistare un ulteriore 10.0 ma mi chiedo se lo farà. Un'altra cosa che potrei provare è prendere l'acqua del rubinetto e un limone (o qualche altro acido) per aumentare gradualmente l'acidità. Ho anche un normale pHmetro che potrei usare per monitorare i valori. Immagino che le misurazioni mi direbbero di più. Il problema che ho con questo è che questo ancora non mi dice a cosa servono i resistori e come * dovrebbe * funzionare. Forse è solo un modulo difettoso, chi lo sa.
Eric Kelly
2015-11-11 09:45:31 UTC
view on stackexchange narkive permalink

Non posso fare una domanda, ma assicurati di dargli abbastanza potenza per l'elemento riscaldante, non è molto ma non sai mai provare una fonte di alimentazione separata se non lo sei.

Ora hai citato il nano, stai usando un 3.3v nano o un 5V nano? (il regolatore avrebbe 33 o 50 su di esso dopo una o due lettere) se 3,3 V e supponendo che dal codice di esempio diano l'uscita analogica è 5 V, sarà necessario un cambio di livello per mappare a 3,3 V, quindi modificare il calcoli da utilizzare 3.3 invece di 5 valore. se non è così e non è alimentazione o connessioni, potrebbe essere rotta o la sonda ecc ... ci sono alcune variabili.

Utilizzando un nano 5V. Ho collegato il modulo a entrambe le uscite 3,3 V e 5 V, le letture sono le stesse.
AeternaMens
2016-01-02 03:56:22 UTC
view on stackexchange narkive permalink

Alimentazione USB vs collegato

Leggilo e utilizza l'attuale Vcc anziché 5.0 nel tuo codice. p>

Ho lo stesso sensore e ho lo stesso problema. Sarò felice se condividi il codice funzionante completo in questo thread.

Per favore, non limitarti a pubblicare un link. Il collegamento potrebbe non funzionare. Se contiene informazioni utili, riassumile o dichiarale qui.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...