Luonnos on Arduino-alustalle kirjoitettu ohjelma, jolla on erityinen rakenne.

Katsotaanpa ensin yksinkertaisella, abstraktilla tavalla, miten korttisi toimii ohjelmiston näkökulmasta. Itse asiassa Arduino on Atmega-mikroohjaimen pinout (mikroohjaimen nastat reititetään helppokäyttöisiin tuloihin/lähtöihin - nastoja). Kuten huomasit, eri levyt sisältävät erilaisia ​​ohjaimia ja vastaavasti niillä on erilaiset nastakonfiguraatiot. Valmistaja asentaa hex-laiteohjelmiston (bootloader) arduino-levylle, joka käynnistyy, kun se kytketään päälle ja siirtää ohjauksen käyttäjän kirjoittamaan ja lataamaan luonnokseen.

Luonnosrakenne:

Luonnos sisältää 2 funktiota: funktio perustaa ja toimivuus silmukka.

Kun se on päällä, Arduino-laiteohjelmisto kutsuu asetustoimintoa. Asennustoimintoa kutsutaan vain kerran, joka kerta kun kortti käynnistetään. Tämä paikka on ihanteellinen muuttujien alustamiseen (alkuarvojen asettamiseen), pin-moodien (tulo/lähtö) asettamiseen, kytkettyjen antureiden/servojen/muiden vastaavuuden asettamiseen nastojen kanssa. Setup-toiminnon suorittamisen jälkeen silmukkatoimintoa kutsutaan syklisesti (eli heti asetustoiminnosta poistumisen jälkeen silmukkatoiminto suoritetaan, siitä poistumisen jälkeen se kutsutaan uudelleen. Prosessi jatkuu, kunnes virta katkaistaan.)

Tämän vahvistamiseksi katsotaanpa yksinkertaista luonnosta LEDin vilkkumisesta (eräänlainen klassinen Hello World Arduinolle). Sana void ennen funktion nimeä kertoo, että funktio ei palauta arvoja (palauttaa "tyhjä" - "tyhjäys"). Tarkastelemme toimintojen rakennetta, käsitettä ja tarkoitusta seuraavissa artikkeleissa.

mitätön perustaa () { // Aseta 13-nastainen lähdöksi pinMode(13, OUTPUT); ) mitätön silmukka() (digitalWrite(13, HIGH); // sytyttää LEDin viive (1000); // odota toinen digitalWrite (13, LOW ); // sammuta LED viive (1000); // hetkinen)

Kuten jo pitäisi olla selvää, kun kortti kytketään päälle, kutsutaan asetustoimintoa, jossa nasta 13 asetetaan ulostuloksi. Seuraavaksi silmukkafunktiota kutsutaan syklisesti.

Katsotaanpa prosessia, jolla luonnos ladataan Arduinoon. Harkitsemme koko prosessia Arduino IDE:lle. Vaiheet ovat samanlaisia ​​muissa ympäristöissä, emmekä usko niiden vaativan erillistä harkintaa. Avaa ensin ympäristö ja kopioi luonnos.

Napsauta "Täytä"-painiketta

Kuten näemme, ohjelmaamme kootaan. Kääntäminen on prosessi, jossa ohjelmakoodi muunnetaan huipputason kielestä binäärikoodiksi, jonka mikro-ohjain suorittaa. Jos luonnos on kirjoitettu ilman syntaksivirheitä, se käännetään onnistuneesti ja ladataan arduinoon.

Meiltä kysytään usein, onko tarpeen jotenkin puhdistaa ja poistaa vanhat luonnokset ennen uusien lataamista. Ei ole tarvetta. Kun lataat uuden luonnoksen, vanhasta ei jää jälkeäkään ;)

