luokat: Esitetyt artikkelit » Käytännöllinen elektroniikka
Katselukertoja: 67360
Kommentit artikkeliin: 7

Arduinon kytkeminen ja ohjelmointi aloittelijoille

 

Vaikuttaako mikrokontrollerien opiskelu monimutkaiselta ja käsittämättömältä? Ennen Arudinon esiintymistä se ei todellakaan ollut helppoa ja vaati tietyn määrän ohjelmoijia ja muita laitteita.


Mikä on arduino?

Tämä on eräänlainen elektroninen rakentaja. Hankkeen alkuperäinen tavoite on antaa ihmisille mahdollisuus oppia helposti ohjelmoimaan elektronisia laitteita viettäen samalla minimaalisesti aikaa elektroniseen osaan.

Monimutkaisimpien piirien kokoaminen ja levyjen liittäminen voidaan suorittaa ilman juotinta ja irrotettavilla liitoksilla varustetulla puskurilla “isä” ja “äiti”. Tällä tavalla voidaan liittää sekä liitetiedostot että laajennuskortit, joita arduinistien leksikossa kutsutaan yksinkertaisesti “kilpeiksi”.

Mikä on Arduino?

Mikä on ensimmäinen Arduino-levy, joka ostaa aloittelijalle?

Pohja ja suosituin levy pidetään Arduino uno. Tämä maksu muistuttaa luottokorttia. Melko iso. Useimmat myynnissä olevat kilvet ovat täydelliset hänelle. Taulussa on pistorasiat ulkoisten laitteiden kytkemistä varten.

Arduino uno

Kotimaan myymälöissä vuodelle 2017 sen hinta on noin 4-5 dollaria. Nykyaikaisissa malleissa Atmega328 on hänen sydämensä.

Arduino uno

Arduino-levyn kuvan ja toiminnon dekoodaus jokaisesta nastasta, Arduino UNO -sovellus

Tämän kortin mikrokontrolleri on pitkä siru DIP28-paketissa, mikä tarkoittaa, että siinä on 28 jalkaa.

Seuraava suosituin lauta maksaa melkein kaksi kertaa halvemmalla kuin edellinen - 2-3 dollaria. Tämä on hallitus Arduino nano. Varsinaiset levyt on rakennettu saman Atmega328: n toimesta, ne ovat toiminnallisesti samanlaisia ​​kuin UNO, eroista koolle ja päätöksestä sovittaa USB: hen enemmän tästä myöhemmin. Toinen ero on, että laitteiden kytkemiseksi piirilevyyn on järjestetty neulojen muodossa oleva pistoke.

Arduino nano

Tämän kortin tappien (jalkojen) lukumäärä on sama, mutta voit huomata, että mikro-ohjain on valmistettu kompaktimmasta TQFP32-paketista, ADC6 ja ADC7 lisätään tapaukseen, kaksi muuta ”ylimääräistä” jalkaa toistavat virtalähteen. Sen mitat ovat melko pienikokoiset - noin käden peukalon kokoiset.

Aruino nanonäytös 

Kolmas suosituin lauta on Arduino Pro Mini, siinä ei ole USB-porttia tietokoneeseen kytkemistä varten, kerron kuinka kommunikoida vähän myöhemmin.

Arduino Nano vs Pro Mini -kokovertailu

Arduino Nano vs Pro Mini -kokovertailu

Tämä on pienin levy kaikista harkituista, muuten se on samanlainen kuin kaksi edellistä, ja Atmega328 on edelleen sen sydän. Emme harkitse muita tauluja, koska tämä on artikkeli aloittelijoille ja taulujen vertailu on erillisen artikkelin aihe.

Arduino Pro Mini -nuoruyläosassa USB-UART-kytkentäkaavio, nasta “GRN” - on kytketty mikrokontrollerin nollauspiiriin, sitä voidaan kutsua eri tavalla, josta sinun on selvitettävä myöhemmin.

tulokset:

Jos UNO on kätevä prototyyppien laatimiseen, niin Nano ja Pro Mini ovat käteviä projektin lopullisille versioille, koska ne vievät vähän tilaa.

Arduino aloittelijoille

Kuinka yhdistää Arduino tietokoneeseen?

Arduino Uno ja Nano muodostavat yhteyden tietokoneeseen USB: n kautta. Samaan aikaan USB-porttia ei tueta laitteistoa, tässä käytetään tasonmuuntamista varten piirijärjestelmää, jota yleensä kutsutaan USB-sarjaksi tai USB-UART (rs-232). Samanaikaisesti mikro-ohjaimeen vilkkuu erityinen Arduino-käynnistyslataus, joka mahdollistaa näiden väylien vilkkumisen.

Arduino Unossa tämä ligatuuri toteutetaan mikro-ohjaimella, jossa on USB-tuki - ATmega16U2 (AT16U2). Osoittautuu, että lisäkortin mikro-ohjainta tarvitaan tärkeimmän mikro-ohjaimen vilkkumiseen.

Arduino Nanossa tämä toteutetaan FT232R-sirulla tai sen analogisella CH340. Tämä ei ole mikrokontrolleri - se on tasomuunnin. Tämän vuoksi Arduino Nanon kokoaminen on helppoa tyhjästä omin käsin.

Tyypillisesti ohjaimet asennetaan automaattisesti, kun Arduino-kortti on kytketty. Kun ostin kiinalaisen kopion Arduino Nanosta, laite tunnistettiin, mutta se ei toiminut, muunnimeen liimattiin pyöreä tarra, jolla oli tiedot julkaisupäivästä, en tiedä, tehtiinkö se tarkoituksella, mutta kun irroitin sen, näin merkinnän CH340.

Ennen sitä en ollut tavannut tätä ja ajattelin, että kaikki USB-UART-muuntimet on koottu FT232: lle, jouduin lataamaan ohjaimet. Niitä on erittäin helppo löytää “Arduino ch340 -ohjaimen” pyynnöstä. Yksinkertaisen asennuksen jälkeen - se toimi!

Saman USB-portin kautta mikrokontrolleri voi myös saada virtaa, ts. Jos liität sen sovittimeen matkapuhelimella, järjestelmä toimii.


Mitä minun pitäisi tehdä, jos kortilla ei ole USB-liitäntää?

Arduino Pro Mini on pienempi. Tämä saavutettiin poistamalla laiteohjelmiston USB-liitin ja sama USB-UART-muunnin. Siksi se on ostettava erikseen. Yksinkertaisin muunnin CH340: llä (halvin), CPL2102 ja FT232R, myydään hintaan 1 dollari.

Huomaa ostaessasi, mihin jännitteeseen tämä sovitin on tarkoitettu. Pro mini on saatavana versioissa 3.3 ja 5 V, muuntimissa on usein hyppyjohdin syöttöjännitteen vaihtamiseksi.

Arduino Pro Mini

Kun Pro Mini vilkkuu, juuri ennen kuin se käynnistyy, sinun on napsautettava RESET-painiketta, mutta DTR-muuntimissa sinun ei tarvitse tehdä tätä, kytkentäkaavio alla olevassa kuvassa.

Laiteohjelmiston kytkentäkaavio

Niitä yhdistävät erityiset terminaalit "Mama-Mama" (nainen-nainen).

Arduino-yhteys

Itse asiassa kaikki liitännät voidaan tehdä sellaisilla liittimillä (Dupont), ne ovat molemmin puolin pistorasioilla ja pistokkeilla, pistorasian toisella puolella ja toisella pistotulpalla.

tulppa

Kuinka kirjoittaa ohjelmia Arduinolle?

Luonnosten käsittelemiseksi (laiteohjelmiston nimi on arduinon kielellä) on erityinen integroitu ympäristö Arduino IDE: n kehittämiseen. Voit ladata sen ilmaiseksi viralliselta verkkosivustolta tai mistä tahansa temaattisesta lähteestä, yleensä sen asentamisessa ei ole ongelmia.

Ohjelma Arduinolle

Näin näyttää käyttöliittymä. Voit kirjoittaa ohjelmia yksinkertaisella C AVR -kielellä, joka on erityisesti kehitetty arduinolle, itse asiassa se on joukko kirjastoja, nimeltään Wiring, samoin kuin puhtaan C AVR: n kanssa. Sen käyttö helpottaa koodia ja nopeuttaa sen työtä.

