Programma Bodemvochtigheidssensor

algemene C code
Berichten: 2
Geregistreerd: 04 Feb 2017, 13:13

Programma Bodemvochtigheidssensor

Berichtdoor lut.dheer » 04 Feb 2017, 13:21

kunnen jullie mijn programma eens bekijken? Ik weet niet of het helemaal correct is zo.

Ik wil analoge waarden aflezen via een TM1636.

Ik weet dat ik nog een "formuletje" zal moeten zoeken om de waarden juist te benaderen. (zoals bij temperatuurmeter: temperatuur = meetwaarde/6 -62; )

HIER IS MIJN PROGRAMMA:
#define BODEMVOCHTIGHEIDSSENSOR A0
#include <TM1636.h>
TM1636 tm1636 (7,8);

int8_t disp[4];

int bodemvochtigheid;
int meetwaarde;

void setup() {
Serial.begin(9600);
tm1636.init();
}

void loop() {
meetwaarde = analogRead(BODEMVOCHTIGHEIDSSENSOR°.
bodemvochtigheid = meetwaarde
Serial.println(bodemvochtigheid);
disp[0]= (int8_t)bodemvochtigheid /10;
disp[1]= (int8_t)bodemvochtigheid %10;
delay (1000);
}

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Programma Bodemvochtigheidssensor

Berichtdoor Koepel » 04 Feb 2017, 16:22

Kun je een beetje langzamer gaan ;)

Probeer eerst maar eens om de analoge waarde te lezen en die naar de seriële monitor te sturen. Dan kun je kijken of je er iets mee kunt.
Die vochtigheidssensor gebruikt een DC spanning. Dat gaat al snel problemen opleveren. Ik heb een vochtigheidssensor met twee metalen in de grond, waar geen DC spanning op staat. Als ik ga meten, dan gebruik ik wisselende polariteit om de geleiding te meten. Na een paar jaar werkt dat ook niet goed meer.
Voor zover ik weet werkt alleen capacitieve meting betrouwbaar: https://www.tindie.com/products/miceuz/chirp-plant-watering-alarm/.

Uit die vochtigheidssensor komt een getal. Dat zegt iets over de elektrische geleidbaarheid van de grond. Maar het is heel erg vaag :? Het hangt af van de temperatuur, van de opgeloste zouten en mineralen in de grond. En met die twee pinnen van jouw gaat de DC spanning voor elektrolyse/polarisatie (de juiste naam ben ik even vergeten) zorgen.

Een Arduino Uno is nog steeds het meest eenvoudigste board om mee te beginnen.
Heb je dat display al gekocht ? Dan kun eerst proberen om er een paar getallen op te zetten.
Wanneer je een bibliotheek gebruikt, kun je er dan een link naar toe geven, of vertellen hoe je het hebt geïnstalleerd ?

Die grondvochtigheidssensor kun je meteen met de Arduino verbinden. Meestal is een extra breadboard handig. En een stel draden natuurlijk.

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Programma Bodemvochtigheidssensor

Berichtdoor shooter » 04 Feb 2017, 18:44

cpp code
//HIER IS MIJN PROGRAMMA:
#define BODEMVOCHTIGHEIDSSENSOR A0 /* prima bedacht gebruik een kortere naam als deze maar duidelijk is */
#include <TM1636.h> /*als je een lib gebruikt zet er dan even bij welke (is deze van Chu*/
TM1636 tm1636 (7,8);// geef het een andere naam zoals segmentdisplay

int8_t disp[4];//array voor display

int bodemvochtigheid;
int meetwaarde;

void setup() {
Serial.begin(9600);
tm1636.init();// hier dus ook een andere naam
}

void loop() {
meetwaarde = analogRead(BODEMVOCHTIGHEIDSSENSOR); // ; stond er niet,
bodemvochtigheid = map(meetwaarde,fromLow,fromHigh,toLow,toHigh);/*deze nog definieren zoals je met meetwaarde ook gedaan hebt */
Serial.println(bodemvochtigheid);
disp[0]= (int8_t)bodemvochtigheid /10;
disp[1]= (int8_t)bodemvochtigheid %10;
/* ja dan staan ze in een array maar nog niet op het display, daarvoor zul je dus moeten kijken hoe dat kan op de tm1636
dat is afhankelijk van de lib die je gebruikt.
tm1636.clear;
bijvoorbeeld tm1636.display(disp[]);

*/

delay (1000);
}


volgende stap is om er een functie te maken die je elke seconde oproept, dat is voor de toekomst erg handig.
paul deelen
shooter@home.nl

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten