» elektroniikka » Työläs »Arduino aloittelijoille

Arduino aloittelijoille


Työläs on mikro-ohjauskortti, jonka voit ohjelmoida ulkoisten laitteiden ohjaamiseksi. Se on vuorovaikutuksessa ulkomaailman kanssa antureiden, moottorien, LED-valojen, kaiuttimien ... ja jopa Internetin avulla, joten se on joustava alusta erilaisille projekteille. Mikrokontrollereita on melko vähän, mutta Arduino on suosittu johtuen siitä, että erilaisia ​​projekteja suunnitellaan ja aktiivisesti käsitellään Internetissä. Jos haet googlessa tai youtubessa, löydät miljoonia ideoita ja tietoja tutkimuksen aloittamiseksi Arduinoa itse.
Vaikka sinulla ei olisi kokemusta mikro-ohjaimien ohjelmoinnista - Arduinon kanssa opit nopeasti ja opit jotain elektroniikka käyttämällä kokeita.

Mitä tarvitset aloittamiseen?
Arduino Uno- 1kpl
USB-kaapeli-1kpl
Neulepuserot 1kpl
1kpl kehityskortti
Punainen LED 4 kpl
220 ohmin vastus 4 kpl
Vastus 10 huonetta 1 kpl
Nappi ilman kiinnitystä
potentiometri
RGB-LED-katodi

Kaikki tämä voidaan ostaa paikallisesta radiokaupasta tai tilata verkosta.

Sähköpiirejä havainnollistettiin ja simuloitiin online-simulaattorilla.

Tämä simulaattori toimii parhaiten Chrome-selaimessa.
Katsotaanpa tarkemmin Arduinoa.

Arduino ei ole suuri tietokone, johon ulkoiset piirit voivat liittyä. Arduino Uno käyttää Atmega 328P: tä
Tämä on levyn suurin siru. Tämä siru suorittaa sen muistiin tallennetut ohjelmat. Voit ladata ohjelman usb: n kautta Arduino IDE: llä. USB-portti tarjoaa virtaa myös arduinolle.

Siellä on erillinen virtaliitin. Taulussa on kaksi lähtöä, nimeltään 5v ja 3,3v, joita tarvitaan erilaisten laitteiden virran saamiseksi. Löydät myös GND-merkityt tapit, nämä ovat maadoitusjohtimia (maa on 0V). Arduino-alustalla on myös 14 digitaalilähtöä (nastat), merkitty numeroilla 0-13, jotka on kytketty ulkoisiin solmuihin ja joilla on kaksi tilaa, korkea tai matala (päällä tai pois). Nämä koskettimet voivat toimia lähtöinä tai tuloina, ts. he voivat joko lähettää joitain tietoja ja ohjata ulkoisia laitteita tai vastaanottaa tietoja laitteilta. Seuraavat päätelmät taululla on merkitty A0-A5. Nämä ovat analogiatuloja, jotka voivat vastaanottaa dataa useilta antureilta. Tämä on erityisen kätevää, kun joudut mittaamaan alueen, kuten lämpötilan. Analogiatuloissa on lisätoimintoja, jotka voidaan aktivoida erikseen.


Kuinka käyttää leipälautaa.

Leipätaulu tarvitaan osien väliaikaiseen kytkemiseen ja laitteen toiminnan tarkistamiseen, ennen kuin juotat kaiken yhdessä.
Kaikki seuraavat esimerkit on koottu leipälevylle, jotta voit tehdä nopeasti muutoksia piiriin ja käyttää osia uudelleen ilman, että häiritset juottamista.

Leipälevyssä on reikärivit, joihin voit lisätä osia ja johtoja. Osa näistä reikistä on kytketty sähköisesti toisiinsa.

