analoge sensor input met relais uitgang
18 berichten
• Pagina 2 van 2 • 1, 2
Re: analoge sensor input met relais uitgang
Hallo Nico,
Komt dit in de buurt??
Komt dit in de buurt??
- Code: Alles selecteren
const int relais1 = 3;
unsigned long previousMillis = 0; // will store last time LED was updated
// constants won't change:
const long interval = 5000; // interval at which to blink (milliseconds)
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(relais1, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
unsigned long currentMillis = millis();
int sensorValue1 = analogRead(A0);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 9V):
float voltage1 = sensorValue1 * (9 / 1023.0);
if ( voltage1 < 1.80) {
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
digitalWrite (relais1, HIGH);
}
}
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
digitalWrite (relais1, LOW);
}
}
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: analoge sensor input met relais uitgang
Niet helemaal. Ik maak gebruik van een bool die aangeeft of de timer al loopt. Immers als deze al is gestart, dan moet je hem niet opnieuw starten. Als ik jouw specificaties goed begreep was het de bedoeling dat zodra de spanning onder de 1.8V kwam dat het relais gedurende de interval tijd aan gaat.
Dat doet mijn pseudo code. In de tweede stap gaat mijn code kijken of de timer loopt (dus nu vraag je die bool uit). En als hij loopt kijk je of de timer is verlopen. Zo ja dan gaat het relais uit. en wordt de bool op false gezet.
Bij die derde (optionele stap) kijk ik of de spanning weer boven de 1.8V is. Dan zet die het relais uit.
Blijft natuurlijk de vraag wat doe je als de spanning onder de 1.8V langer als het interval duurt. In mijn schakeling wordt hij gelijk weer aangezet. En daar een loop als deze al gauw 10000x of meer per seconde wordt uitgevoerd, wordt het relais direct weer ingeschakeld voor een volgende periode.
Dat doet mijn pseudo code. In de tweede stap gaat mijn code kijken of de timer loopt (dus nu vraag je die bool uit). En als hij loopt kijk je of de timer is verlopen. Zo ja dan gaat het relais uit. en wordt de bool op false gezet.
Bij die derde (optionele stap) kijk ik of de spanning weer boven de 1.8V is. Dan zet die het relais uit.
Blijft natuurlijk de vraag wat doe je als de spanning onder de 1.8V langer als het interval duurt. In mijn schakeling wordt hij gelijk weer aangezet. En daar een loop als deze al gauw 10000x of meer per seconde wordt uitgevoerd, wordt het relais direct weer ingeschakeld voor een volgende periode.
Re: analoge sensor input met relais uitgang
Wellicht is dit beter?
Als de spanning boven de 1.80 Volt is dan moet het relais voor 5 seconden hoog gaan. (dit heb ik even aangepast)
Het maakt niet uit dat het relais weer hoog gaat als de spanning boven de 1.80 volt blijft.
- Code: Alles selecteren
onst int relais1 = 3;
unsigned long previousMillis = 0; // will store last time relais was updated
// constants won't change:
const long interval = 5000; // interval at which to switch (milliseconds)
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(relais1, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
unsigned long currentMillis = millis();
int sensorValue1 = analogRead(A0);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 9V):
float voltage1 = sensorValue1 * (9 / 1023.0);
if ( voltage1 > 1.80) {
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
digitalWrite(relais1, HIGH);
} else {
digitalWrite(relais1, LOW);
}
}
}
Als de spanning boven de 1.80 Volt is dan moet het relais voor 5 seconden hoog gaan. (dit heb ik even aangepast)
Het maakt niet uit dat het relais weer hoog gaat als de spanning boven de 1.80 volt blijft.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: analoge sensor input met relais uitgang
Zal aan mij liggen maar hiervoor was het nog onder de 1.8v???? Dus jouw code lijkt absoluut niet op mijn pseudocode.
Re: analoge sensor input met relais uitgang
Dat klopt maar dat is toch niet een heel groot probleem?
Ik was in de veronderstelling dat de spanning minder werd als de sensor actief was maar die wordt dus meer dan 1.8 volt..
Ik was in de veronderstelling dat de spanning minder werd als de sensor actief was maar die wordt dus meer dan 1.8 volt..
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: analoge sensor input met relais uitgang
Dus nu gaat hij na 3 seconden naar beneden onder de 1.8v. Wanneer gaat het relais uit?
Re: analoge sensor input met relais uitgang
Nee wacht even Nico,
Ik zit helemaal vast en heb van alles geprobeerd. Met een Delay krijg ik het aan de praat maar ik wil geen Delay meer omdat ik meerdere zelfde sensoren uiteindelijk tegelijk hetzelfde wil laten gaan doen op verschillende tijden.
Met millis heb ik geen ervaring en met allen de blink without Delay kom ik niet verder.
Als de spanning hoger dan 1.8Volt wordt dan moet mijn relais 5 seconden hoog blijven, daarna moet hij weer laag worden.
Met een Delay krijg ik dit natuurlijk voor elkaar maar ik wil bv een 2e sensor toevoegen die hetzelfde doet, daarom moet die Delay eruit en dat krijg ik niet voor elkaar.
Ik zit helemaal vast en heb van alles geprobeerd. Met een Delay krijg ik het aan de praat maar ik wil geen Delay meer omdat ik meerdere zelfde sensoren uiteindelijk tegelijk hetzelfde wil laten gaan doen op verschillende tijden.
Met millis heb ik geen ervaring en met allen de blink without Delay kom ik niet verder.
Als de spanning hoger dan 1.8Volt wordt dan moet mijn relais 5 seconden hoog blijven, daarna moet hij weer laag worden.
Met een Delay krijg ik dit natuurlijk voor elkaar maar ik wil bv een 2e sensor toevoegen die hetzelfde doet, daarom moet die Delay eruit en dat krijg ik niet voor elkaar.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: analoge sensor input met relais uitgang
Ik heb jou een voorbeeld gegeven waarin staat wat je moet doen. In pseudo code met de opmerking trek het probleem uit elkaar. Vervolgens maak jij iets anders wat geheel niet meer lijkt op mijn voorstel. Want dat voorstel werkt gewoon. Dus ik zie wel wanneer je dat uitgewerkt hebt.
18 berichten
• Pagina 2 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 22 gasten