Eesti

Avastage Arduino potentsiaal selle põhjaliku juhendiga. Õppige ehitama põnevaid elektroonikaprojekte, alates lihtsatest vooluringidest kuni keerukate asjade interneti rakendusteni. Ideaalne nii algajatele kui ka kogenud tegijatele.

Arduino elektroonikaprojektide ehitamine: põhjalik juhend

Arduino on toonud kaasa revolutsiooni elektroonikamaailmas, muutes selle kättesaadavaks nii hobiharrastajatele, õpilastele kui ka professionaalidele. Selle kasutajasõbralik liides, laiaulatuslikud veebiressursid ja suhteliselt madal hind on demokratiseerinud interaktiivsete elektroonikaprojektide loomise. See põhjalik juhend viib teid Arduino põhitõdedest kuni keerukate rakenduste loomiseni, olenemata teie varasemast kogemusest. Olgu te Tokyos, Torontos või Toulouse'is, põhimõtted ja tehnikad jäävad samaks. Alustame!

Mis on Arduino?

Arduino on avatud lähtekoodiga elektroonikaplatvorm, mis põhineb lihtsalt kasutataval riist- ja tarkvaral. See koosneb mikrokontrolleri plaadist, mida programmeeritakse Arduino IDE (integreeritud arenduskeskkond) abil. Arduino plaat suudab tajuda keskkonda, saades sisendit erinevatelt anduritelt, ja mõjutada oma ümbrust, juhtides tulesid, mootoreid ja muid täitureid. Arduino programmeerimiskeel põhineb C/C++ keelel, mis teeb selle õppimise suhteliselt lihtsaks.

Miks valida Arduino?

Alustamine: vajalik riist- ja tarkvara

Enne projektide ehitamise alustamist peate koguma kokku vajaliku riist- ja tarkvara.

Riistvara komponendid

Sageli leiate stardikomplekte, mis sisaldavad paljusid neist olulistest komponentidest.

Tarkvara: Arduino IDE

Arduino IDE on tarkvara, mida kasutatakse koodi kirjutamiseks ja Arduino plaadile laadimiseks. Saate selle tasuta alla laadida Arduino veebisaidilt: https://www.arduino.cc/en/software. IDE pakub lihtsat tekstiredaktorit, kompilaatorit ja üleslaadijat. Veenduge, et installite oma Arduino plaadi jaoks õiged draiverid.

Arduino põhimõisted ja programmeerimine

Enne keerukatesse projektidesse sukeldumist on oluline mõista mõningaid Arduino põhimõisteid ja programmeerimistehnikaid.

Arduino visand (Sketch)

Arduino programmi nimetatakse visandiks (sketch). Visand on tavaliselt kirjutatud C/C++ keeles ja koosneb kahest põhifunktsioonist:

Siin on lihtne näide Arduino visandist, mis paneb LED-i vilkuma:


void setup() {
  // Seadista digitaalviik 13 väljundiks
  pinMode(13, OUTPUT);
}

void loop() {
  // Lülita LED sisse
  digitalWrite(13, HIGH);
  // Oota 1 sekund
  delay(1000);
  // Lülita LED välja
  digitalWrite(13, LOW);
  // Oota 1 sekund
  delay(1000);
}

See kood seadistab digitaalviigu 13 (mis on enamikul Arduino plaatidel ühendatud sisseehitatud LED-iga) väljundiks. Seejärel lülitab see loop() funktsioonis LED-i sisse, ootab 1 sekundi, lülitab LED-i välja ja ootab veel 1 sekundi. See tsükkel kordub lõputult.

Digitaalne I/O (sisend/väljund)

Digitaalne I/O (sisend/väljund) viitab Arduino võimele lugeda digitaalseid signaale anduritelt (sisend) ja juhtida digitaalseid seadmeid (väljund). Digitaalsignaalid on kas HIGH (5V) või LOW (0V).

Analoog I/O

Analoog I/O võimaldab Arduinol lugeda analoogsignaale anduritelt ja genereerida analoogsignaale seadmete juhtimiseks. Analoogsignaalidel võib olla pidev väärtuste vahemik 0V ja 5V vahel.

Muutujad ja andmetüübid

Muutujaid kasutatakse andmete salvestamiseks teie Arduino programmides. Levinumad andmetüübid on:

Juhtimisstruktuurid

Juhtimisstruktuurid võimaldavad teil kontrollida oma programmi voogu.

Näidisprojektid algajatele

Uurime mõningaid lihtsaid projekte, et kinnistada oma arusaama põhimõistetest.

1. Vilkuv LED

See on Arduino projektide "Tere, maailm!". Ühendage LED ja takisti (nt 220 oomi) järjestikku digitaalviiguga (nt viik 13) ja maaga. Kasutage LED-i vilgutamiseks varem esitatud koodi.

2. Nupuga juhitav LED

Ühendage nupp digitaalviiguga (nt viik 2) ja maaga. Kasutage ülestõmbetakistit (nt 10k oomi), et hoida viik HIGH olekus, kui nuppu ei vajutata. Kui nuppu vajutatakse, tõmmatakse viik LOW olekusse. Kirjutage kood, mis lülitab LED-i (ühendatud teise digitaalviiguga, nt viik 13) sisse, kui nuppu vajutatakse, ja välja, kui nupp vabastatakse.


const int buttonPin = 2;    // nupu viigu number
const int ledPin =  13;      // LED-i viigu number

// muutujad muutuvad:
int buttonState = 0;         // muutuja nupu oleku lugemiseks