Kaksi ylä- ja alariviä on kytketty sarjaan koko levyä pitkin. Näitä rivejä käytetään virtapiiriin. Se voi olla 5v tai 3,3v, mutta joka tapauksessa sinun on ensin kytkettävä 5v ja GND leipätauluun, kuten kuvassa. Joskus nämä riviliitännät voidaan keskeyttää levyn keskellä, niin voit tarvittaessa kytkeä ne kuvan osoittamalla tavalla.




Jäljellä olevat reiät, jotka sijaitsevat levyn keskellä, on ryhmitelty viiteen reikään. Niitä käytetään virtapiirien osien kytkemiseen.

Ensimmäinen asia, jonka liitämme mikro-ohjaimeemme, on LED. Sähköliitäntäkaavio on esitetty kuvassa.


Miksi tarvitsen vastuksen piirissä? Tässä tapauksessa se rajoittaa LEDin läpi kulkevaa virtaa. Jokainen LED on suunniteltu tietylle virralle, ja jos tämä virta on suurempi, LED epäonnistuu. Selvitä, minkä arvon vastus tulee olla Ohmin lain avulla. Niille, jotka eivät tiedä tai ovat unohtaneet, Ohmin laki sanoo, että virralla on lineaarinen riippuvuus jännitteestä. Eli mitä enemmän jännitettä syötetään vastukseen, sitä enemmän virtaa kulkee sen läpi.
V = I * R
jossa V- vastuksen koko jännite
minä- virta vastuksen läpi
R- vastus löytyy.
Ensinnäkin meidän on selvitettävä vastuksen koko jännite. Suurimmalla osalla käyttämistäsi 3 mm tai 5 mm LEDistä on 3 V käyttöjännite. Joten vastuksessa meidän on maksettava pois 5-3 = 2v.

Sitten laskemme vastuksen läpi kulkevan virran.
Useimmat 3 ja 5 mm: n ledit hehkuvat täydellä kirkkaudella 20 mA: n lämpötilassa. Enemmän kuin tämä virta voi poistaa ne käytöstä, ja pienemmän voimakkuuden virta vähentää niiden kirkkautta aiheuttamatta mitään haittaa.

Joten haluamme kytkeä LEDin päälle 5v-piirissä niin, että sen virta on 20mA. Koska kaikki osat sisältyvät yhteen piiriin, vastuksen virta on myös 20 mA.
Saamme
2V = 20 mA * R
2V = 0,02A * R
R = 100 ohmia

100 ohmia on vähimmäisvastus, on parempi käyttää vähän enemmän, koska LEDillä on jonkin verran eroja ominaisuuksissa.
Tässä esimerkissä käytetään 220 ohmin vastusta. Vain siksi, että kirjailijalla on paljon heitä: silmäily :.

Aseta LED ledin keskelle oleviin reikiin niin, että sen pitkä liitin on kytketty yhteen vastuksen liittimistä. Kytke vastuksen toinen pää 5 V: seen ja kytke LED: n toinen lähtö GND: hen. LEDin tulisi palaa.

Huomaa, että merkkivalon kytkemisessä on eroja. Virta virtaa pitemmästä terminaalista lyhyemmälle. Kaaviossa voidaan kuvitella, että virta virtaa siihen suuntaan, johon kolmio on suunnattu. Kokeile kääntää LED-valo ja huomaat, että se ei syty.

Mutta miten liität vastuksen, siinä ei ole mitään eroa. Voit kääntää sen tai yrittää kytkeä sen toiseen LED-ulostuloon, tämä ei vaikuta piirin toimintaan. Se rajoittaa silti virran LEDin kautta.

Arduino-luonnoksen anatomia.

Arduinon ohjelmia kutsutaan luonnokseksi. Ne koostuvat kahdesta päätoiminnosta. toiminto setup ja toiminta silmukka
Tämän toiminnon sisällä asetat kaikki perusasetukset. Mitkä johtopäätökset vaikuttavat tuloon tai lähtöön, mitkä kirjastot yhdistetään, alustavat muuttujat. toiminto Asennus () Se käynnistyy vain kerran luonnoksen aikana, kun ohjelma käynnistyy.
tämä on päätoiminto, joka suoritetaan jälkeen asennus (). Itse asiassa tämä on itse ohjelma. Tämä toiminto toimii toistaiseksi, kunnes katkaiset virran.