Ladattaessa ensimmäinen luonnos, tämä ilon tila ei jätä pitkäksi aikaa. On erittäin vaikea kuvailla onnistumishetkeäsi, varsinkin jos et ole koskaan aiemmin käsitellyt ohjelmoitavaa radioelektroniikkaa. Ajatukset ja ideat pyörivät päässäni, ja haluan nopeasti selvittää, mihin muuhun tämä PCB-pala ja radiokomponenttisarja pystyy! Jos olet suorittanut Arduino uno R3 CH340G -liitäntä- ja määritysvaiheen. tietokoneeseen, voimme jatkaa seuraaviin vaiheisiin.

Sinun ei tarvitse etsiä ensimmäistä luonnosta Internetistä tai kirjoittaa sitä itse. Arduino IDE:ssä on joukko esiasennettuja kirjastoja ja esimerkkejä, joita voit käyttää projekteissasi työskennellessäsi ohjaimen kanssa. Avaa ensin Arduino IDE ja siirry ikkunan ylävalikon Tiedosto-välilehteen ja siirrä sitten hiiren osoitin Esimerkit-kohteeseen. Luonnoksista on monia esimerkkejä, mutta suosittelen, että valitset Blink-sketsin Perusesimerkit -luokasta. Luonnos on hyvin yksinkertainen eikä vaadi mitään lisäelementtejä sen esittelyyn.

Valitsemalla tämän esimerkin, Arduino-kehitysympäristön uusi ikkuna avautuu, ja ohjaimen laiteohjelmistokoodi on valmis ladattavaksi. Se näyttää tältä.

Katsotaanpa hieman, mitä tämä luonnos sisältää. Riveiltä 1-23 näemme harmaata tekstiä. Tämä teksti on tiedoksi ja se kuvaa käyttäjälle joitakin tämän luonnoksen toimintaparametreja, tämän luonnoksen tekijä voi myös jättää yhteystietoja itsestään. Nämä rivit on kommentoitu ja ohjaimen laiteohjelmistoa vilkkuessa niitä ei ladata siihen. On kaksi tapaa kommentoida tekstiä. Ensimmäinen menetelmä on kätevä, jos sinun on piilotettava useita rivejä lataajalta; käytä tässä tapauksessa merkkiä /* kommenttien alussa, */ kommenttien lopussa, kuten ensimmäisellä ja kahdellakymmenellä kolmannella rivillä. Toinen menetelmä soveltuu paremmin koodin osan tai minkä tahansa funktion kuvaamiseen; tätä tarkoitusta varten // kaksoisviivan taakse // yhden rivin sisällä oleva teksti tai koodi piilotetaan ohjaimeen lataamiselta, mikä voidaan havaita loput koodista. Muuten, jos aiot kirjoittaa luonnoksia jatkossa itse, on hyvä muoto jättää kuvaus luonnoksen toimintaparametreista ja kommentit toiminnoista. Kirjoittajan meille jättämästä kuvauksesta käy selvästi ilmi, että tämä luonnos saa ohjainkorttiin sisäänrakennetun ja digitaaliseen nastan 13 sidotun LEDin vilkkumaan 1000 millisekunnin taajuudella.

Minusta tuntuu, että et malta odottaa, että pääset nopeasti lataamaan jotain Arduinoosi. Voit tehdä tämän etsimällä 5 painiketta ikkunan yläosasta ja napsauttamalla latauspainiketta.

Kun olet napsauttanut painiketta, koodin kokoaminen ja virheiden tarkistaminen alkaa. Jos koodin lataus onnistuu, latauksen tilapalkki ilmoittaa meille tästä.

Ja ohjaimessa voimme tarkkailla kuinka latinalaisella L-kirjaimella merkitty LED alkaa vilkkua tietyllä taajuudella.

Ymmärtääksemme paremmin, miten tämä luonnos toimii, muokataan koodia hieman ja katsotaan, mikä on muuttunut. Siirry koodin riville 34 ja muuta taukoaikaa, viive (1000); vaihdetaan viive(10000);.