Ikkunan yläosassa on tuttu valikko, jossa voit avata tiedoston, asetukset, valita käyttämäsi paneelin (Uno, Nano ja monet, monet muut) ja avata myös projekteja valmiilla koodiesimerkkeillä. Alla on joukko painikkeita, jotka käsittelevät laiteohjelmistoa, avaimet, jotka näet alla olevassa kuvassa.

Ohjelmarajapinta

Ikkunan alareunassa on alue, josta voi näyttää tietoja projektista, koodin tilasta, laiteohjelmistosta ja virheistä.


Arduino IDE -ohjelmoinnin perusteet

Koodin alussa sinun on ilmoitettava muuttujat ja liitettävä lisäkirjastoja, jos niitä on, tämä tapahtuu seuraavasti:

# Sisällytä biblioteka.h; // yhdistä kirjasto nimellä Biblioteka.h

#define peremennaya 1234; // Ilmoita muuttuja, jonka arvo on 1234

Määritä -komennon avulla kääntäjä voi valita muuttujan tyypin, mutta voit asettaa sen manuaalisesti, esimerkiksi kokonaisluvun int tai liukulukun kelluvuuden.

int led = 13; // loi muuttujan “led” ja antoi sille arvon “13”

Ohjelma voi määrittää tapin tilan arvoksi 1 tai 0. 1 on looginen yksikkö, jos nasta 13 on 1, silloin fyysisen jalan jännite on yhtä suuri kuin mikro-ohjaimen syöttöjännite (arduino UNO: lle ja Nano: lle - 5 V).

Digitaalinen signaali tallennetaan digitalWrite-komennolla (nasta, arvo), esimerkiksi:

digitalWrite (led, korkea); // kirjoita yksikkö nastaan ​​13 (ilmoitimme sen yllä) lokiin. Yksikkö.

Kuten ymmärrät, pääsy satamiin tapahtuu numeroimalla aluksella, vastaava kuva. Tässä on esimerkki, joka on samanlainen kuin edellinen koodi:

digitalWrite (13, korkea); // aseta nasta 13 yhdeksi

Usein haluttuun viivetoimintoon kutsutaan viivytys () -komennolla, jonka arvo asetetaan millisekunnissa, mikrosekunnit saavutetaan käyttämällä

viivytysMikrosekunnit () Viive (1000); // mikrokontrolleri odottaa 1000 ms (1 sekunti)

Tulo- ja lähtöporttiasetukset asetetaan void setup {} -toiminnossa komennolla:

tyhjä asennus () {

pinMode (NOMERPORTA, OUTPUT / INPUT); // argumentit - muuttujan nimi tai porttinumero, syöte tai lähtö, joista valita

}

Tyhjä silmukka {}


Ensimmäisen Blink-ohjelman ymmärtäminen

Eräänlaisena mikroprosessorien "Hello, world" -konsolissa on LED-välähdysohjelma, analysoidaan sen koodi:

Alussa käskimme pinMode-komennolla mikro-ohjaimelle osoittaa lähdölle portin, jossa on LED.Olet jo huomannut, että koodi ei ilmoita muuttujaa “LED_BUILTIN”, tosiasia on, että Unon, Nanon ja muiden tehtaalla olevien levyjen sisäänrakennettu LED on kytketty napaan 13 ja se on juotettu levyyn. Sinä voit käyttää sitä projektiin osoittamiseen tai vilkkuvien ohjelmien yksinkertaiseen tarkistamiseen.

Seuraavaksi asetamme lähtö, johon LED on juotettu, yhtenäisyyteen (5 V), seuraava rivi saa MK: n odottamaan yhden sekunnin ja asettaa sitten LED_BUILTIN-nasta nollaan, odottaa sekunnin ja ohjelma toistuu ympyrässä, joten kun LED_BUILTIN on 1 - LED ( ja mikä tahansa muu porttiin kytketty kuorma) kytketään päälle, kun se nollataan 0: ssa.

Toimiiko kaikki ja kaikki on selvää? Siirry sitten eteenpäin!



Luemme arvon analogisesta portista ja käytämme luettua tietoa

Atmega328 AVR-mikro-ohjaimessa on sisäänrakennettu 10-bittinen analogia-digitaalimuunnin. 10-bittinen ADC antaa sinun lukea jännitearvon 0 - 5 volttia, askelluksilla 1/1024 signaalin koko amplitudialueelta (5 V).