Arduino vilkkuu LED




Tässä esimerkissä yhdistämme piirin LED-merkkivalolla johonkin Arduino-digitaalitappiin ja kytkemme sen päälle ja pois päältä ohjelman avulla. Opit myös useita hyödyllisiä toimintoja.



- tätä toimintoa käytetään asennus () osa ohjelmaa ja sen avulla voidaan alustaa päätelmät, joita käytät syötteinä (INPUT) tai poistu (OUTPUT). Et voi lukea tai kirjoittaa tietoja tapista, ennen kuin olet asettanut sen vastaavasti pinMode. Tällä toiminnolla on kaksi argumenttia: pinNumber- Tämä on PIN-koodi, jota käytät.

tila- määrittää, kuinka tappi toimii. Sisäänkäynnillä (INPUT) tai poistu (OUTPUT). LEDin sytyttämiseksi meidän on annettava signaali FROM Työläs. Tätä varten konfiguroimme tapin poistumaan.
- tätä toimintoa käytetään tilan asettamiseen (Valtio) tappi (PinNumber). Tärkeimpiä valtioita on kaksi (yleensä niitä on 3), yksi on HIGH, nasta on 5v, toinen on alhainen ja nasta on 0v. Joten LEDin sytyttämiseksi meidän on asetettava korkea taso LEDiin kytkettyyn tappiin HIGH.

- viive. Tarkoittaa ohjelman viivästymistä tietyn ajanjakson ajan, ms.
Alla on koodi, joka aiheuttaa merkkivalon vilkkumisen.
// LED-valo vilkkuu

int ledPin = 7; // Arduino-nasta, johon LED on kytketty

tyhjä asennus () {
  pinMode (ledPin, OUTPUT); // aseta nastaksi EXIT
}

tyhjä silmukka () {
  digitalWrite (ledPin, HIGH); // sytynä LED
  viive (1000); // viive 1000 ms (1 sekuntia)
  digitalWrite (ledPin, LOW); // Sammuta LED
  viive (1000); // odota 1 sekuntia
}


Pieni selitys koodille.
Rivit, jotka alkavat "//", ovat Arduinon kommentit, jotka jättävät ne huomioimatta.
Kaikki komennot päättyvät puolipisteellä; jos unohdat ne, saat virheilmoituksen.

ledPinon muuttuja. Muuttujia käytetään ohjelmissa arvojen tallentamiseen. Tässä esimerkissä muuttuja ledPin jolle on annettu arvo 7, tämä on Arduinon PIN-numero. Kun ohjelmassa oleva Arduino kohtaa muuttujan merkkijonon ledPin , se käyttää arvoa, jonka määrittelimme aiemmin.
Joten tallenna pinMode (ledPin, OUTPUT) samanlainen kuin levy pinMode (7, OUTPUT).
Mutta ensimmäisessä tapauksessa riittää, että muutat muuttujaa, ja se muuttuu jokaisella rivillä, joilla sitä käytetään, ja toisessa tapauksessa muuttujan muuttamiseksi joudut tekemään muutokset kunkin komennon kynissä.

ensimmäisessä rivissä ilmaisee muuttujan tyypin. Arduinoa ohjelmoitaessa on tärkeää ilmoittaa aina muuttujien tyyppi. Toistaiseksi riittää, että tiedät sen INT ilmoittaa negatiiviset ja positiiviset luvut.
Alla on esitetty mallintaminen luonnos. Paina Start nähdäksesi piirin toiminnan.



