Pull down weerstand

Arduino specifieke Software
Gebruikers-avatar
Berichten: 48
Geregistreerd: 15 Jan 2019, 16:28

Pull down weerstand

Berichtdoor Bosch » 26 Apr 2019, 20:33

Klopt deze schakeling?


pull down weerstand.jpg
pull down weerstand.jpg (17.24 KiB) 6653 keer bekeken



Plaatje staat verkeerd, maar ik hoop dat de vraag duidelijk is.

Advertisement

Gebruikers-avatar
Berichten: 631
Geregistreerd: 15 Nov 2015, 11:54

Re: Pull down weerstand

Berichtdoor Gij Kieken » 26 Apr 2019, 21:02

Ja

Gebruikers-avatar
Berichten: 48
Geregistreerd: 15 Jan 2019, 16:28

Re: Pull down weerstand

Berichtdoor Bosch » 26 Apr 2019, 21:10

Dank u :)

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

Re: Pull down weerstand

Berichtdoor shooter » 26 Apr 2019, 21:20

als de schakelaar open is dan komt er een LOW binnen=0=false
als de schakelaar dicht is dan kan het alles zijn behalve 0
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 48
Geregistreerd: 15 Jan 2019, 16:28

Re: Pull down weerstand

Berichtdoor Bosch » 27 Apr 2019, 23:07

shooter schreef:als de schakelaar open is dan komt er een LOW binnen=0=false
als de schakelaar dicht is dan kan het alles zijn behalve 0


In de if statement vindt u != 0 of else een beter keuze om een ijzersterk verschil te duiden.

Want in het voorbeeld van 'Bas on Tech' (gebouwd) zit er toch een 1 tussen de 000000.
Bij het voorbeeld via een link van dit forum hetzelfde euvel.

//

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

Re: Pull down weerstand

Berichtdoor Koepel » 28 Apr 2019, 00:16

Als je de functie digitalRead() gebruikt, dan is het beter om alleen HIGH en LOW te gebruiken. Arduino doet die HIGH en LOW soms anders, soms is het nummer 1 en 0 en soms wordt dat via enum gedaan. Als je consequent HIGH en LOW gebruikt, dan gaat het goed.
Ik zie soms dat de boolean NOT operator gebruikt wordt voor de HIGH en LOW, maar ik ben daar erg op tegen:
Code: Alles selecteren
digitalWrite(2, !digitalRead(2));   // beter niet doen


Die != 0 is dus niet nodig, als je alleen maar HIGH en LOW gebruikt.

Bij een 'bool' variabele is die != 0 ook niet nodig. Je kunt dan enkel op de variabele zelf testen.

Als je iets noemt, kun je er dan een link naar geven ?
Bijvoorbeeld het Bas On Tech voorbeeld of de link op dit forum, ik heb nu geen idee wat je bedoelt.

Internet staat vol met slechte voorbeelden. Vooral bij instructables.com staan nogal wat verkeerde dingen.

Gebruikers-avatar
Berichten: 48
Geregistreerd: 15 Jan 2019, 16:28

Re: Pull down weerstand

Berichtdoor Bosch » 28 Apr 2019, 10:49

Bas on Tech:

https://www.youtube.com/watch?v=HKh-zfg ... dex=6&t=0s


Ik wil dit toepassen (voor mijn kippenluik project) om een rolschakelaar als controle te gebruiken.
Als de LDR een X waarde doorgeeft gaat de motor lopen (op een externe voeding) en de rolschakelaar is HIGH.
Met een nokje wordt de rolschakelaar (LOW) en direct daarna de motor.

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

Re: Pull down weerstand

Berichtdoor Koepel » 28 Apr 2019, 12:47

Dat Bas On Tech filmpje is helemaal goed.
Hij vergelijkt de 'switchState' met een 'HIGH'.
Code: Alles selecteren
switchState = digitalRead(switchPin);
if (switchState == HIGH) {

Als hij de waarde van 'switchState' naar de seriële monitor stuurt, dan is dat een 0 of een 1. Dat is de interne waarde die Arduino daarvoor gebruikt. Wanneer je ook in de seriële monitor de tekst "HIGH" en "LOW" wilt hebben, dan zul je daar zelf code voor moeten schrijven.

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

Re: Pull down weerstand

Berichtdoor shooter » 28 Apr 2019, 15:23

allereerst 0 is een integer
maar 0 is ook een float
!0 kan dus van alles zijn.
als je zoals bas doet netjes werkt met high en low dan is het altijd duidelijk.
ik weet ook wel dat !=digitalread(2) werkt prima.
er is wel een nadeel aan de code van bas en dat is dat hij heel veel serialprints genereerd .
maar het is maar een simpel voorbeeld.
Heb je al een hysterese op je LDR zitten?
paul deelen
shooter@home.nl

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

Re: Pull down weerstand

Berichtdoor Koepel » 28 Apr 2019, 15:38

@shooter, ik weet niet waar het naar toe gaat, maar hier zie je de enum PinStatus met HIGH en LOW: https://github.com/arduino/ArduinoCore-API/blob/master/api/Common.h#L10.
Die wijziging voor sommige nieuwe boards leverde meteen een aantal issues op.

Een digitaal niveau is hoog of laag, dus binair. Van mij hadden ze een 'bool' variabele daarvoor mogen gebruiken, of het laagste bit, 0 of 1.

Volgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 19 gasten