Sisällysluettelo:
- Vaihe 1: Rakenna runko
- Vaihe 2: Elektroniikka ja johdotus
- Vaihe 3: Ohjelmiston infrastruktuuri
- Vaihe 4: Käyttöliittymä
- Vaihe 5: Robotialustan ohjelmointi
- Vaihe 6: Anturin kalibroinnit
- Vaihe 7: Vaihtoehtoiset mallit
- Vaihe 8: Kuvankäsittely
- Vaihe 9: Seuraavat vaiheet…
Video: Rpibot - Tietoja robotiikan oppimisesta: 9 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Olen sulautetun ohjelmiston insinööri saksalaisessa autoyrityksessä. Aloitin tämän projektin sulautettujen järjestelmien oppimisalustana. Projekti peruutettiin aikaisin, mutta nautin siitä niin paljon, että jatkoin vapaa -ajallani. Tämä on tulos…
Minulla oli seuraavat vaatimukset:
- Yksinkertainen laitteisto (painopiste on ohjelmistossa)
- Halvat laitteet (noin 100 €)
- Laajennettavissa (jotkut vaihtoehdot ovat jo osa kuvausta)
- Syöttöjännite kaikille komponenteille yhdestä 5 V: n lähteestä (powerbank)
Oppimisen lisäksi ei ollut oikeastaan mitään tavoitetta. Alusta voidaan käyttää oppimiseen, valvontaan, robottikilpailuihin,…
Se ei ole aloittelijan opetusohjelma. Tarvitset perustiedot:
- Ohjelmointi (Python)
- Peruselektroniikka (moduulien yhdistämiseen oikealla jännitteellä)
- Perusohjausteoria (PID)
Lopulta kohtaat todennäköisesti ongelmia kuten minä. Uteliaisuudella ja kestävyydellä lähdet läpi projektin ja ratkaiset haasteet. Koodini on mahdollisimman yksinkertainen ja kriittiset koodirivit kommentoidaan vihjeiden antamiseksi.
Koko lähdekoodi ja tiedostot ovat saatavilla täältä:
Tarvikkeet:
Mekaniikka
- 1x vanerilevy (A4 -koko, 4 mm paksu)
- 3x M4 x 80 Ruuvi ja mutteri
- 2x Hammaspyörämoottorit toisiolähtöakselilla anturille. Pyörät.
- 1x vapaa pyörä
1x panorointi- ja kallistuskamerakiinnitys (valinnainen)
Elektroniikka
- 1x Raspberry Pi Zero otsikon ja kameran kanssa
- 1x PCA 9685 servo -ohjaus
- 2x optinen anturipyörä ja piiri
- 1x naarashyppyjohdot
- 1x USB -tehopankki
- 1x DRV8833 -kaksimoottorinen ohjain
- 2x mikroservot SG90 kameran panorointiin ja kallistukseen (valinnainen)
- 1x MPU9250 IMU (valinnainen)
- 1x HC-SR04-ultraääni-etäisyysanturi (valinnainen)
- 1x rei'itetty levy ja juotoslanka, otsikot,…
Vaihe 1: Rakenna runko
En ole hyvä mekaanikko. Myös hankkeiden tavoite ei ole viettää liikaa aikaa alustassa. Määritin joka tapauksessa seuraavat vaatimukset:
- Halvat materiaalit
- Nopea kokoaminen ja purkaminen
- Laajennettavissa (esim. Tilaa lisätyille antureille)
- Kevyet materiaalit säästävät elektroniikan energiaa
Helppo ja halpa runko voidaan valmistaa vanerista. Se on helppo työstää vapaasahalla ja käsiporalla. Voit liimata pieniä puisia osia antureita ja moottoreita varten.
Ajattele viallisten osien vaihtamista tai sähköistä virheenkorjausta. Pääosat tulee kiinnittää ruuveilla vaihdettaviksi. Kuuma liimapistooli voi olla yksinkertainen, mutta luultavasti ei paras tapa rakentaa alusta … Tarvitsin paljon aikaa miettiäkseni helppoa konseptia osien purkamiseksi helposti. 3D -tulostus on hyvä vaihtoehto, mutta se voi olla melko kallista tai aikaa vievää.
Vapaa pyörä on lopulta erittäin kevyt ja helppo asentaa. Vaihtoehdot olivat kaikki raskaita tai täynnä kitkaa (kokeilin pari niistä ennen kuin löysin lopullisen).
Pyörän ominaisuudet (ohjelmistolaskelmia varten)
Ympärysmitta: 21, 5 cm Pulssit: 20 pulssia/kierros Resoluutio: 1, 075 cm (lopuksi 1 pulssi on noin 1 cm, mikä on helppoa ohjelmistolaskelmille)
Vaihe 2: Elektroniikka ja johdotus
Projekti käyttää erilaisia moduuleja kaavion mukaisesti.
Raspberry Pi Zero on pääohjain. Se lukee antureita ja ohjaa moottoreita PWM -signaalilla. Se on yhdistetty etätietokoneeseen wifi -yhteyden kautta.
DRV8833 on kaksimoottorinen H-silta. Se tarjoaa riittävän virran moottoreille (mitä Raspberry Pi ei voi tehdä, koska lähdöt voivat antaa vain osan mA: sta).
Optinen kooderi antaa neliön muotoisen signaalin aina, kun valo kulkee anturipyörien läpi. Käytämme Raspberry Pi: n HW -keskeytyksiä saadaksemme tiedot joka kerta, kun signaali vaihtuu.
Pca9695 on servo -ohjauskortti. Se kommunikoi I2C -sarjaväylän kautta. Tämä kortti tarjoaa PWM -signaaleja ja syöttöjännitettä, jotka ohjaavat nokan panorointia ja kallistusta.
MPU9265 on 3-akselinen kiihtyvyys, 3-akselinen kulman pyörimisnopeus ja 3-akselinen magneettivuon anturi. Käytämme sitä pääasiassa kompassin suunnan saamiseen.
Kaikki moduulit on kytketty yhteen hyppyjohdolla. Leipälauta toimii lähettäjänä ja tarjoaa syöttöjännitteet (5 V ja 3,3 V) ja maadoitukset. Kaikki liitännät on kuvattu kytkentätaulukossa (katso liite). 5 V: n liittäminen 3,3 V: n tuloon tuhoaa todennäköisesti sirusi. Ole varovainen ja tarkista kaikki johdot kahdesti ennen toimitusta (tässä on erityisesti otettava huomioon anturi). Ennen kuin liität kaikki levyt, sinun on mitattava lähetyslevyn pääjännitteet yleismittarilla. Moduulit kiinnitettiin nailonruuveilla runkoon. Myös täällä olin iloinen, että sain ne korjattua, mutta myös irrotettavia vian sattuessa.
Ainoa juotos oli lopulta moottorit ja leipälauta ja otsikot. Ollakseni rehellinen, pidän hyppyjohdoista, mutta ne voivat johtaa löysään yhteyteen. Joissakin tilanteissa jotkin ohjelmiston seurannat voivat auttaa sinua analysoimaan yhteyksiä.
Vaihe 3: Ohjelmiston infrastruktuuri
Mekaniikan saavuttamisen jälkeen perustamme ohjelmistoinfrastruktuurin, joka tarjoaa mukavat kehitysolosuhteet.
Git
Tämä on ilmainen ja avoimen lähdekoodin versionhallintajärjestelmä. Sitä käytetään suurten projektien hallintaan Linuxina, mutta sitä voidaan helposti käyttää myös pieniin projekteihin (katso Github ja Bitbucket).
Projektimuutoksia voidaan seurata paikallisesti ja siirtää myös etäpalvelimelle jakamaan ohjelmistoja yhteisön kanssa.
Tärkeimmät käytetyt komennot ovat:
git -klooni https://github.com/makerobotics/RPIbot.git [Hae lähdekoodi ja git -määritys]
git pull origin master [saat uusimmat tiedot etävarastosta]
git status [saat paikallisen arkiston tilan. Onko tiedostoja muutettu?] Git log [hanki luettelo sitoumuksista] git add. [lisää kaikki muutetut tiedostot vaiheeseen, joka on otettava huomioon seuraavaa sitoutumista varten] git sitoutua -m "kommentoi sitoutumista" [tee muutokset paikalliseen arkistoon] git push alkuperän master [työnnä kaikki sitoumukset etärekisteriin]
Kirjaaminen
Python tarjoaa joitakin sisäänrakennettuja lokitoimintoja. Ohjelmiston rakenteen tulisi määritellä jo kaikki lokikehykset ennen jatkokehityksen aloittamista.
Loggeri voidaan konfiguroida kirjautumaan määritetyssä muodossa päätteeseen tai lokitiedostoon. Esimerkissämme loggeri on verkkopalvelinluokan konfiguroima, mutta voimme tehdä sen myös itse. Tässä asetamme vain lokitason DEBUG:
logger = logging.getLogger (_ nimi_)
logger.setLevel (logging. DEBUG)
Mittaus ja piirtäminen
Signaalien analysoimiseksi ajan mittaan on parasta piirtää ne kaavioon. Koska Raspberry Pi -laitteessa on vain konsoliterminaali, jäljitämme tiedot puolipisteellä erotetussa csv -tiedostossa ja piirtämme sen etätietokoneesta.
Puolipisteellä erotettu jäljitystiedosto luodaan python -pääkoodimme avulla, ja siinä on oltava tällaiset otsikot:
aikaleima; yawCorr; anturiR; I_L; odoDistance; ax; encoderL; I_R; yaw; eSpeedR; eSpeedL; pwmL; speedL; CycleTimeControl; wz; pwmR; speedR; Iyaw; hdg; m_y; m_x; eYaw; cycleT
1603466959.65;0;0;25;0.0;-0.02685546875;0;25;0;25;25;52;0.0;23;0.221252441406;16;0.0;0;252.069366413;-5.19555664062;-16.0563964844;0;6; 1603466959.71;0;0;50;0.0;0.29150390625;0;50;0;25;25;55;0.0;57;-8.53729248047;53;0.0;0;253.562118111;-5.04602050781;-17.1031494141;0;6; 1603466959.76;0;-1;75;0.0;-0.188232421875;1;75;2;25;25;57;0;52;-24.1851806641;55;0;0;251.433794171;-5.64416503906;-16.8040771484;2;7;
Ensimmäinen sarake sisältää aikaleiman. Seuraavat sarakkeet ovat ilmaisia. Piirtoskripti kutsutaan luettelona piirrettävistä sarakkeista:
kauko@pc: ~/python rpibot_plotter -f trace.csv -p speedL, speedR, pwmL, pwmR
Kaavio on käytettävissä työkalukansiossa:
Piirturi käyttää mathplotlibia Pythonissa. Sinun on kopioitava se tietokoneellesi.
Mukavuuden lisäämiseksi python -skriptiä kutsutaan bash -skriptillä (plot.sh), jota käytetään Raspberry Pi -jälkitiedoston kopioimiseen etätietokoneeseen ja soittamiseen plotterille signaalin valinnalla. Bash -skripti "plot.sh" kysyy jos tiedosto on kopioitava. Tämä oli kätevämpää sen sijaan, että kopioisin käsin joka kerta. "sshpass" käytetään tiedoston kopioimiseen Raspberry Pi: stä etätietokoneeseen scp: n kautta. Se pystyy kopioimaan tiedoston kysymättä salasanaa (se välitetään parametrina).
Lopuksi avataan ikkuna, jossa on juoni kuvan mukaisesti.
Etäviestintä
Raspberry Pi: n kehitysrajapinta on SSH. Tiedostoja voidaan muokata suoraan kohteeseen tai kopioida scp: llä.
Robotin hallitsemiseksi Pi: llä on käynnissä verkkopalvelin, joka tarjoaa hallinnan Websocketsin kautta. Tämä käyttöliittymä kuvataan seuraavassa vaiheessa.
Asenna Raspberry Pi
Lähdekoodin (doc_) -kansiossa (setup_rpi.txt) on tiedosto, joka kuvaa Raspberry Pi: n asennusta. Selityksiä ei ole paljon, mutta monia hyödyllisiä komentoja ja linkkejä.
Vaihe 4: Käyttöliittymä
Käytämme kevyttä Tornado -verkkopalvelinta käyttöliittymän isännöintiin. Se on Python -moduuli, jota kutsumme käynnistäessämme robotin ohjausohjelmiston.
Ohjelmistoarkkitehtuuri
Käyttöliittymä on rakennettu seuraavien tiedostojen avulla: gui.html [Verkkosivun säätimien ja asettelun kuvaaminen] gui.js [Sisältää JavaScript -koodin, joka käsittelee ohjaimet ja avaa verkkoyhteyden robottiin] gui.css [Sisältää html -ohjaimet. Säätimien asennot määritellään tässä]
Websocket -viestintä
Käyttöliittymä ei ole tyylikkäin, mutta se tekee työnsä. Keskityin tässä tekniikoihin, jotka olivat minulle uusia, kuten Websockets.
Web -sivusto kommunikoi robottiverkkopalvelimen kanssa Websocketsin avulla. Tämä on kaksisuuntainen viestintäkanava, joka pysyy auki yhteyden muodostamisen yhteydessä. Lähetämme robotin komennot Websocketin kautta Raspberry Pi: hen ja saamme tiedot (nopeus, sijainti, kameran virta) takaisin näytettäväksi.
Käyttöliittymän asettelu
Käyttöliittymässä on manuaalinen komentojen syöttö. Tätä käytettiin alussa lähetettäessä komentoja robotille. Valintaruutu kytkee kameran virran päälle ja pois päältä. Kaksi liukusäädintä ohjaavat kameran panorointia ja kallistusta. Käyttöliittymän oikea yläosa ohjaa robottien liikettä. Voit hallita nopeutta ja tavoiteetäisyyttä. Telemetrian perustiedot näkyvät robotin piirustuksessa.
Vaihe 5: Robotialustan ohjelmointi
Tämä osa oli hankkeen päätavoite. Asensin paljon ohjelmistoja uudelleen esitellessäni uuden alustan tasavirtamoottoreilla ja käytin Pythonia ohjelmointikielenä eri syistä:
- Se on Raspberry Pi -kieli
- Se on korkean tason kieli, jossa on monia sisäänrakennettuja ominaisuuksia ja laajennuksia
- Se on olio -suuntautunut, mutta sitä voidaan käyttää myös peräkkäiseen ohjelmointiin
- Kokoonpanoa tai työkaluketjua ei tarvita. Muokkaa koodia ja suorita se.
Tärkein ohjelmistoarkkitehtuuri
Ohjelmisto on objektipohjainen, jaettu muutamaan kohteeseen. Ajatukseni oli jakaa koodi kolmeen toiminnalliseen lohkoon:
Sense Think Actuate
Sense.py
Pääanturin hankinta ja käsittely. Tiedot tallennetaan sanakirjaan käytettäväksi seuraavassa vaiheessa.
Control.py
Toimilaitteiden alaluokka ohjaa moottoreita ja servoja jonkin verran abstraktion jälkeen. Pääohjausobjekti käsittelee moottorin korkean tason komentoja ja myös ohjausalgoritmeja (PID).
rpibot.py
Tämä pääobjekti on Tornado -verkkopalvelimen hallinta ja aisti- ja ohjausluokkien luominen eri säikeissä.
Jokainen moduuli voidaan suorittaa yksin tai osana koko projektia. Voit vain havaita ja tulostaa anturitiedot tarkistaaksesi, että anturit on kytketty oikein ja antavat oikeat tiedot.
PID -säätö
Ensimmäinen tehtävä on selvittää, mitä haluamme hallita. Aloitin yrittämällä hallita asentoa, joka oli hyvin monimutkainen eikä auttanut paljon.
Lopuksi haluamme hallita jokaisen pyörän nopeuden ja myös robotin suunnan. Tätä varten meidän on ryhdyttävä kahteen ohjauslogiikkaan.
Monimutkaisuuden lisäämiseksi askel askeleelta robottia tulee ohjata:
avoin silmukka (jatkuvalla teholla)
pwm = K.
lisää sitten suljetun silmukan algoritmi
pwm = Kp.speedError+Ki. Integration (speedError)
ja lisää lopuksi suunnanohjaus viimeiseksi vaiheeksi.
Nopeuden säädössä käytin "PI" -säädintä ja "P" vain kääntöä. Asetin parametrit manuaalisesti kokeilemalla. Tässä voisi käyttää paljon parempia parametreja. Tavoitteeni oli vain suora viiva ja melkein sain sen. Tein ohjelmistoon käyttöliittymän kirjoittaakseni muuttujia käyttöliittymän avulla. Parametrin Kp asettaminen arvoon 1.0 edellyttää seuraavaa komentoa käyttöliittymässä:
SET; Kp; 1.0
Voisin asettaa P -parametrin juuri niin pieneksi, että vältytään ylikuumenemiselta. Jäljellä oleva virhe korjataan I -parametrilla (integroitu virhe)
Minun oli vaikea selvittää, miten molemmat säätimet voidaan kaskadoida. Ratkaisu on yksinkertainen, mutta kokeilin monia muita tapoja ennen… Joten lopulta muutin pyörien nopeustavoitteen kääntyäkseen suuntaan tai toiseen. Nopeudensäätimen lähdön muuttaminen suoraan oli virhe, kun nopeudensäädin yritti poistaa tämän häiriön.
Käytetty ohjauskaavio on liitteenä. Se näyttää vain robotin ohjaimen vasemman puolen.
Vaihe 6: Anturin kalibroinnit
Ensimmäinen asia, joka on otettava huomioon, on, että koko IMU: n on toimittava kunnolla. Tilasin 3 osaa ja lähetin ne takaisin, kunnes minulla oli täysi toimiva anturi. Jokaisessa edellisessä anturissa jotkin anturin osat eivät toimineet kunnolla tai eivät ollenkaan. Testasin perusnäytteitä perusskripteillä ennen kuin asennin sen robottiin.
IMU -anturisignaalit on kalibroitava ennen käyttöä. Jotkut anturisignaalit riippuvat asennuskulmasta ja asennosta.
Kiihtyvyys- ja pyörimisnopeuden kalibroinnit
Helpoin kalibrointi on pitkittäiskiihtyvyydelle (A_x). Paikalla pitäisi olla noin 0 m/s². Jos kierrät anturia oikein, voit mitata painovoiman (noin 9,8 m/s²). Kalibroidaksesi a_x, sinun on vain asennettava se oikein ja määritettävä sitten siirtymä saadaksesi 0 m/s² pysähtyneenä. Nyt A_x on kalibroitu. Voit saada pyörimisnopeuden siirtymät samalla tavalla pysähtyneenä.
Kompassin magnetometrin kalibrointi
Monimutkaisempi kalibrointi on tarpeen magneettikenttäantureille. Käytämme m_x ja m_y saadaksemme magneettikentän vaakasuoralle tasolle. M_x: n ja m_y: n saaminen antaa meille mahdollisuuden laskea kompassisuunta.
Yksinkertaista tarkoitustamme varten kalibroimme vain kovan raudan poikkeaman. Tämä on tehtävä, kun anturi on lopullisessa asennossa, koska se riippuu magneettikentän häiriöistä.
Tallennamme m_x ja m_y samalla kun käännämme robottia z-akselin ympäri. Piirrämme m_x vs m_y XY -kaavioon. Tuloksena on ellipsis, kuten kuvassa. Ellipsi on keskitettävä alkuperään. Tässä tarkastellaan m_x: n ja m_y: n enimmäis- ja vähimmäisarvoja, jotta saadaan offsetit molempiin suuntiin. Lopuksi tarkistamme kalibroinnin ja näemme, että ellipsi on nyt keskitetty.
Pehmeän raudan kalibrointi tarkoittaisi sitä, että muutamme kuvan ellipsistä ympyräksi. Tämä voidaan tehdä lisäämällä tekijä kuhunkin anturin arvoon.
Testirutiini voidaan nyt koodata uudelleenkalibroimiseksi tai ainakin sen tarkistamiseksi, että anturit ovat edelleen kalibroituja.
Kompassin otsikko
Magnetometrin tietoja käytetään nyt kompassin suunnan laskemiseen. Tätä varten meidän on muunnettava m_x- ja m_y -signaalit kulmaksi. Python tarjoaa suoraan math.atan2 -funktion, jolla on tämä tavoite. Koko laskutoimitus on määritetty tiedostossa mpu9250_i2c.py ("calcHeading (mx, my, mz)").
Vaihe 7: Vaihtoehtoiset mallit
Projekti vei paljon aikaa, koska suunnittelu oli täysin avoin. Tein jokaiselle osalle prototyyppitoteutuksen ja koin järjestelmän rajat.
Monimutkaisin aihe oli pyöränkooderi. Testasin kolmea eri vaihtoehtoa ennen kuin löysin tällä hetkellä käytetyn optisen kooderin. Uskon, että keskeytetyt ratkaisut ovat myös erittäin mielenkiintoisia tällaisessa projektissa. Se koskee osia, joista olen oppinut eniten.
Jatkuvan pyörimisen servo kytketty pca 9695: een
Välttääkseni DC-moottorin ylimääräisen H-sillan, aloitin ensin jatkuvalla pyörimispalvelulla. Näitä ajoi jo olemassa oleva pca 9695 -servo -ohjain. Kaikki propulsiomekaniikka ja vastaava elektroniikka olivat paljon yksinkertaisempia. Tällä suunnittelulla oli kaksi haittaa:
- Servojen huono ohjausalue.
- Puuttuva kooderin säilytyspaikka
Servot alkavat liikkua 50% pwm ja ovat täydellä nopeudella noin 55%. Tämä on erittäin huono säätöalue.
Ilman enkooderin pitoa oli hyvin vaikeaa löytää käyttövalmis anturi. Testasin kolmea erilaista heijastuskooderia, jotka asennettiin runkoon. Teipasin itse tehdyn anturipyörän pyörän ulkopuolelle mustavalkoisilla osilla. Käytin QTR-1RC-antureita, jotka tarvitsevat paljon signaalinkäsittelyä oikean signaalin saamiseksi. Raspberry Pi ei pystynyt suorittamaan tällaista reaaliaikaista käsittelyä. Joten päätin lisätä NodeMCU D1 minin reaaliaikaiseksi ohjaimeksi robottiin. Sarjan UART yhdisti sen vadelma Pi: hen käsiteltyjen anturitietojen toimittamiseksi. NodeMCU hallitsi myös HC-SR04-anturia. Mekaniikka oli vaikeaa eikä kovin kestävää, sarjalinja sai melua I2C-linjalta ja moottoreilta, joten lopulta rakensin rungon toisen version yksinkertaisilla hammaspyörillä varustetuilla DC-moottoreilla H-silta. Näissä moottoreissa on toissijainen lähtöakseli optisen anturin sijoittamiseksi.
Vaihe 8: Kuvankäsittely
Autonomisen ajamisen parantamiseksi voimme tehdä kuvankäsittelyä.
Opencv -kirjasto on viite siihen. Python voi käyttää sitä esteiden havaitsemisen nopeaan käyttöönottoon.
Otamme kuvan ja käytämme joitain kuvankäsittelytehtäviä:
Ensimmäiset testit tehtiin Canny- ja Sobel -muunnoksilla. Canny voi olla hyvä ehdokas, mutta ei tarpeeksi järkevä. Sobel on liian järkevä (liikaa esineitä havaittu).
Lopuksi tein oman suodattimen sekoittamaan kaikki vaaka- ja pystysuuntaiset kaltevuudet (havaitsemaan huonekalut):
- Muunna värikuva harmaan tason kuvaksi
- Häivytä kuva poistaaksesi pienen kohinan
- Rajaa kuva mustavalkoiseksi kuvaksi
- Nyt havaitsemme vaaka- ja pystysuuntaiset kaltevuudet kohteiden tunnistamiseksi seininä ja huonekaluina
- Suodatamme vain suuret jäljellä olevat ääriviivat (katso värilliset ääriviivat kuvassa)
Nyt voimme käyttää tätä uutta tietoa esteiden havaitsemiseen …
Vaihe 9: Seuraavat vaiheet…
Nyt meillä on yksinkertainen robottialusta, jossa on antureita, toimilaitteita ja kamera. Tavoitteeni on liikkua itsenäisesti ja palata asemalle lisäämättä muita antureita. Tätä varten tarvitsen seuraavat vaiheet:
- Kääntymisen ja magneettisen suunnan signaalien fuusio
- Kameran kuvankäsittely (vain alhainen suoritin käytettävissä)
- Törmäyksen tunnistus (ultraäänietäisyys ja kamera)
- Kartan rakentaminen tai suunta
Mene ja luo omat haasteet tai tavoitteet…
Suositeltava:
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen
Robotiikan kondensaattorit: 4 vaihetta
Robotiikan kondensaattorit: Tämän Instructablein motiivi on pidempi kehitteillä oleva, joka seuraa edistymistä Texas Instruments Robotics System Learning Kit Lab Course -kurssin kautta. Ja kurssin motivaatio on rakentaa (rakentaa) parempi, kestävämpi robotti