Näiden manipulaatioiden seurauksena ohjaimemme toimintaohjelma on muuttunut. Ja nyt ohjaimen LED-valo ei pala 1 sekunniksi, kuten lähdekoodia ladattaessa, vaan 10 sekunniksi. Nyt ohjelmoimme rivillä 33, että LED syttyy ja tämä LED palaa, kunnes siitä saadaan toinen komento. Siksi rivillä 34 asetamme 10 sekunnin tauon ja rivillä 35 sammutamme LEDin. Sen pitäisi näyttää jotain alla olevan kuvan kaltaista.

Minusta näyttää siltä, ​​​​että esitetyt tiedot riittävät työskentelyn aloittamiseen ohjaimen kanssa, ja voin vain toivottaa sinulle menestystä ja hyviä tuloksia pyrkimyksissäsi.

Kun aloin työskennellä Arduinon parissa, minusta tuntui, että koko maailma teki samaa. Itse asiassa kävi ilmi, että kuten minä, monien on yksinkertaisesti vaikea päästä alkuun, "pääseä" itse aiheeseen. Joten päätin kirjoittaa pikaoppaan, jotta voit heti tarttua muutamaan komponenttiin ja kokeilla tätä lelua. Luultavasti ymmärrät lukemisen jälkeen monin tavoin heti, mitä on, jopa ilman tulevia viestejäni. Niin.

Jos et ole kokeillut Arduinoa vain siksi, että et pääse alkuun tietämättä mikä on mitä, pelastan sinut nyt.

Arduino on yhtä yksinkertainen kuin Lego. Mutta kun he alkavat selittää sitä, esiin tulee joukko muotisanoja: kehitysympäristö, laitteisto, kivi, laiteohjelmisto, kirjasto, ajuri, luonnos, suoritettava tiedosto, komponentit, ohjelmointitaidot, ohjelmistot ja laitteistot, Arduino-yhteensopiva alusta... Kuka Haluaako tulla hulluksi täällä? Se käy, sinun täytyy monimutkaistaa yksinkertaista lasten lelusarjaa niin paljon! =)
Itse asiassa kaikki on yksinkertaista: meillä on itse Arduino - tämä on tulevien lelujemme aivot, jotka kokoamme sen kanssa.

Valikoimassamme on kaksi valmiista suojusta. Miksi? Nyt "kytkemme" Arduinon yhteen suojukseen, katsomme kuinka se toimii, ja ohjelmoimme sen sitten uudelleen ja kytkemme sen toiseen - ja varmistamme jälleen, että se toimii. Näin asia tulee meille heti selväksi ja pääsemme eteenpäin - onneksi Arduinon kanssa on monta kehityssuuntaa.

2. Asenna IDE tavallisena ohjelmana.
Lisätietoja: Windowsille

3. Liitä Arduino USB:n kautta

4. Käynnistä IDE (superkäyttäjän oikeuksilla, jos tämä merkitsee sinulle jotain. Jos ei, niin unohda nämä oikeudet. Jos on, lataa versio 1.0.1 - kaikki vanhempi toimii vinoon Linuxissa).

5. Valitse Arduino-tyyppi. (Todennäköisesti se valitaan automaattisesti. Mutta meillä on käsissämme Arduino Nano 3.0 -sarjasta ja yläpuolella olevassa neliömäisessä prosessorissa lukee Amtel Mega 328p - tämä tarkoittaa, että valitsemme valikosta Nano ATmega328).

6. Tarkista, että tietokone näkee Arduinon: sen portti, jonka kautta liitimme sen, on näkyvissä.

Onko kaikki valmis? Mietitään nyt, mitä ladata ja miten, ja 5 minuutin kuluttua uuden kilpemme hehkulamput (diodit!) valaisevat talomme iloisesti.

Ongelmien karttoittaminen:

