2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Napravili smo mjerni uređaj za mjerenje slanosti vode pomoću magnetskog polja i linearnog senzora Hall -a. Za izradu smo koristili Foton čestica, no mogao se koristiti i Arduino koji radi praktički na isti način.
Za izradu ovog projekta potrebno vam je nekoliko stvari:
- Čestice/arduino uključujući matičnu ploču i neke kabele
- linearni Hall senzor
- neki magneti (koristili smo male, ali jake neodimijske magnete)
- kemijska olovka
- neka traka
Korak 1: Spremnik
Olovka će se koristiti kao spremnik pa samo izvadite iglu kako biste imali samo plastičnu posudu.
Zatvorite malu rupu trakom i zalijepite magnete blizu male rupe sa strane olovke.
Korak 2: Povežite česticu/Arduino
Spojite česticu ili arduino na matičnu ploču. Također spojite linearni Hall senzor na isti način kao na slici, gornji pin na 3,3 V, srednji pin na GND i donji pin na analogni ulaz.
Korak 3: Kôd
Na fotonu čestica možete samo pritisnuti pin koji ste koristili kao ulaz i upotrijebiti funkciju analogRead za dobivanje vrijednosti od Hall -ovog senzora.
Ako želite da se to radi automatski ili ako koristite arduino, trebat će vam kôd koji izgleda otprilike ovako:
// pin za mjerenje fromint analogPin = A0;
// vrijeme, u milisekundama, između mjerenja.
// budući da ne možete objaviti previše događaja, i ovo mora biti najmanje 1000
int delayTime = 5000;
// naziv događaja tako da ćete prepoznati mjerenja koja teku
String eventName = "mjerenje/salinitet";
String laag = "Low";
String middel = "Srednji";
String hoog = "Visoko";
void setup () {
}
void loop () {{100} {101}
int mjerenje = analogRead (analogPin);
if (mjerenje <= 1750) {
Particle.publish (eventName, laag); }
if (mjerenje> = 1751 && mjerenje <= 1830) {
Particle.publish (eventName, middel);
}
if (mjerenje> = 1831 && mjerenje <= 2100) {
Particle.publish (eventName, hoog);
}
if (mjerenje> = 2101) {
}
delay (delayTime);
}
Korak 4: Izmjerite
Naravno, vrijednosti u kodu morat će se kalibrirati prema slanosti koju koristite, pa naprijed i uzmite 3 šalice vode. Šalica 1 bit će samo voda, čaša 3 bit će potpuno zasićena solju, a šalica 2 bit će negdje između.
Uzmite jednu šalicu i ulijte malo vode u olovku.
Držite olovku pored Hall -ovog senzora s magnetima koji strše s druge strane (tako će voda biti u sendviču između magneta i senzora)
Pomoću funkcije analogRead provjerite vrijednost vode koju koristite i upotrijebite tu vrijednost u kodu.
Vrijednosti koje smo mjerili bile su:
samo voda: 1720
Zasićeno solju: 1840
negdje između: 1760