Particle Photon Salinity Meter - Ajarnpa
Particle Photon Salinity Meter - Ajarnpa
Anonim
Deeltjes Foton Zoutgehalte Meter
Deeltjes Foton Zoutgehalte Meter

We hebben een meetapparaat gemaakt om het zoutgehalte van water te meten met behulp van een magnetisch veld en een lineaire hall-sensor. Om het te maken hebben we een Particle Photon gebruikt, maar een Arduino kan ook worden gebruikt omdat ze praktisch op dezelfde manier werken.

Om dit project te maken heb je een aantal dingen nodig:

- Particle/arduino inclusief breadboard en wat kabels

- een lineaire hall-sensor

- enkele magneten (we gebruikten kleine maar sterke neodymiummagneten)

- een pen

- wat tape

Stap 1: De container

De houder
De houder

De pen wordt gebruikt als een container, dus ga je gang en haal de pin eruit, zodat je alleen de plastic container hebt.

Sluit het kleine gaatje met wat tape en plak de magneten dicht bij het kleine gaatje aan de zijkant van de pen.

Stap 2: Verbind het deeltje/Arduino

Verbind het deeltje/Arduino
Verbind het deeltje/Arduino

Verbind het deeltje of de arduino met het breadboard. Sluit ook de lineaire hall-sensor aan op dezelfde manier als op de afbeelding, de bovenste pin op 3.3V, de middelste pin op GND en de onderste pin op een analoge ingang.

Stap 3: De code

Op het deeltjesfoton kun je gewoon op de pin drukken die je als invoer hebt gebruikt en de functie analogRead gebruiken om de waarde van de hall-sensor te krijgen.

Als je wilt dat het automatisch wordt gedaan of als je een arduino gebruikt, heb je een code nodig die er ongeveer zo uitziet:

// de pin om te meten van int analogPin = A0;

//de hoeveelheid tijd, in milliseconden, tussen metingen.

// aangezien je niet te veel evenementen kunt publiceren, moet dit ook minstens 1000 zijn

int vertragingstijd = 5000;

// een gebeurtenisnaam zodat je de binnenstromende metingen kunt herkennen

String eventName = "meting/zoutgehalte";

String laag = "Laag";

String middel = "Gemiddeld";

String hoog = "Hoog";

ongeldige setup(){

}

lege lus(){

int meting = analogRead (analogPin);

if(meting<=1750){

Particle.publish(eventName, laag); }

if(meting>=1751 && meting<=1830){

Particle.publish(eventName, midden);

}

if(meting>=1831 && meting<=2100){

Particle.publish(eventName, hoog);

}

if(meting>=2101){

}

vertraging (vertragingstijd);

}

Stap 4: Meten

Natuurlijk moeten de waarden in de code worden gekalibreerd op het zoutgehalte dat je gebruikt, dus ga je gang en haal 3 kopjes water. Cup 1 zal gewoon water zijn, Cup 3 zal volledig verzadigd zijn met zout en Cup 2 zal er ergens tussenin zitten.

Pak een van de kopjes en giet wat van het water in de pen.

Houd de pen naast de hall-sensor met de magneten aan de andere kant naar buiten (zodat het water tussen de magneten en de sensor wordt geklemd)

Gebruik de functie analogRead om de waarde te zien voor het water dat je gebruikt en gebruik die waarde in de code.

De waarden die we hebben gemeten waren:

gewoon water: 1720

Verzadigd met zout: 1840

ergens tussenin: 1760