Odotusten mukaisesti LED sammuu ja syttyy sekunnin kuluttua. Yritä muuttaa viivettä nähdäksesi miten se toimii.

Useiden ledien hallinta.

Tässä esimerkissä opit hallitsemaan useita merkkivaloja. Asenna tätä varten 3 lisävaloa LEDille ja kytke ne Arduino-vastuisiin ja -tappeihin, kuten alla.



Jotta ledit voidaan kytkeä päälle ja pois päältä, sinun on kirjoitettava seuraava ohjelma:
// Moni LED-valo

int led1Pin = 4;
int led2Pin = 5;
int led3Pin = 6;
int led4Pin = 7;

tyhjä asennus () {
  // aseta nastat EXIT: ksi
  pinMode (led1Pin, OUTPUT);
  pinMode (led2Pin, OUTPUT);
  pinMode (led3Pin, OUTPUT);
  pinMode (led4Pin, OUTPUT);
}

tyhjä silmukka () {
  digitalWrite (led1Pin, HIGH); // sytynä LED
  viive (1000); // viive 1 s
  digitalWrite (led1Pin, LOW); // sammuta LED
  viive (1000); // viive 1 s

  // tee sama muille 3 LEDille
  digitalWrite (led2Pin, HIGH); // sytynä LED
  viive (1000); // viive 1 s
  digitalWrite (led2Pin, LOW); // sammuta LED
  viive (1000); // viive 1 s

  digitalWrite (led3Pin, HIGH); // sytynä LED
  viive (1000); // viive 1 s
  digitalWrite (led3Pin, LOW); // sammuta LED
  viive (1000); // viive 1 s

  digitalWrite (led4Pin, HIGH); // sytynä LED
  viive (1000); // viive 1 s
  digitalWrite (led4Pin, LOW); // sammuta LED
  viive (1000); // viive 1 s
}


Tämä ohjelma toimii hyvin, mutta tämä ei ole järkevin ratkaisu. Koodi on vaihdettava. Jotta ohjelma toimisi uudestaan ​​ja uudestaan, käytämme kutsuttua rakennetta.
Syklit ovat käteviä, kun joudut toistamaan saman toiminnan useita kertoja. Toistamme yllä olevassa koodissa rivit

digitalWrite (led4Pin, HIGH);
viive (1000);
digitalWrite (led4Pin, LOW);
viive (1000); 

täysi luonnoskoodi liitteenä for.zip [720 b] (lataukset: 1410)

LED-kirkkauden säätö

Joskus joudut vaihtamaan ohjelman ledien kirkkautta. Tämä voidaan tehdä komennolla analogWrite (). Tämä komento kytkee LEDin päälle ja pois niin nopeasti, että silmä ei näe tätä välkkymistä. Jos LED-valo syttyy puolessa ajassa ja puoli sammuu, visuaalisesti näyttää siltä, ​​että se palaa puolessa kirkkaudessaan. Tätä kutsutaan pulssileveyden modulaatioksi (englanniksi PWM tai PWM). Välilevyä käytetään melko usein, koska sitä voidaan käyttää “analogisen” komponentin ohjaamiseen digitaalisen koodin avulla. Kaikki Arduino-nastat eivät sovellu näihin tarkoituksiin. Vain ne päätelmät, joiden perusteella tällainen nimitys tehdään "~".Näet sen tapien 3,5,6,9,10,11 vieressä.
Kytke yksi LEDistäsi PWM-lähdöihin (kirjoittajan kannalta tämä on nasta 9). Suorita nyt vilkkuva luonnoksen merkkivalo, mutta muuta ensin komentoa digitalWrite () päälle analogWrite (). analogWrite () Sillä on kaksi väitettä: ensimmäinen on nastan numero ja toinen on PWM-arvo (0–255), sellaisena kuin sitä käytetään LEDeihin, tämä on niiden kirkkaus ja sähkömoottoreille pyörimisnopeus. Alla on esimerkkikoodi erilaisille LED-kirkkauksille.
// Muuta LEDin kirkkautta