Selventääksesi tilannetta, ota huomioon, että analogiatulon jännitearvo on 2,5 V, niin mikrokontrolleri lukee arvon nastasta "512", jos jännite on 0 - "0" ja jos 5 V - (1023). 1023 - koska lasketaan 0: sta, ts. 0, 1, 2, 3 jne. jopa 1023 - yhteensä 1024 arvoa.

Näin se näyttää koodista, käyttämällä esimerkkinä vakiona olevaa luonnosta “analogInput”

int sensorPin = A0;

int ledPin = 13;

int sensorValue = 0;

tyhjä asennus () {

pinMode (ledPin, OUTPUT);

}

tyhjä silmukka () {

sensorValue = analogRead (sensorPin);

digitalWrite (ledPin, HIGH);

viive (sensorValue);

digitalWrite (ledPin, LOW);

viive (sensorValue);

}

Potentiometrin kytkentäkaavio Arduinoon, analogisesti, keskuslähtö, jonka voit kytkeä mihin tahansa analogiatuloon

Potentiometrin kytkentäkaavio Arduinoon, analogisesti, keskuslähtö, jonka voit kytkeä mihin tahansa analogiatuloon.

Ilmoita muuttujat:

  • Ledpin - määritä itsenäisesti lähdössä sisäänrakennetulla LED-valolla varustettu nasta ja anna yksilöllinen nimi;

  • sensorPin - analogiatulo, asetettava vastaavasti merkinnän taululle: A0, A1, A2 jne .;

  • sensorValue - muuttuja kokonaisluvun lukuarvon tallentamiseksi ja jatkamiseksi sen kanssa.

Koodi toimii tällä tavoin: sensorValue tallentaa sensorPin: llä luettavan analogisen arvon (analogRead-komento). - tässä työ analogisen signaalin kanssa päättyy, niin kaikki on kuin edellisessä esimerkissä.

Kirjoitamme yksikön ledPin: iin, LED syttyy ja odota sensorValue-arvoa vastaavan ajan, ts. välillä 0 - 1023 millisekuntia. Sammuta LED ja odota uudelleen tämän ajanjakson kuluttua, jonka jälkeen koodi toistuu.

Siten potentiometrin asennolla asetamme LEDin vilkkutaajuuden.


Karttatoiminto Arudinolle

Kaikki toimilaitteiden toiminnot (en tiedä yhtään) eivät tue ”1023” väitteenä, esimerkiksi servoa rajoittaa pyörimiskulma, ts. Servomoottorin puoli kierrosta (180 astetta) (puoli kierrosta), funktion enimmäisargumentti on “180”.

Nyt syntaksista: kartta (käännettävä arvo on pienin tulo, maksimitulo, minimilähtö, maksimilähtö).

Koodissa se näyttää tältä:

(kartta (analoginen lukumäärä (potti), 0, 1023, 0, 180));

Luimme potentiometrin (analogRead (pot)) arvon 0 - 1023 ja ulostulossa saamme numerot 0 - 180

Arvokarttojen arvot:

  • 0=0;

  • 1023=180;

Käytännössä sovellamme tätä saman servokoodin työhön, katsokaa koodia Arduino IDE: llä, jos luet huolellisesti edelliset kohdat, niin se ei vaadi selitystä.

Ja kytkentäkaavio.

Kytkentäkaavio

Päätelmät Arduino on erittäin kätevä työkalu oppia työskentelemään mikrokontrollerien kanssa. Ja jos käytät puhdasta C AVR -laitetta tai kuten sitä kutsutaan toisinaan “Pure C”, pienentät merkittävästi koodipainoa ja mahtuu enemmän mikro-ohjaimen muistiin, seurauksena on, että saat erinomaisen tehdasvalmistetun virheenkorjauslevyn USB-laiteohjelmistolla.

Arduino aloittelijoille

Tekijän mielipide:

Pidän arduinosta. On valitettavaa, että monet kokeneet mikrokontrolleriohjelmoijat arvostelevat sitä perusteettomasti, että se on liian yksinkertaistettu. Periaatteessa vain kieli on yksinkertaistettu, mutta kukaan ei pakota sinua käyttämään sitä. Lisäksi voit vilkkua mikro-ohjaimen ICSP-liitännän kautta ja täyttää haluamasi koodin ilman käynnistyslataimia, joita et tarvitse.

