Kuinka ohjelmoida Arduinoa tekoälyn avulla: Käytännön opas ja projektit

  • Selkeät vaatimukset: yhteensopiva piirilevy, TensorFlow Lite, anturit ja C++-pohjainen ohjelmointikieli tekoälyn integroimiseksi Arduinoon.
  • Täydellinen työnkulku: kouluta PC:llä, muunna TFLite-muotoon, lataa piirilevylle ja hienosäädä testauksella.
  • Esimerkkejä ja projekteja: syöttö-/tulosmallit, sovelletut ideat ja tekoälypohjaiset työkalut kiihdyttämiseen.
  • Käytännönläheinen oppiminen: Tekijän haasteita palkinnoilla ja resursseilla askel askeleelta kehittymiseen.

Arduino tekoälyn avulla

Jos olet kiinnostunut yhdistämään mikrokontrollereita koneoppimiseen, olet tullut oikeaan paikkaan: Arduinon ohjelmointi tekoälyn avulla yhdistää elektroniikan, koodin ja älykkäiden mallien taian projekteissa, jotka muuttuvat erikoisista todella hyödyllisiksi. Täältä löydät kattavan ja realistisen oppaan aloittamiseen eksymättä tekniseen ammattikieleen, mutta riittävän perusteellisesti, jotta rakentamasi ratkaisu todella toimii.

Tavoitteena on, että pystyt luomaan ympäristösi alusta alkaen, kouluttaa koneoppimismallin tietokoneellasi, tuo se taulullesi ja saat sen toimimaan antureiden ja toimilaitteiden kanssa. Näet myös peruskoodiesimerkkejä (ilman tekoälyä), jotka auttavat sinua ymmärtämään anturilukemien ja lähtöjen ohjauksen kulun, projekti-ideoita, tekoälypohjaisia ​​työkaluja koodin luomiseen ja jopa käytännönläheisen haasteen palkintoineen inspiroimaan sinua rakentamiseen.

Mitä Arduinon ohjelmointi tekoälyn avulla tarkoittaa tänä päivänä?

Kun puhumme tekoälyn tuomisesta Arduinoon, viittaamme kevyiden koneoppimismallien suorittamiseen resurssirajoitteisilla levyillä. Tämän saavuttamiseksi, TensorFlow Lite Se on suosituin vaihtoehto, koska se mahdollistaa aiemmin koulutettujen mallien siirtämisen mikrokontrollereille optimoituun muotoon.

Ennen aloittamista on hyvä olla selkeä käsitys vähimmäisvarusteista. Tällä yhdistelmällä kattaat useimmat skenaariot ja voit skaalata sitä, jos projektisi kasvaa tai monimutkaistuu: piirilevy, kirjastot, komponentit ja vähän C++:aa.

  1. Arduino-levy: Arduino UNONano tai Mega ovat yleisiä vaihtoehtoja; valitse tarvitsemiesi nastojen, muistin ja liitäntöjen perusteella.
  2. TekoälykirjastotTensorFlow Lite mikrokontrollereille antaa sinun ajaa pieniä malleja tehokkaasti.
  3. Elektroniset komponentitanturit (valo, lämpötila, läheisyys (esimerkiksi VL53L4CD-anturi)), moottorit, kamerat tai mikrofonit, riippuen siitä, minkä haasteen haluat ratkaista.
  4. C++-ohjelmoinnin perusteet ja perehtyneisyys tekoälyn käsitteisiin, kuten neuroverkkoihin ja ohjattuun oppimiseen.

Sujuvan kokemuksen varmistamiseksi on hyvä laatia selkeä työnkulku ensimmäisestä päivästä lähtien: ideoi, kerää dataa, kouluta, muunna kevyeen muotoon, integroi ja säädäNäin et jää ulkopuolelle, kun lähdet käyttöön.

Opas Arduinon ohjelmointiin tekoälyn avulla

Vaihe vaiheelta: IDE:stä ensimmäiseen malliin piirilevyllä

Aloitetaan perusasioista: ympäristön asentamisesta ja sen valmistelusta koodin ja kirjastojen lataamista varten. Arduino-IDE päivitettynä säästää sinut riippuvuuksien ja yhteensopivuuden aiheuttamilta ongelmilta.