int ledPin = 9; // LED on kytketty tähän tappiin
tyhjä asennus () {
  pinMode (ledPin, OUTPUT); // alusta alustan tappi tulostettavaksi
}

tyhjä silmukka () {
  analogWrite (ledPin, 255); // täysi kirkkaus (255/255 = 1)
  viive (1000); // tauko 1 sek
  digitalWrite (ledPin, LOW); // sammuta LED
  viive (1000); // tauko 1 sek

  analogWrite (ledPin, 191); // kirkkaus 3/4: ssä (191/255 ~ = 0,75)
  viive (1000); // tauko 1 sek
  digitalWrite (ledPin, LOW); // sammuta LED
  viive (1000); // tauko 1 sek

  analogWrite (ledPin, 127); // puolikirkkaus (127/255 ~ = 0,5)
  viive (1000); // tauko 1 sek
  digitalWrite (ledPin, LOW); // sammuta LED
  viive (1000); // tauko 1 sek

  analogWrite (ledPin, 63); // neljänneksen kirkkaus (63/255 ~ = 0,25)
  viive (1000); // tauko 1 sek
  digitalWrite (ledPin, LOW); // sammuta LED
  viive (1000); // tauko 1 sek
}


Yritä muuttaa PWM-arvoa komennossa analogWrite ()kuinka se vaikuttaa kirkkauteen.
Seuraavaksi opit kuinka säätää kirkkautta tasaisesti täydestä nollaan. Voit tietysti kopioida koodin pala 255 kertaa
analogWrite (ledPin, kirkkaus);
viive (5); // lyhyt viive
kirkkaus = kirkkaus + 1;

Mutta ymmärrät - se ei ole käytännöllinen. Tätä varten on parasta käyttää aikaisemmin käytettyä FOR-silmukkaa.
Seuraava esimerkki käyttää kahta jaksoa, yhden vähentääksesi kirkkautta 255: sta 0: seen
varten (int kirkkaus = 0; kirkkaus = 0; kirkkaus -) {

analogWrite (ledPin, kirkkaus);
viive (5);

}

viive (5) käytetään hidastamaan kirkkauden nousun ja laskun nopeutta 5 * 256 = 1280 ms = 1,28 sek.)
Ensimmäinen rivi käyttää "Brightness"niin, että kirkkausarvo pienenee yhdellä kertaa jakson toistuessa. Huomaa, että jakso toimii niin kauan kuin kirkkaus> = 0Merkin korvaaminen > kyltissä >= sisällytimme 0 kirkkausalueelle. Tämä luonnos on mallinnettu alla.
// muuttaa kirkkautta sujuvasti

int ledPin = 9; // LED on kytketty tähän tappiin

tyhjä asennus () {
  pinMode (ledPin, OUTPUT); // alusta PIN-koodi poistuaksesi
}

tyhjä silmukka () {
  // lisää kirkkautta vähitellen (0 - 255)
  varten (int kirkkaus = 0; kirkkaus = 0; kirkkaus -) {
    analogWrite (ledPin, kirkkaus);
    viive (5);
  }

  viive (1000); // odota 1 sekuntia
 // pienennä kirkkautta tasaisesti (255 - 0)
  varten (int kirkkaus = 255; kirkkaus> = 0; kirkkaus -) {
    analogWrite (ledPin, kirkkaus);
    viive (5);
  }

  viive (1000); // odota 1 sekuntia
}
}

Tämä ei ole kovin näkyvää, mutta idea on selvä.



RGB LED ja Arduino

RGB-LED on oikeastaan ​​kolme eriväristä LEDiä yhdessä kotelossa.



