Arduino & IoT Academy · Oppitunti

INPUT vastaan INPUT_PULLUP

Miksi kelluva nasta valehtelee ja miten pull-up korjaa tilanteen

Oppitunti 1/413 vaihetta

INPUT vastaan INPUT_PULLUP on ilmainen Arduino & IoT Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Arduino & IoT Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Arduino & IoT Academy-kurssilla on yhteensä 4 oppituntia.

Nastat voivat myös kuunnella

Tähän asti nastanne ovat lähettäneet signaaleja. Nyt asetatte nastan kuuntelemaan, jotta levy voi tunnistaa painikkeen ja reagoida siihen.

Aseta nasta INPUT-tilaan

Kun haluatte lukea painiketta, kertokaa ensin nastalle, että sen tulee vastaanottaa signaali. Teette tämän asettamalla sen tilaksi INPUT setup()-funktion sisällä.

void setup() {
  pinMode(2, INPUT);
}

Kelluva nasta valehtelee

INPUT-nastaa, johon mikään ei vedä jännitettä, kutsutaan kelluvaksi. Se poimii häiriöitä ja vaihtelee HIGH- ja LOW-tilojen välillä itsestään.

Miksi kelluvuus haittaa

Kelluva nasta antaa satunnaisia ja virheellisiä painikelukemia. Koodi luulee painiketta painetuksi, vaikka kukaan ei koskenut siihen. ⚡

Vetovastukset korjaavat tilanteen

Vetovastus sitoo nastan kevyesti tunnettuun jännitteeseen. Näin nasta saa vakaan oletusarvon, kunnes painike muuttaa sitä.

Pull-up vai pull-down

Pull-up pitää nastan oletusarvoisesti tilassa HIGH, kun taas pull-down pitää sen tilassa LOW. Arduinossa on kätevät sisäiset pull-up-vastukset valmiina.

Käytä INPUT_PULLUP-tilaa

Voitte jättää erillisen vastuksen pois: asettakaa tilaksi INPUT_PULLUP, jolloin levy ottaa sisäisen pull-up-vastuksen automaattisesti käyttöön.

void setup() {
  pinMode(2, INPUT_PULLUP);
}

Logiikka kääntyy

INPUT_PULLUP-tilassa nasta lukee HIGH, kun painike on vapautettu, ja LOW, kun sitä painetaan. Logiikka on tarkoituksella käänteinen.

Kytke maahan

Koska sisäinen pull-up-vastus pitää nastan HIGH-tilassa, kytkekää painike nastan ja GND-liitännän väliin. Painaminen vetää nastan alas LOW-tilaan.

Vähemmän kytkentöjä, vähemmän virheitä

INPUT_PULLUP tarkoittaa yhtä vastusta vähemmän koekytkentälevyllä eikä lainkaan kelluvaa nastaa. Useimmille aloittelijan painikkeille se on yksinkertaisesti helpoin vaihtoehto.

Valitse oikea tila

Käyttäkää tavallista INPUT-tilaa vain, jos piiri sisältää jo oman vetovastuksensa. Muussa tapauksessa INPUT_PULLUP pitää ratkaisun turvallisena ja yksinkertaisena.

Pikatarkistus

Miettikää, miten INPUT_PULLUP toimii painikkeen ollessa käyttämättömänä.

Kertaus

Opitte, että INPUT-nasta voi kellua ja antaa virheellisiä lukemia, sekä että INPUT_PULLUP korjaa tilanteen: HIGH vapautettuna ja LOW painettuna. Seuraavaksi luette tuon arvon. 👍

Aloita maksutta

Opi C++ tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”INPUT vastaan INPUT_PULLUP” ilmainen?

Kyllä – oppitunnin ”INPUT vastaan INPUT_PULLUP” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Arduino & IoT Academy-kurssin, päivitä CoddyKit PROhon. Arduino & IoT Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”INPUT vastaan INPUT_PULLUP”?

Miksi kelluva nasta valehtelee ja miten pull-up korjaa tilanteen Harjoittelet Arduino & IoT Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Arduino & IoT Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Arduino & IoT Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”INPUT vastaan INPUT_PULLUP”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Arduino & IoT Academy-oppitunnilla?

Kyllä. Jokainen Arduino & IoT Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. INPUT vastaan INPUT_PULLUP
  2. Painikkeen tilan lukeminen
  3. if/else: LED seuraa painiketta
  4. Painikkeen kytkeminen koekytkentälevylle
← Takaisin: Arduino & IoT Academy