Niille, jotka haluavat leikkiä elektroniikan kanssa, edistyneenä rakentajana, se on täydellinen, mutta kokeneille ohjelmoijille on myös hyödyllinen paneeli, joka ei vaadi kokoonpanoa!

Lisätietoja Arduinosta ja sen käytöstä eri järjestelmissä on e-kirjassa -Arduino tutteille. Kuvitettu käytännön opas.

Katso myös osoitteesta i.electricianexp.com:

  • Menetelmät Arduino I / O -porttien lukemiseen ja hallintaan
  • Mikä Arduino-levy valitaan
  • AVR-mikrokontrollerien tyypit ja järjestely
  • Mikrokontrollerin kaukosäädin: IR-kaukosäädin, Arduino, ESP8266, 433 ...
  • Yhdistetään analogiset anturit Arduinoon, lukemisen anturit

  •  
     
    kommentit:

    # 1 kirjoitti: ElectroMAG | [Cite]

     
     

    Mitä kirjallisuutta ohjelmointikoodin opiskeluun suosittelet?

     
    kommentit:

    # 2 kirjoitti: Andrew | [Cite]

     
     

    ElectroMAGUlli Sommer. Arduino / Freeduino-mikrokontrollerilaiteohjelmointi, Jeremy Bloom. Opiskelemme Arduinoa. Työkalut ja tekniikat tekniseen taikuuteen, John Boxell. Opiskelemme Arduinoa. 65 tee-se-itse-projekti. Kirjoja Arduinosta otsonilla: i.electricianexp.com/arduino_books.php

     
    kommentit:

    # 3 kirjoitti: voittaja | [Cite]

     
     

    Erittäin mielenkiintoinen ja jännittävä materiaali, kiitos!

     
    kommentit:

    # 4 kirjoitti: Ural | [Cite]

     
     

    Kiitos tiedoista, "kartta" -toiminto oli erittäin kätevä, ihmettelin miten kiertää, vasta aloittaessani oppimisen leluja Arduinolla.

     
    kommentit:

    # 5 kirjoitti: Dima | [Cite]

     
     

    Jotain mitä en löydä arduino-kilpeille jakamista varten mil-std-1553b: llä, vaikka pakkausbusseillekin - kasoista, erittäin suosittu käyttöliittymä. Poke missä voit etsiä-ostaa.

    loppusanat artikkelin päiväystä ei näytetä - ehkä hän on 10-vuotias ja hänen ei pitäisi kirjoittaa kommentteja jo?

     
    kommentit:

    # 6 kirjoitti: EREMINO | [Cite]

     
     

    Kuinka tehdä tulosignaalin toistin Arduinolle 4 tai mille tahansa määrälle lähtöjä.

    Samalla tavoin 4 tulokanavalla 16 ulostulokanavalle. Tässä tapauksessa sinun on vaihdettava tulo mihin tahansa 4 lähtöön samanaikaisesti jokaisella tulokanavalla.

     
    kommentit:

    # 7 kirjoitti: Oleg | [Cite]

     
     

    Kaverit, kerro minulle, missä opit ohjelmoimaan? Tarkistin paljon tietoa, eikä kukaan kirjoittanut selvästi. Täällä kaikki tiedot eivät ole aloittelijoille, oikeastaan ​​paljon ei ole selvää, liian vähän. On kirjoitettu paljon sanoja, joista ei ole sanaa, esimerkiksi kirjoittaja kirjoittaa alussa sinun täytyy ilmoittaa kirjasto ja kirjoittaa #include biblioteka.h; // mutta tästä sanasta hän ei kirjoittanut mitään # sisällytä miksi on mahdollista ymmärtää kaikki tämä. Minulta puuttuu jo kärsivällisyys, kukaan ei osaa selittää normaalisti ja selittää, joten mitä täällä tapahtuisi, on tarpeen kirjoittaa tämä. No, tietenkin, se on nolla, mutta yritän lukea, en näe mitään käsittämättömästi, mikä ei selitä paljoa tarpeetonta. Ja voin sanoa, etten ole tyhmä typerys, voin korjata melkein mitä tahansa elektroniikkaa, ts. Olen ystäväni pääni kanssa, mutta en ymmärrä sitä, koska he kirjoittavat niitä, jotka tietävät, mutta unohtivat vivahteet, kun he itse kaivoivat sitä.