schakeling

Als U een gezamenlijk project wil starten of aan projecten van anderen mee wilt werken.
Berichten: 12
Geregistreerd: 05 Mrt 2016, 22:31

schakeling

Berichtdoor birdiebertus » 07 Nov 2017, 07:51

ik ben op zoek naar een schakeling zeg maar puls 3 a 4 sec !
als ik een schakelaar om zet dus maak! en deze blijft dus gemaakt!wil ik een maker voor 4 sec en als ik de schakelaar weer omzet dus verbreek ! wil ik weer een schakeling van 4 sec ! is dit mogelijk?
wie wil mij helpen ik ben berijd om er voor te betalen ben zelf een leek met arduino programmeren

Advertisement

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

Re: schakeling

Berichtdoor Koepel » 07 Nov 2017, 11:48

Het detecteren van het moment dat een knop wordt omgezet gaat met de StateChangeDetection: https://www.arduino.cc/en/Tutorial/StateChangeDetection.

Het debouncen van de schakelaar kan bijvoorbeeld met Bounce2. Dat zit in de Bibliotheekbeheerder (menu: Schets / Bibliotheek gebruiken / Bibliotheken beheren).
Als je die installeert, dan zie je dat er voorbeelden in het menu zijn bijgekomen.
Die Bounce2 heeft de StateChangeDetection al ingebakken met fell() en rose(), https://github.com/thomasfredericks/Bounce2/wiki.
Probeer de voorbeelden "change.ino" en "duration.ino" eens.

Een timer maken gaat met millis().

Je beschrijving is nog niet volledig.
Wil je dezelfde pin gebruiken als output, die zowel reageert op het aanzetten als het uitzetten ? Of zijn dat twee verschillende pinnen ?
Wanneer de 4 seconden bezig is, en de schakelaar wordt omgezet, wil je dan vanaf dat moment weer 4 seconden verder tellen ?
Hoe wil je de knop gaan aansluiten ? Zit er nog een kabel aan de knop die storing kan opvangen ? Wat is je project ? Wat wil je aansturen ? een relais ?

Maar uhm... Ik ga niet je sketch voor je schrijven. Kun je dat zelf doen met hulp van ons ?
Is dit dezelfde vraag als anderhalf jaar geleden ? http://arduinoforum.nl/viewtopic.php?f=5&t=1914

Berichten: 12
Geregistreerd: 05 Mrt 2016, 22:31

Re: schakeling

Berichtdoor birdiebertus » 07 Nov 2017, 12:14

dank voor antwoord
ja wil een pin gebruiken die reageert op aanzetten en uitzetten.
het moet een relais aansturen. het heeft te maken met het project van anderhalf jaar geleden
zelf sketch schrijven word niks snap er de ballen van

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

Re: schakeling

Berichtdoor shooter » 07 Nov 2017, 15:48

nou dan kan ik vooral scratch voor arduino aanbevelen, haal mblock op en probeer het maar eerst zelf. kinderen van 10 doen dit al op de coderdojo club.
?heb je al een arduino, zoja welke?
het kan overigens ook met een tijdmodule van bijv omron (is niet zo leuk maar werkt wel)
paul deelen
shooter@home.nl

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

Re: schakeling

Berichtdoor Koepel » 07 Nov 2017, 16:05

Ik hoor steeds meer over Scratch :D Het wordt tijd dat ik dat eens ga proberen.

Toch zou ik graag de Bounce2 library gebruiken, de voorbeelden daarvan zijn al bijna de sketch.
@birdiebertus, op dit forum blijkt keer op keer dat het niet werkt als wij jouw sketch gaan schrijven. Als je een sketch hebt die je zelf niet begrijpt, dan gaat het al snel verkeerd. Iemand die het beste met je voor heeft, zal je dus niet een werkende sketch geven. Je zult dus niemand vinden die dat zo maar even uit zijn mouw schudt. Hoogstens één of andere malloot die niet begrepen heeft hoe hij het beste iemand kan helpen :mrgreen:

cpp code
// 7 november 2017
// Het omzetten van een schakelaar maakt een uitgang aktief gedurende 4 seconden.
// Zowel het aanzetten als het uitzetten van de schakelaar.
// Het snel opnieuw omzetten van de schakelaar verlengt die tijd.

// Ingang: Een schakelaar op pin 2 naar GND. Voeg zelf een extra pullup weerstand toe.
// Uitgang: De led op het Arduino boardje (pin 13 bij een Arduino Uno).

#include <Bounce2.h>

Bounce schakelaar = Bounce(); // Het oject van de Bounce2 library

const int pinSchakelaar = 2; // ingang voor de knop of schakelaar
unsigned long previousMillis; // het tijdstip van omzetten van de schakelaar (in millis)
boolean timerActive = false; // of de tijdvertraging loopt of niet
const unsigned long vertraging = 4000UL; // de vertraging in ms, UL betekend unsigned long


void setup()
{
pinMode( pinSchakelaar, INPUT_PULLUP);
pinMode( LED_BUILTIN, OUTPUT);

schakelaar.attach( pinSchakelaar);
}


void loop()
{
schakelaar.update(); // hou de Bounce2 library gaande

if( schakelaar.fell() || schakelaar.rose())
{
previousMillis = millis(); // start of herstart software timer
timerActive = true; // zet tijdvertraging aan
digitalWrite( LED_BUILTIN, HIGH); // uitgang hoog (relais aktief maken)
}

if( timerActive)
{
if( millis() - previousMillis >= vertraging) // timer afgelopen ?
{
digitalWrite( LED_BUILTIN, LOW); // uitgang laag (relais niet meer aktief)
timerActive = false; // de tijdvertraging kan gestopt worden
}
}
}

Berichten: 12
Geregistreerd: 05 Mrt 2016, 22:31

Re: schakeling

Berichtdoor birdiebertus » 07 Nov 2017, 16:14

kijk dit is wat ik zocht!!!! mijn dank is zeer groot!!!
super bedankt het werkt geweldig

Terug naar Gezamenlijke projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast