Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Vi gjorde en mätanordning för att mäta salthalten i vatten med hjälp av ett magnetfält och en linjär hallsensor. För att göra det använde vi en Particle Photon, men en Arduino kan också användas eftersom de fungerar praktiskt taget på samma sätt.
För att göra detta projekt behöver du ett par saker:
- Partikel/arduino inklusive en brödbräda och några kablar
- en linjär hallsensor
- några magneter (vi använde små men starka neodymmagneter)
- en penna
- lite tejp
Steg 1: Behållaren
Pennan kommer att användas som en behållare så fortsätt och ta ut stiftet så att du bara har plastbehållaren.
Stäng det lilla hålet med lite tejp och tejp fast magneterna nära det lilla hålet på sidan av pennan.
Steg 2: Anslut partikeln/Arduino
Anslut partikeln eller arduino till brödbrädan. Anslut också den linjära hallsensorn på samma sätt som på bilden, den övre stiftet till 3,3V, mittstiftet till GND och den nedre stiftet till en analog ingång.
Steg 3: Koden
På partikelfoton kan du bara trycka på stiftet du använde som ingång och använda funktionen analogRead för att få värdet från hallsensorn.
Om du vill att det ska göras automatiskt eller om du använder en arduino behöver du en kod som ser ut så här:
// stiftet som ska mätas frånint analogPin = A0;
// tiden, i millisekunder, mellan mätningarna.
// eftersom du inte kan publicera för många evenemang har det också varit minst 1000
int delayTime = 5000;
// ett evenemangsnamn så att du känner igen mätningarna som strömmar in
String eventName = "mått/salthalt";
String laag = "Låg";
String middel = "Medium";
String hoog = "High";
void setup () {
}
void loop () {
intmätning = analogRead (analogPin);
if (mätning <= 1750) {
Particle.publish (eventName, laag); }
if (mätning> = 1751 && mätning <= 1830) {
Particle.publish (eventName, middel);
}
if (mätning> = 1831 && mätning <= 2100) {
Particle.publish (eventName, hoog);
}
if (mätning> = 2101) {
}
delay (delayTime);
}
Steg 4: Mät
Självklart måste värdena i koden kalibreras till salthalten du använder så fortsätt och få 3 koppar vatten. Kopp 1 blir bara vatten, Kopp 3 blir helt mättad med salt och Kopp 2 kommer att ligga någonstans däremellan.
Ta en av kopparna och häll lite av vattnet i pennan.
Håll pennan bredvid hallsensorn med magneterna som sticker ut på andra sidan (så att vattnet kommer att klämmas in mellan magneterna och sensorn)
Använd funktionen analogRead för att se värdet för vattnet du använder och använd det värdet i koden.
Värdena vi mätte var:
bara vatten: 1720
Mättad med salt: 1840
någonstans däremellan: 1760