Ta bort externa motstånd med Pull-Up - Till knappar
Ta bort externa motstånd med Pull-Up - Till knappar
Hej!
Jag läste precis att Arduino har inbyggd pull-up resistor, och att man kan aktivera den via koden.
Så att man kan koppla in en knapp direkt utan extra komponenter. Dvs från en input, till en brytare och till ground bara.
I nuläget så har jag mina knappar inkopplade med pull-down motstånd (10k) utanför Arduinon. Ett sådant för varje knapp...
Det fungerar, men det vore ju trevligt att slippa alla motstånd.
Skulle det räcka med att jag tar bort motstånden, och skriver in PULLUP i koden och så fungerar det som innan sedan?
Eller blir det "spegelvänt" alltihop? Så att jag måste använda switchar som bryter när man trycker istället för sluter när man trycker?
Och har ALLA in/utgångar tillgång till Pull-Up motstånd internt?
Fördel/nackdel?
Jag använder Arduino MEGA.
Mvh F
Jag läste precis att Arduino har inbyggd pull-up resistor, och att man kan aktivera den via koden.
Så att man kan koppla in en knapp direkt utan extra komponenter. Dvs från en input, till en brytare och till ground bara.
I nuläget så har jag mina knappar inkopplade med pull-down motstånd (10k) utanför Arduinon. Ett sådant för varje knapp...
Det fungerar, men det vore ju trevligt att slippa alla motstånd.
Skulle det räcka med att jag tar bort motstånden, och skriver in PULLUP i koden och så fungerar det som innan sedan?
Eller blir det "spegelvänt" alltihop? Så att jag måste använda switchar som bryter när man trycker istället för sluter när man trycker?
Och har ALLA in/utgångar tillgång till Pull-Up motstånd internt?
Fördel/nackdel?
Jag använder Arduino MEGA.
Mvh F
Re: Ta bort externa motstånd med Pull-Up - Till knappar
Du måste ändra i koden eftersom, precis som du säger, så är allt inverterat så att säga i förhållande till vad koden förväntar sig, men det är en smal sak.
Re: Ta bort externa motstånd med Pull-Up - Till knappar
Oki, men HUR ändra i koden?
Kan jag använda pull-up och endå att knapparna fungerar precis som innan?
Dvs att de aktiverar när man trycker?
Vad utöver PullUp i koden behöver jag lägga till?
Kan jag använda pull-up och endå att knapparna fungerar precis som innan?
Dvs att de aktiverar när man trycker?
Vad utöver PullUp i koden behöver jag lägga till?
- HUGGBÄVERN
- Tidigare soundbrigade
- Inlägg: 32739
- Blev medlem: 23 augusti 2006, 22:44:11
- Ort: Lilla Paris
- Kontakt:
Re: Ta bort externa motstånd med Pull-Up - Till knappar
Kan jag använda pull-up och endå att knapparna fungerar precis som innan?
Dvs att de aktiverar när man trycker?
Inga problem, bara du ändrar i koden för det. Var du skall ändra det har jag inte den blekaste då jag inte vet hur din kod ser ut men med knappar involverat så allt som har med knapparna och göra för att känna av om de blivit nedtryckta eller ej.
Dvs att de aktiverar när man trycker?
Inga problem, bara du ändrar i koden för det. Var du skall ändra det har jag inte den blekaste då jag inte vet hur din kod ser ut men med knappar involverat så allt som har med knapparna och göra för att känna av om de blivit nedtryckta eller ej.
Re: Ta bort externa motstånd med Pull-Up - Till knappar
Stopp och belägg.
Riktigt så enkelt är det inte:
Notera:
Om man skall använda de inbyggda PullUpp motstånden, måste knapparna sluta mot gnd.
Och ja i detta fallet blir det tvärtom, dvs som du har det nu:
0==Ej nedtryckt knapp.
1==Nedtryckt knapp.
Med Intern Pullup och knapparna mot GND
1==Ej nedtryckt Knapp.
0==Nedtryckt knapp.
Om du behåller nuvarande inkoppling av knappar och tar bort de externa motstånden, slår på PullUp kommer du alltid att ha en Etta in oavsett om du trycker på knapparna eller inte.
Vill du behålla programmet som det är, men ändå använda intern PullUp, måste du ha knappar som bryter vid tryckning (givetvis kopplade till Gnd)
Riktigt så enkelt är det inte:
Notera:
Det innebär att knapparna sluter mot matningen.I nuläget så har jag mina knappar inkopplade med pull-down motstånd (10k) utanför Arduinon. Ett sådant för varje knapp...
Om man skall använda de inbyggda PullUpp motstånden, måste knapparna sluta mot gnd.
Och ja i detta fallet blir det tvärtom, dvs som du har det nu:
0==Ej nedtryckt knapp.
1==Nedtryckt knapp.
Med Intern Pullup och knapparna mot GND
1==Ej nedtryckt Knapp.
0==Nedtryckt knapp.
Om du behåller nuvarande inkoppling av knappar och tar bort de externa motstånden, slår på PullUp kommer du alltid att ha en Etta in oavsett om du trycker på knapparna eller inte.
Vill du behålla programmet som det är, men ändå använda intern PullUp, måste du ha knappar som bryter vid tryckning (givetvis kopplade till Gnd)
- Hobbyisten
- Gått bort
- Inlägg: 2531
- Blev medlem: 3 december 2017, 22:55:25
Re: Ta bort externa motstånd med Pull-Up - Till knappar
Förmodligen behöver du bara ändra i några IF-satser där du tar besluten i din kod, inverterat mot förut som nämnts. Nedtryckt knapp ska sluta mot GND.fosfor skrev:Oki, men HUR ändra i koden?
Kan jag använda pull-up och endå att knapparna fungerar precis som innan?
Dvs att de aktiverar när man trycker?
Vad utöver PullUp i koden behöver jag lägga till?
Re: Ta bort externa motstånd med Pull-Up - Till knappar
Du kanske redan vet, men i koden räcker det med att lägga till ett ! framför läsningen för att få en inverterad signal, ex. digitalRead(2) blir !digitalRead(2). Då kommer det bete sig som förut i fallet med NO-knappar, med en 1a när knappen är intryckt (sluten mot jord) och 0a när knappen är opåverkad. Eller som sagt, använda NC-knappar ger precis samma funktion.
- HUGGBÄVERN
- Tidigare soundbrigade
- Inlägg: 32739
- Blev medlem: 23 augusti 2006, 22:44:11
- Ort: Lilla Paris
- Kontakt:
Re: Ta bort externa motstånd med Pull-Up - Till knappar
Fast har du NU motstånd för pull up/down finns det ju ingen orsak att trassla med koden om du inte ska ge dig på nya projekt och för dessa vill slippa externa motstånd.