2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Zrobiliśmy urządzenie pomiarowe do pomiaru zasolenia wody za pomocą pola magnetycznego i liniowego czujnika Halla. Do jego wykonania użyliśmy Particle Photon, ale można też użyć Arduino, ponieważ działają one praktycznie w ten sam sposób.
Aby wykonać ten projekt, potrzebujesz kilku rzeczy:
- Cząstka/arduino, w tym płytka stykowa i kilka kabli
- liniowy czujnik halla
- niektóre magnesy (zastosowaliśmy małe, ale mocne magnesy neodymowe)
- długopis
- trochę taśmy
Krok 1: Pojemnik
Długopis będzie używany jako pojemnik, więc śmiało wyjmij szpilkę, aby mieć tylko plastikowy pojemnik.
Zamknij mały otwór taśmą i przyklej magnesy w pobliżu małego otworu z boku długopisu.
Krok 2: Podłącz cząsteczkę/Arduino
Podłącz cząstkę lub arduino do płytki stykowej. Podłącz również liniowy czujnik Halla w taki sam sposób jak na zdjęciu, górny pin do 3,3 V, środkowy pin do GND, a dolny pin do wejścia analogowego.
Krok 3: Kodeks
Na fotonie cząstek wystarczy nacisnąć pin, którego użyłeś jako wejście i użyć funkcji analogRead, aby uzyskać wartość z czujnika Halla.
Jeśli chcesz, aby było to zrobione automatycznie lub jeśli używasz arduino, potrzebujesz kodu wyglądającego mniej więcej tak:
//pin do pomiaru odint analogPin = A0;
//ilość czasu w milisekundach między pomiarami.
//ponieważ nie można publikować zbyt wielu wydarzeń, to musi być co najmniej 1000
int czaszwłoki = 5000;
//nazwa zdarzenia, dzięki której rozpoznasz napływające pomiary
String eventName = "pomiar/zasolenie";
Ciąg laag = "Niski";
Middel ciągu = "Średni";
String hoog = "Wysoki";
pusta konfiguracja (){
}
pusta pętla () {
pomiar int = analogRead (analogPin);
jeśli (pomiar <=1750){
Cząstka.publish(nazwa zdarzenia, laag); }
if(pomiar>=1751 && pomiar<=1830){
Cząstka.publish(nazwa zdarzenia, middel);
}
jeśli (pomiar>=1831 && pomiar <=2100){
Cząstka.publish(nazwa zdarzenia, hoog);
}
jeśli (pomiar>=2101){
}
opóźnienie (czas opóźnienia);
}
Krok 4: Zmierz
Oczywiście wartości w kodzie będą musiały być skalibrowane do zasolenia, którego używasz, więc śmiało weź 3 szklanki wody. Kubek 1 będzie tylko wodą, kubek 3 będzie w pełni nasycony solą, a kubek 2 będzie gdzieś pomiędzy.
Chwyć jedną z filiżanek i wlej trochę wody do długopisu.
Trzymaj długopis obok czujnika Halla z magnesami wystającymi z drugiej strony (tak, aby woda została wciśnięta między magnesy a czujnik)
Użyj funkcji analogRead, aby zobaczyć wartość używanej wody i użyj tej wartości w kodzie.
Zmierzone przez nas wartości to:
tylko woda: 1720
Nasycony solą: 1840
gdzieś pomiędzy: 1760