1) Asenna kehitysympäristö: Lataa ja asenna Arduino IDE sen viralliselta verkkosivustolta ja varmista, että voit kääntää ja ladata yksinkertaisen esimerkin (esim. klassinen Blink). Tämä tarkistus varmistaa, että emolevy, ajurit ja portti on konfiguroitu oikein.

2) Konfiguroi Arduino tekoälyä varten: Sinun on integroitava TensorFlow Lite mikrokontrollereita varten. Käytännöllisin tapa on käyttää IDE:n omaa kirjastohallintaa, jotta riippuvuudet ratkaistaan ​​automaattisesti ja välttää yhteensopimattomuuksia.

  • Avaa Arduino IDE ja kirjoita Työkalut > Kirjastojen hallinta.
  • Hae ”TensorFlow Lite” ja paina asennuspainiketta varmistaen, että versio on yhteensopiva merkkisi ja esimerkin kanssa, jota haluat seurata.

3) Kouluta tekoälymalliasi: Taika tapahtuu tietokoneellasi. Voit käyttää TensorFlow'ta mallin luomiseen ja kouluttamiseen datasi avulla. Tyypillinen tapaus on robotti, joka väistää esteitä läheisyysanturin lukemien perusteella; toinen vaihtoehto on luokitella yksinkertaisia ​​ääniä mikrofonilla tai suorittaa kuvan tunnistus taloudellisilla moduuleilla. Kun olet saavuttanut hyväksyttävän suorituskyvyn, vienti TensorFlow Liteen käytettäväksi mikrokontrollereissa.

4) Lataa malli levylle: Kun tiedosto on optimoitu, on aika integroida se luonnokseesi. Perusmalli koostuu tensorien valmistelusta, antureiden lukemisesta, päättelyn suorittamisesta ja vastaavasta toiminnasta. Yksinkertaisissa projekteissa päätös voi olla yhtä yksinkertainen kuin moottorin käynnistäminen, jos todennäköisyys ylittää kynnysarvon; kunnianhimoisemmissa skenaarioissa voit kokeilla kuvan tai äänen tunnistus.

#include <TensorFlowLite.h>
// Incluir cabeceras específicas del ejemplo o del modelo convertido

// Variables para sensores y salida
// (ajusta pines y tipos a tu hardware)

void setup() {
  Serial.begin(115200);
  // Inicializar sensores
  // Inicializar modelo: arena, intérprete, tensores
}

void loop() {
  // 1) Adquirir datos del sensor
  // 2) Preprocesar y copiar a entrada del modelo
  // 3) Invocar la inferencia
  // 4) Leer la salida y tomar decisiones (mover motor, encender LED, etc.)
}

5) Säädä ja mukauta projektiasi: Mikään malli ei ole täydellinen ensimmäisellä kerralla. Sinun on todennäköisesti kalibroitava antureita, tarkennettava päätöskynnystä tai jopa koulutettava se uudelleen lisäämällä dataa. Tämä iteraatiosykli on normaali; käytä aikaa mittaamiseen ja korjaamiseen niin, että käyttäytyminen on vakaata todellisissa olosuhteissa.

Prototyyppien nopeuttamiseksi on olemassa tekoälyavusteisia työkaluja, kuten Code Generator for Arduino (myös työkaluja, kuten visuino), jotka luovat koodirungon kuvauksesta. Ne ovat hyödyllisiä aloittamiseen, vaikka on suositeltavaa tarkastella logiikkaa ja virittää suorituskykyä käsin, koska luotu koodi ei ole aina tehokkainta mahdollista.

TensorFlow Lite Arduinossa

Peruskoodiesimerkkejä (ilman tekoälyä) antureiden ja lähtöjen integroimiseksi

Vaikka tämä artikkeli käsittelee tekoälyä, on hyödyllistä ymmärtää hyvin joitakin anturien lukumalleja ja lähtöjen hallintaa. Nämä esimerkit toimivat pohjana mallin päättelyn yhdistämiselle fyysiseen maailmaan ja validoi laitteistosi nopeasti.

Esimerkki 1: sytyttää LED-valon, kun painat painikettaSe on klassinen testeri, joka tarkistaa digitaaliset tulot ja lähdöt; ihanteellinen varmistamaan, että piirilevysi ja johdotuksesi ovat kunnossa ennen mallin integrointia.