Sisältää erilaisia ​​LED-valoja, joilla on eri kirkkaus, voit yhdistää ja saada erilaisia ​​värejä. Arduinolle, jonka kirkkausaste on 256, saat mahdollisia värejä 256 ^ 3 = 16581375. Todellisuudessa niitä on tietenkin vähemmän.
Käytettävä LED on yleinen katodi. eli kaikki kolme LEDiä on rakenteellisesti kytketty katodeilla yhteen päätteeseen. Yhdistämme tämän tapin GND-tappiin. Jäljellä olevat liittimet, rajoittavien vastuksien kautta, on kytkettävä PWM-liittimiin. Kirjailija käytti johtopäätöksiä 9-11, joten kutakin LEDiä on mahdollista ohjata erikseen. Ensimmäinen luonnos osoittaa, kuinka jokainen LED syttyy erikseen.



// RGB LED - testi

// nastat
int punainen = 9;
int vihreä = 10;
int sininen = 11;

tyhjä asennus () {
  pinMode (punainen, OUTPUT);
  pinMode (sininen, OUTPUT);
  pinMode (vihreä, OUTPUT);
}

tyhjä silmukka () {
  // punaisen LEDin kytkeminen päälle / pois
  digitalWrite (punainen, HIGH);
  viive (500);
  digitalWrite (punainen, LOW);
  viive (500);
  
  // kytke vihreä LED päälle / pois päältä
  digitalWrite (vihreä, HIGH);
  viive (500);
  digitalWrite (vihreä, LOW);
  viive (500);

  // kytke sininen LED päälle / pois päältä
  digitalWrite (sininen, HIGH);
  viive (500);
  digitalWrite (sininen, LOW);
  viive (500);
}


Seuraava esimerkki käyttää komentoja analogWrite () ja saada erilaisia ​​satunnaisia ​​kirkkausarvoja LEDeille. Näet, että eri värit muuttuvat satunnaisesti.
// RGB LED - satunnaiset värit

// nastat
int punainen = 9;
int vihreä = 10;
int sininen = 11;
tyhjä asennus () {
  pinMode (punainen, OUTPUT);
  pinMode (sininen, OUTPUT);
  pinMode (vihreä, OUTPUT);
}
tyhjä silmukka () {
  // valitse satunnainen väri
  analogWrite (punainen, satunnainen (256));
  analogWrite (sininen, satunnainen (256));
  analogWrite (vihreä, satunnainen (256));
  viive (1000); // odota yksi sekunti
}


Satunnainen (256)-Palauttaa satunnaisluvun välillä 0 - 255.
Liitteenä olevassa tiedostossa on luonnos, joka osoittaa värien tasaisen siirtymisen punaisesta vihreään, sitten siniseen, punaiseen, vihreään jne. perehody.zip [373 b] (lataukset: 386)
Esimerkki luonnos toimii, mutta kopioitavaa koodia on paljon. Voit yksinkertaistaa koodia kirjoittamalla oman auttajatoiminnon, joka muuttaa sujuvasti värit toisiksi.
Se näyttää tältä: funktsiya.zip [263 b] (lataukset: 420)
Katsotaanpa funktion määritelmää osittain. Toiminto kutsuttu fader ja sillä on kaksi perustetta. Jokainen argumentti erotetaan pilkulla, ja sen tyyppi ilmoitetaan funktion määritelmän ensimmäisellä rivillä: tyhjä fader (int väri1, int väri2). Näet, että molemmat argumentit julistetaan int, ja heille annetaan nimet color1 ja color2 ehdollisina muuttujina funktion määrittelemiseksi. mitätön tarkoittaa, että funktio ei palauta mitään arvoja, se vain suorittaa komennot. Jos olisi tarpeen kirjoittaa funktio, joka palauttaa kertolaskutuloksen, se näyttää tältä:
int kerroin (int numero1, int numero2) {

int-tuote = numero1 * numero2;
palauttaa tuote;

} 

