Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Vi laget en måleenhet for å måle vannets saltholdighet ved hjelp av et magnetfelt og en lineær hallsensor. For å gjøre det brukte vi en Particle Photon, men en Arduino kan også brukes da de fungerer praktisk talt på samme måte.
For å lage dette prosjektet trenger du et par ting:
- Partikkel/arduino inkludert et brødbrett og noen kabler
- en lineær hallsensor
- noen magneter (vi brukte små, men sterke neodymmagneter)
- en penn
- litt tape
Trinn 1: Beholderen
Pennen vil bli brukt som en beholder, så ta ut pinnen slik at du bare har plastbeholderen.
Lukk det lille hullet med litt tape, og teip magnetene nær det lille hullet på siden av pennen.
Trinn 2: Koble til partikkelen/Arduino
Koble partikkelen eller arduinoen til brødbrettet. Koble også den lineære hallsensoren på samme måte som på bildet, den øverste pinnen til 3,3V, den midterste pinnen til GND og den nederste pinnen til en analog inngang.
Trinn 3: Koden
På partikkelfoton kan du bare trykke på pinnen du brukte som inngang og bruke funksjonen analogRead for å få verdien fra hallsensoren.
Hvis du vil at det skal gjøres automatisk, eller hvis du bruker en arduino, trenger du en kode som ser omtrent slik ut:
// pinnen for å måle fraint analogPin = A0;
// tiden, i millisekunder, mellom målingene.
// siden du ikke kan publisere for mange arrangementer, har dette også vært minst 1000
int delayTime = 5000;
// et hendelsesnavn, slik at du gjenkjenner målingene som strømmer inn
String eventName = "måling/saltholdighet";
String laag = "Lav";
String middel = "Medium";
String hoog = "Høy";
ugyldig oppsett () {
}
void loop () {
int måling = analogRead (analogPin);
hvis (måling <= 1750) {
Particle.publish (eventName, laag); }
if (måling> = 1751 && måling <= 1830) {
Particle.publish (eventName, middel);
}
if (måling> = 1831 && måling <= 2100) {
Particle.publish (eventName, hoog);
}
hvis (måling> = 2101) {
}
forsinkelse (delayTime);
}
Trinn 4: Mål
Selvfølgelig må verdiene i koden kalibreres til saltholdigheten du bruker, så fortsett og få 3 kopper vann. Kopp 1 vil bare være vann, Kopp 3 vil være fullmettet med salt og Kopp 2 vil være et sted i mellom.
Ta en av koppene og hell litt av vannet i pennen.
Hold pennen ved siden av hallsensoren med magneter som stikker ut på den andre siden (slik at vannet blir klemt mellom magnetene og sensoren)
Bruk funksjonen analogRead for å se verdien for vannet du bruker, og bruk den verdien i koden.
Verdiene vi målte var:
bare vann: 1720
Mettet med salt: 1840
et sted i mellom: 1760