int pinBoton = 2;     // Pin del botón
int pinLED   = 13;    // Pin del LED

void setup() {
  pinMode(pinBoton, INPUT);
  pinMode(pinLED, OUTPUT);
}

void loop() {
  if (digitalRead(pinBoton) == HIGH) {
    digitalWrite(pinLED, HIGH);
  } else {
    digitalWrite(pinLED, LOW);
  }
}

Esimerkki 2: LEDin kirkkauden säätö fotovastuksella. Tämä kuvio yhdistää analogisen tulon ja PWM-lähdön; erittäin hyödyllinen, kun päättelyn jälkeen haluat moduloida intensiteettejä, nopeuksia tai mitä tahansa jatkuvaa arvoa projektissasi. kirkkauden säätö.

int ldr    = A0;  // Entrada analógica del LDR
int ledPWM = 9;   // Salida PWM para el LED

void setup() {
  pinMode(ledPWM, OUTPUT);
}

void loop() {
  int lectura = analogRead(ldr);
  int brillo  = map(lectura, 0, 1023, 0, 255);
  analogWrite(ledPWM, brillo);
  delay(10);
}

Nämä lohkot yhdistettynä mallin päättelyyn mahdollistavat reaaliaikaisten päätösten tekemisen: esimerkiksi moottorin aktivoimisen, jos malli havaitsee esteen, tai valon kirkkauden muuttamisen kohtausluokituksen perusteella. Keskeistä on, että sovelluslogiikkasi kääntää mallin tuotoksen hyvin fyysisiksi toimiksi.

Esimerkkejä Arduino- ja tekoälyprojekteista

Projekti-ideoita, jotka yhdistävät Arduinon ja tekoälyn

Mahdollisuudet ovat rajattomat, mutta konkreettisista tavoitteista aloittaminen auttaa sinua pysymään keskittyneenä. Tässä on joitakin tosielämän tilanteisiin perustuvia ehdotuksia, joita voit soveltaa laitteistoosi ja kerättävään ja nimettävään dataan. riittävä laatu.

  1. kytketty termostaattiMittaa lämpötilaa BMP180-anturilla ja kouluttaa mallin ennustamaan optimaalisen käynnistysajan. Ohjaa lämmitystä tai ilmastointia ja lisää yhteydet etähallintaa varten.
  2. Älykäs liiketunnistinkäyttää PIR-antureita tai kiihtyvyysanturia (esimerkiksi LSM9DS1) ja kouluttaa luokittelijan erottamaan melun, lemmikit tai ihmisten läsnäolon ennen hälytysten tai valojen laukaisemista.
  3. Adaptiivinen valonsäätö: yhdistää fotoresistorin malliin, joka ottaa huomioon kellonajan ja käyttötottumukset säätääkseen intensiteettiä ja valaistuskuvioita.
  4. Tietojen näyttöOLED-näytöllä se näyttää anturilukemat (lämpötila, kosteus, ilmanlaatu) ja lisää mallin, joka havaitsee poikkeamat reaaliajassa.
  5. Monitor de calidad del aireluokittelee ilmanlaadun seuraavien perusteella: BME680-anturi ja aktivoi ilmanvaihdon, kun malli ennakoi ei-toivottuja tasoja.
  6. Liitetty lääkeannostelijaAjoita muistutuksia, ohjaa annostelua varten tarkoitettua servomoottoria ja lisää malli, joka oppii rutiineja muistutusten optimoimiseksi.

Olipa valintasi mikä tahansa, aloita yksinkertaisella prototyypillä, varmista, että anturilukemat ovat vakaat, ja vasta sitten integroi tekoälymallin lisätäkseen älykkyyttä ja vähentääkseen vääriä positiivisia tuloksia.

Tekoälyllä toimivat työkalut, jotka luovat koodia, ja milloin niitä käytetään

Nykyään on olemassa avustajia, jotka luonnollisen kielen kuvauksen perusteella ehdottavat toiminnallista luonnosta. Alustat, kuten Koodigeneraattori Arduinolle Ne voivat säästää tuntikausia alkuperäisen projektirakenteen luomisessa ja tarjota nopean todisteen konseptista.