Huomaa, kuinka julistimme Tyypin int palautustyyppinä sen sijaan
mitätön.
Toiminnon sisällä on komentoja, joita olet jo käyttänyt edellisessä luonnoksessa, vain nastat korvattiin color1 ja color2. Toiminto kutsuttu fader, sen argumentit lasketaan väri1 = punainen ja väri2 = vihreä. Arkiston täysi luonnos toimintoja käyttämällä funktsii.zip [392 b] (lataukset: 320)

nappi

Seuraavassa luonnoksessa käytetään nappia, jossa on normaalisti avoimet koskettimet, ilman kiinnitystä.

Arduino aloittelijoille

Tämä tarkoittaa, että kun painiketta ei paineta, virta ei virtaa sen läpi, ja vapauttamisen jälkeen painike palaa alkuperäiseen asentoonsa.
Piirissä käytetään painikkeen lisäksi vastusta. Tässä tapauksessa se ei rajoita virtaa, vaan "vetää" painikkeen arvoon 0v (GND). eli kunnes painike on painettu sen Arduinon napaan, johon se on kytketty, taso on alhainen. 10 kΩ: n piirissä käytetty vastus.

// määritä painikkeen napsautus
int-painikePin = 7;
tyhjä asennus () {
  pinMode (buttonPin, INPUT); // alustaa syöttötappi
  Serial.begin (9600); // alusta sarjaportti
}
tyhjä silmukka () {
  if (digitalRead (buttonPin) == KORKEA) {// jos painiketta painetaan
    Serial.println ("puristettu"); // tulosta "painetaan"
  } muuta {
    Serial.println ("unpressed"); // muuten "unpressed"
  }
}

Tässä luonnoksessa on useita uusia joukkueita.
-Tämä komento ottaa tarkistetun ulostulon arvon Korkea (korkea) ja matala (matala). Aiemmin asennuksessa () tämä lähtö on konfiguroitava tuloa varten.
; // missä buttonPin on pin-numero, johon painike on kytketty.
Sarjaportin avulla voit lähettää Arduino-viestejä tietokoneelle, kun ohjain itse suorittaa ohjelman. Tästä on hyötyä ohjelman virheenkorjauksessa, viestien lähettämisessä muihin laitteisiin tai sovelluksiin. Jotta tietojen siirto sarjaportin (tunnetaan myös nimellä UART tai USART) kautta, se on alustettava asennuksessa ()

Serial.begin () on vain yksi argumentti on tiedonsiirtonopeus Arduinon ja tietokoneen välillä.
luonnos, komentoa käytetään viestin näyttämiseen näytöllä Arduino IDE: ssä (Työkalut >> Sarjamonitori).
- Suunnittelun avulla voit hallita ohjelman etenemistä yhdistämällä useita tarkastuksia yhdessä paikassa.
Jos (jos) digitalRead palaa KORKEA, niin sana "painetaan" näkyy näytössä. Muu (muuten) sana "puristettu" näkyy näytöllä. Nyt voit kokeilla LEDin kytkemistä päälle ja pois päältä yhdellä napin painalluksella.
// painikkeen tunnistus LED-lähdöllä
int-painikePin = 7;
int ledPin = 8;
tyhjä asennus () {
  pinMode (buttonPin, INPUT); // tällä kertaa asetamme painikkeen pin INPUT
  pinMode (ledPin, OUTPUT);
  Serial.begin (9600);
}
tyhjä silmukka () {
  if (digitalRead (buttonPin) == KORKEA) {
    digitalWrite (ledPin, HIGH);
    Serial.println ("puristettu");
  } muuta {
    digitalWrite (ledPin, LOW);
    Serial.println ("puristamaton");
  }
}


Analoginen tulo.