void setup() {
  // lähtesta LED-i viik väljundiks:
  pinMode(ledPin, OUTPUT);
  // lähtesta nupu viik sisendiks:
  pinMode(buttonPin, INPUT_PULLUP);
}

void loop() {
  // loe nupu väärtuse olekut:
  buttonState = digitalRead(buttonPin);

  // kontrolli, kas nuppu vajutatakse. Kui jah, siis on buttonState LOW:
  if (buttonState == LOW) {
    // lülita LED sisse:
    digitalWrite(ledPin, HIGH);
  } else {
    // lülita LED välja:
    digitalWrite(ledPin, LOW);
  }
}

3. Hämarduv LED

Kasutage funktsiooni analogWrite(), et juhtida PWM-viiguga (nt viik 9) ühendatud LED-i heledust. Varieerige PWM-väärtust vahemikus 0 kuni 255, et LED-i heledamaks ja tuhmimaks muuta.


const int ledPin = 9;      // LED-i viigu number

void setup() {
  // setup-is ei toimu midagi
}

void loop() {
  // muuda heledamaks miinimumist maksimumini 5 punkti kaupa:
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
    // seab väärtuse (vahemikus 0 kuni 255):
    analogWrite(ledPin, fadeValue);
    // oota 30 millisekundit, et näha hämardamise efekti
    delay(30);
  }

  // muuda tuhmimaks maksimumist miinimumini 5 punkti kaupa:
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
    // seab väärtuse (vahemikus 0 kuni 255):
    analogWrite(ledPin, fadeValue);
    // oota 30 millisekundit, et näha hämardamise efekti
    delay(30);
  }
}

Kesktaseme Arduino projektid

Kui olete põhitõdedega tuttav, võite liikuda edasi keerukamate projektide juurde.

1. Temperatuuriandur

Ühendage temperatuuriandur (nt TMP36) analoogsisendviiguga. Lugege analoogväärtus ja teisendage see temperatuurinäiduks Celsiuse või Fahrenheiti skaalal. Kuvage temperatuur LCD-ekraanil või jadamonitoril.

2. Ultraheli kaugusandur

Kasutage ultraheli kaugusandurit (nt HC-SR04), et mõõta kaugust objektini. Andur saadab välja ultraheliimpulsi ja mõõdab heli tagasitulekuks kuluvat aega. Arvutage kaugus helikiiruse põhjal. Kasutage seda teavet roboti juhtimiseks või alarmi käivitamiseks.

3. Servomootori juhtimine

Juhtige servomootorit, kasutades Servo teeki. Kaardistage sisendväärtus (nt potentsiomeetrilt) servo asendile. Seda saab kasutada robootikas, kaamera juhtimisel või muudes rakendustes.

Edasijõudnute Arduino projektid

Edasijõudnud tegijate jaoks on võimalused lõputud. Siin on mõned ideed keerukamate projektide jaoks.

1. Koduautomaatika süsteem

Looge koduautomaatika süsteem, mis juhib tulesid, seadmeid ja temperatuuri. Kasutage keskkonna jälgimiseks andureid ja seadmete juhtimiseks täitureid. Rakendage kaugjuhtimine veebiliidese või mobiilirakenduse kaudu. Kaaluge traadita ühenduvuseks Wi-Fi mooduli (nt ESP8266 või ESP32) kasutamist. Selliste süsteemide näited on populaarsed nutikodudes üle maailma, Euroopast Aasiani.

2. Robootikaprojekt

Ehitage robot, mis suudab labürindis navigeerida, joont jälgida või takistusi vältida. Kasutage keskkonna tajumiseks andureid ja liikumise juhtimiseks mootoreid. Rakendage autonoomseks käitumiseks täiustatud juhtimisalgoritme. See võib olla lihtne kaherattaline robot, neljajalgne või isegi keerukam robotkäsi.

3. Asjade interneti (IoT) projekt

Ühendage oma Arduino projekt internetti, et koguda andmeid, juhtida seadmeid eemalt või integreerida teiste veebiteenustega. Kasutage võrku ühendamiseks Wi-Fi moodulit või Etherneti kilpi. Näideteks on ilmajaam, mis laadib andmeid pilveteenusesse, või kaugjuhitav niisutussüsteem. Kaaluge platvormide nagu IFTTT või ThingSpeak kasutamist.

Nõuanded ja parimad praktikad

Levinud probleemide tõrkeotsing

Isegi kogenud tegijad puutuvad aeg-ajalt kokku probleemidega. Siin on mõned levinud probleemid ja nende tõrkeotsingu viisid:

Ressursid edasiõppimiseks

Kokkuvõte

Arduino pakub võimsat ja kättesaadavat platvormi laia valiku elektroonikaprojektide ehitamiseks. Omandades põhimõisted ja uurides erinevaid andureid, täitureid ja suhtlusmeetodeid, saate luua uuenduslikke ja põnevaid rakendusi. Olenemata sellest, kas olete algaja, kes alles alustab, või kogenud tegija, kes soovib oma oskusi laiendada, pakub Arduino midagi igaühele. Niisiis, koguge oma komponendid, laadige alla IDE ja alustage ehitamist! Elektroonikamaailm on teie käeulatuses. Alates nutika aia loomisest oma tagaaias kuni keeruka robootikasüsteemi ehitamiseni tööstusautomaatikaks – Arduino võimaldab teil oma ideed ellu viia. Võtke omaks avatud lähtekoodi jõud, looge ühendus ülemaailmse Arduino kogukonnaga ja asuge lõputute võimaluste teekonnale!