Muista nyt sen rajoitukset: tekoäly ei aina tuota puhtainta tai tehokkainta koodia, ja joskus sinun on säädettävä pinnejä, ajoituksia tai tietyt kirjakaupatOn myös mahdollista, että työkalu ei ilman sinun harkintavaltaasi kerää tietoja käyttämästäsi laitteistosta.

Käytännössä on hyödyllisintä käyttää näitä generaattoreita lähtökohdan löytämiseen ja vahvistaa sitä sitten testauksella, mittauksella ja manuaalisella refaktoroinnilla. Ajattele tekoälyä apuohjaajana, joka nopeuttaa startupiasi, mutta ei korvaa vahvistustasi työpöydällä.

Tapahtuma ja 26 tekijähaastetta tekoälyn avulla: Opi rakentamalla

Jos kaipaat lisäpotkua, tarjolla on aktiviteetti, joka auttaa sinua oppimaan Arduinon ohjelmoinnin, vaikka olisit vasta aloittelija. Saatavilla on useita eri vaihtoehtoja. Perjantai, 26. heinäkuuta, klo 10.30–12.00, ehdotetaan haastetta, jossa on 26 tekijähaastetta kaikille tasoille.

Ajatuksena on, että tekoälyn avustajan tuella (käytä sitä halutessasi) voit suorittaa kaikki 26 haastetta ja parantaa taitoa komponenttien ja tekniikoiden kanssa. Tavoitteena on, että kuka tahansa henkilö voi nauttia rakentamisesta ja ratkaisemisesta.

Toiminnan mekaniikka:

  • HaastekorttiSaat kortin, jossa on 26 haastetta, ja voit merkitä ne, jotka suoritit.
  • Haasteen esittelyJokainen haaste on tärkeä, kun näytät sen toimivan Maker Hardware -tiimille; jos kaikki menee hyvin, he liimaavat tarran korttiisi.
  • ValmistuminenKaikki 26 haastetta suorittaneille taataan palkinto; nopeus ja tarkkuus ovat tässä avainasemassa, sillä haasteiden järjestys vaikuttaa palkintoihin.

Katso sivulta haasteet ja muiden osallistujien edistyminen: https://inven.es/euskalencounter-retos-arduino-con-ia/Se on loistava tapa motivoida itseäsi ja samalla saada ideoita seuraavaan. projekti tekoälyn avulla.

Palkinnot:

  • Ensimmäinen henkilö, joka suorittaa:
    1. 3D-tulostin
    2. Arduino Kit
    3. Euskal-t-paita
    4. Erityinen avaimenperä
    5. Kultainen tutkintotodistus
  • Toinen henkilö:
    1. Arduino Kit
    2. Euskal-t-paita
    3. Erityinen avaimenperä
    4. Hopeatutkinto
  • Kolmas henkilö:
    1. Euskal-t-paita
    2. Erityinen avaimenperä
    3. Pronssitutkinto
  • Ne, jotka suorittavat 26.:
    1. Erityinen avaimenperä
    2. Pronssitutkinto

Kannustimen lisäksi saat mahdollisuuden keskustella muiden tekijöiden kanssa, nähdä erilaisia ​​lähestymistapoja ja jakaa ensimmäisiä luomuksiasi. Tekoälyn tuella aloittaminen on helppoa. nopeampaa ja hauskempaa.

Tietosuoja yhteisöresursseja käytettäessä

Kun etsit tietoa yhteisöistä, pidä mielessä niiden eväste- ja tietosuojakäytännöt. Redditin ja sen kumppaneiden kaltaiset alustat käyttävät evästeitä käyttökokemuksesi parantamiseen, sisällön personointiin ja mainonnan mittaamiseen; vaikka kieltäisitkin ei-välttämättömät evästeet, jotkut jäävät välttämätön perustoimintojen kannalta. Jos olet kiinnostunut yksityiskohdista, tarkista heidän evästeilmoituksensa ja tietosuojakäytäntönsä ennen selaamista.

python arduino
Aiheeseen liittyvä artikkeli:
Kuinka ohjelmoida Arduino Pythonilla: Täydellinen käytännön opas

Lisää ensisijaiseksi lähteeksi Googlessa