analogRead antaa sinun lukea tietoja yhdeltä Arduino-analogisilta nastat ja näyttää arvon välillä 0 (0 V) - 1023 (5 V). Jos jännite analogiatulossa on 2,5 V, tulostetaan 2,5 / 5 * 1023 = 512
analogRead sillä on vain yksi argumentti - Tämä on analogiatulon numero (A0-A5). Seuraava luonnos tarjoaa koodin jännitteen lukemiseen potentiometristä. Liitä tähän muuttuva vastus, ääritapit tappeihin 5V ja GND ja keskitappi tuloon A0.


Suorita seuraava koodi ja katso sarjamonitorissa kuinka arvot muuttuvat vastuksen nupin pyörimisestä riippuen.
// analogiatulo

int potPin = A0; // potentiometrin keskilähtö on kytketty tähän tappiin

tyhjä asennus () {
  // analoginen nasta on käytössä syöttöllä oletuksena, joten alustamista ei tarvita
  Serial.begin (9600);
}

tyhjä silmukka () {
  int potVal = analoginen lukema (potPin); // potVal on luku välillä 0 - 1023
  Serial.println (potVal);
}

Seuraavassa luonnoksessa yhdistetään painikepainike ja LED-kirkkauden säätöluonnos. LED-valo syttyy painikkeesta ja potentiometri säätelee hehkuuden kirkkautta.
// painikkeiden tunnistus LED-lähdöllä ja muuttuvalla voimakkuudella
int-painikePin = 7;
int ledPin = 9;
int potPin = A0;
tyhjä asennus () {
  pinMode (buttonPin, INPUT);
  pinMode (ledPin, OUTPUT);
  Serial.begin (9600);
}
tyhjä silmukka () {
  if (digitalRead (buttonPin) == HIGH) {// jos painiketta painetaan
    int analogVal = analogRead (potPin);
    int skaalattuVal = kartta (analoginenVal, 0, 1023, 0, 255);
    analogWrite (ledPin, scaledVal); // kytke led päälle potin asettamalla voimakkuudella
    Serial.println ("puristettu");
  } muuta {
    digitalWrite (ledPin, LOW); // sammuta, jos painiketta ei paineta
    Serial.println ("puristamaton");
  }
}
8.7
9
9

Lisää kommentti

    • hymyillähymyileexaxakunnossadontknowyahoonea
      pomonaarmutyperyskylläkyllä-kylläaggressiivinensalaisuus
      anteeksitanssidance2dance3anteeksihelpjuomat
      pysäytysystäväthyvägoodgoodpillipyörtyäkieli
      savutaputusCrayjulistaapilkallinenDon-t_mentiondownload
      lämpöirefullaugh1MDAkokousmoskingnegatiivinen
      not_ipopcornrangaistaluettupelästyttääpelottaaetsi
      kiusatathank_youtämäto_clueumnikakuuttisuostua
      huonoBeeeblack_eyeblum3punastuaylpeilläikävystyminen
      sensuroituhassutussecret2uhatavoittoyusun_bespectacled
      SHOKrespektlolprevedtervetuloakrutoyya_za
      ya_dobryiauttajane_huliganne_othodifludkieltolähellä
4 kommentit
Näin se toimii niin kuin pitäisi - // kirkkautta lisätään vähitellen (0–255)
varten (int kirkkaus = 0; kirkkaus <= 255; kirkkaus ++) {
analogWrite (ledPin, kirkkaus);
viive (5);
kokoamisessa antaa virheen Työläs: 1.6.5 (Windows 7), taulu "Arduino Nano, ATmega328"

sketch_sep20a: 25: virhe: odotettu ilmoitus ennen '}' -merkkiä
odotettu ilmoitus ennen '}' -merkkiä
Kopioin luonnos sujuvasta sytytyksestä.
LED-valo syttyy voimakkaasti, mutta sammuu tasaisesti.

Selitä kiitos.
Kopioin luonnos sujuvasta sytytyksestä.
LED-valo syttyy voimakkaasti, mutta sammuu tasaisesti.

Selitä kiitos.

Suosittelemme lukemaan:

Anna se älypuhelimelle ...