Jos porttia ei löydy, irrota kaikki ja sulje ohjelma. Yhdistä Arduino uudelleen, ehkä uuteen porttiin, avaa ohjelma. Se on kuin puhelimesi mobiilisovellus: jos se jäätyy, käynnistä se uudelleen ja se toimii taas. Tässä on sama vianetsintäperiaate. =)

Vaihe 3: Käytä luonnosta ja kirjastoa tarkoitetulla tavalla

Tästä se taika alkaa! =) Mutta jostain syystä juuri tällä jännittävällä hetkellä selitykset olivat tylsimpiä:

Mikrokontrollerin ohjelmointia varten meillä on kolmen tyyppisiä tiedostoja: .h, .cc, .ino Tiedostot kootaan, kirjastoihin lähetetään kutsuja. Kaikki tämä on kirjoitettu C-kielellä, joka toimii funktioilla, muuttujilla, minkä jälkeen, jotta C:llä kirjoitettu ohjelma tulisi mikrokontrollerille ymmärrettäväksi, se käännetään konekoodiksi - käännetään ja ladataan sitten ohjaimeen. Et voi kuvitella kuinka paljon emme välitä tästä nyt =) Kaikki on paljon yksinkertaisempaa.

Avaa kaikki tarvittavat kirjastot (katso kuva) + kopioi luonnos tästä. Koota. Ladata. Valmis! Voit laittaa Arduinon takaisin radiosuojukseen ja käynnistää sen (radion) uudelleen.

Näin nopeasti selvisimme:

1. Kuinka ohjelmoida Arduino uudelleen erilaisille suojauksille valmiiden luonnosten ja kirjastojen avulla.
2. Miksi tarvitsemme luonnoksen, miksi tarvitsemme kirjaston. Mitä laittaa minne.
3. Kuinka työskennellä Arduino IDE -ohjelman kanssa luonnoksen lataamiseksi kirjaston mukana.

Kuten näet, kaikki on yksinkertaista. Kesti useita päiviä, ennen kuin "muutin sisään" yksin. Toivottavasti pelastan jonkun näinä päivinä. Onnea Arduino-DIY:lle ja nähdään taas: Aion selvittää paljon enemmän olemassa olevien moduulien ja komponenttien perusteella ja jaan varmasti ideani ja taitoni kanssasi.

Perinteisesti artikkelin lopussa - kiitos!

Iso kiitos käyttäjälle

Tässä projektissa haluan näyttää kuinka ladata luonnos Arduinoon tavallisella Android-käyttöjärjestelmään perustuvalla laitteella. Tämä laite voi olla hyödyllinen kiinteästi asennetuille Arduino-levyille, kuten valaistusohjaimille...

Vaihe 1: Materiaalit ja työkalut

Materiaalit:

USB-A–USB-B-kaapeli
USB-isäntäkaapeli (OTG-kaapeli)
Arduino
1 LED (testausta varten)
Android-laite, Android-käyttöjärjestelmän versio 4.0.0+ (tai isäntätilan tuella)

Ohjelmisto:

ArduinoDroid tai ArduinoCommander, jotka voidaan ladata Google Play Kaupasta

Vaihe 2: USB-isäntäkaapeli

USB-isäntä-kaapeli on periaatteessa sama kuin USB-kaapeli, mutta mikro-USB-liittimessä on eri vastukset. Sisäisten vastusten avulla Android-laite voi aktivoida USB-isäntätilan. Tässä tilassa voit käyttää myös USB-muistitikkuja tai muita USB-liitäntää tukevia laitteita. Tämä on erittäin hyödyllinen ominaisuus, ja nyt voit jopa liittää USB-tulostimen.

Ongelmana on, että kun USB-laite on liitetty, se saa virtaa isäntälaitteelta, mikä tyhjentää akun.

Vaihe 3: Liitännät

Tämä on hyvin yksinkertainen vaihe, eikä vaadi paljon huomiota. Liitä vain USB-A–USB-B-kaapeli isäntäkaapelin USB-naarasliittimeen. Liitä sitten USB-B-liitin Arduinoon ja Micro USB Android-laitteeseen.

Vaihe 4: Käynnistä Arduino

Kaikki liitännät on tehtävä kuvan osoittamalla tavalla. Seuraavaksi voit käynnistää Arduinosi ja ladata viimeisimmän ladatun koodin siihen. Käytin Blink-sketchiä Arduinossani. Jos Arduino ei käynnisty, tarkista, että liitännät ovat oikein.

Vaihe 5: Sovellukset

Nyt Arduino on valmis lataamaan koodin, mutta Android-laitteesi ei ole vielä...

Muutetaan tämä tilanne!

Tällä hetkellä on kaksi sovellusta, joiden avulla voit työskennellä Arduinon kanssa isäntätilan kautta.

Lataa ne siirtymällä Play Kaupan verkkosivustolle ja kirjoittamalla hakupalkkiin "Arduino". Napsauta seuraavaksi "Sovellukset", jonka jälkeen vain sovellukset näytetään. Tarvitsemme kaksi sovellusta: "ArduinoDroid" ja "ArduinoCommander". Asenna ne ja käynnistä sitten "ArduinoDroid". Tämän sovelluksen on päivitettävä IDE, mikä kestää jonkin aikaa. Seuraavaksi tarvitaan "ArduinoCommander" -sovellus.

Huomautus: Molempia sovelluksia ei tarvitse käyttää samanaikaisesti, haluan vain näyttää, kuinka molemmat toimivat!

Vaihe 6: ArduinoCommander, ohjelman kirjoittaja Anton Smirnov

No, aloitetaan ArduinoCommander-sovelluksella. Sen on kehittänyt Anton Smirnov Andoridin versiolle 2.2 tai uudemmalle.

Tämä sovellus on suunniteltu toimimaan Arduinon kanssa Android-laitteella. Sen avulla voit helposti muuttaa pinnojen tiloja (asettaa suoraan korkealle tai matalalle), ladata luonnoksia tai lukea analogisia nastaja oskilloskooppitilassa.

Tämä sovellus on helppo ymmärtää, vaikka säätimet eivät ole vakioita. Se tunnistaa automaattisesti Arduinon ja toimii erittäin vakaasti.

Jotkut toiminnot eivät kuitenkaan toimi. Toivon, että nämä virheet korjataan sovelluksen tulevissa versioissa. Luonnoksen lataus onnistui!

Annan tälle sovellukselle 4.0/5 tähteä.

Katsotaanpa nyt nopeasti yhteyden muodostamista Arduinoon.

Vaihe 7: Osa 1

Muita vaihtoehtoja ovat:
Ethernet
Bluetooth
USB-lisäosat

Vaihe 8: Osa 2

Napsauta nyt "Automaattinen tunnistus". Android-laite etsii automaattisesti Arduinoa ja näyttää sen sitten näytöllä. Valitse nyt Arduinomme (klikkaa vain sitä).

Vaihe 9: Osa 3

Kun olet suorittanut edellisen vaiheen, Arduinomme näkyy näytöllä. Se näytetään yleensä värillisenä, ja voit napsauttaa nastoja vaihtaaksesi niiden tilaa. Tilan valinta ei kuitenkaan toiminut minulle, enkä pystynyt korjaamaan tätä ongelmaa. Ehkä kaikki toimii sinulle ilman epäonnistumisia. Kun napsautat oikeaa alakulmaa, pääset valikkoon, josta voit ladata luonnoksia SD-kortiltasi. Tämä ominaisuus toimii erittäin hyvin.

Vaihe 10: ArduinoDroid

Siirrytään nyt toiseen sovellukseen, jonka avulla voit ladata luonnoksia Arduinoosi. Tämä sovellus on nimeltään "ArduinoDroid", ja se toimii Android-versiossa 4.2.2 tai uudemmissa. Tämän sovelluksen kirjoittaja on myös Anton Smirnov!