Sisukord:

UCL Embedded - B0B Linefollower: 9 sammu
UCL Embedded - B0B Linefollower: 9 sammu

Video: UCL Embedded - B0B Linefollower: 9 sammu

Video: UCL Embedded - B0B Linefollower: 9 sammu
Video: Human vs Robot | Artificial Intelligence 2024, Juuli
Anonim
UCL Embedded - B0B Linefollower
UCL Embedded - B0B Linefollower

See on B0B.*

B0B on üldine raadio teel juhitav auto, mis teenib ajutiselt liinijälgimisroboti baasi.

Nagu paljud tema ees seisvad robotid, teeb ta kõik endast oleneva, et jääda joonele, mis on põhjustatud üleminekust põranda ja kontrastset materjali, meie puhul kleeplinti.

Erinevalt paljudest teistest liinijälgimisrobotitest kogub B0B ka andmeid ja saadab need WiFi kaudu.

See on hobiprojekti jaoks täiesti üle jõu käiv, kuid see hõlmab mitmeid teemasid, mis võivad teile huvi pakkuda. See juhend kirjeldab tema sündi, tema funktsioone ja seda, kuidas saate temast sarnase teha.

See hõlmab ka vihastamist erinevate elektroonikaseadmete peale selle pärast, et nad ei tööta nii, nagu me soovisime, ja samme, mida me nende raskuste ületamiseks astusime (ma vaatan sind ESP 8266-01).

Projekti toimimiseks on 2 koodi. Esimene kood on mõeldud ESP8266 moodulile, mida kasutame programmeerijana Arduinole, ja teine kood töötab Arduino peal.

Samm: komponendid

Selle projekti jaoks vajate:

Riistvara:

• 1x raadiokontroller, (peab olema ESC ja rooliservo).

Kasutasime enamasti laos olevat Traxxas 1/16 E-Revo VXL-i, peamiselt seetõttu, et see oli meil olemas, ja olime üsna kindlad, et suudame seda Arduino abil juhtida. Ka seetõttu, et see kannab endas vähetähtsat lisariistvara, olime kindlad, et see pole 1/16 E-Revo jaoks probleem.

Siiski võiks tõenäoliselt kasutada enamikku raadio teel juhitavaid autosid (mida saab kergesti lahti võtta) ja protsess on väga sarnane.

• Tonni kleeplinti.

Värv peaks olema põrandale võimalikult kontrastne. Katsekeskkonnas kasutasime pimedal põrandal valget linti.

• 1x Arduino Mega 2560.

Tõenäoliselt sobivad ka väiksemad Arduino omad, kuid teid vajutatakse tihvtide järele.

• 1x suur leivalaud.

Ühest piisab, kuid meil oli ka väiksem, et eraldada teised pinge elektriliinid, et vähendada kasutaja viga.

• 1x TCRT5000 IR analoogandur (kasutatakse kokkupõrke vältimiseks).

Täpne kaubamärk/mudel pole oluline, kas see ühildub Arduinoga ja mõõdab kaugust. Otsige selliseid märksõnu nagu „Kaugus”, „takistusandur”. Tehniliselt töötaks digitaalne andur ka väikeste koodimuudatustega, kuid me kasutame analoogandurit.

• 1x või 2x gravitatsioon: analoogne halltoonide andur v2

Üks on rea järgija jaoks hädavajalik. Täpne mudel pole oluline, kui see vaatab peegeldunud valguse intensiivsust ja väljastab analoogsignaali. Teine toatuvastuse jaoks ei töötanud nii hästi kui oodatud ja selle võib välja jätta või võib leida alternatiivi, näiteks RGB värvisensori, eeldatavasti parema efekti saavutamiseks. Seda peame veel katsetama.

• 1 x ESP 8266-01.

Saadaval on palju ESP 8266 versioone. Meil on ainult kogemus 8266-01-ga ja me ei saa garanteerida, et ESP-kood töötab teise versiooniga.

• 1 x ESP8266-01 WiFi-kilp.

Tehniliselt valikuline, kuid kui te seda ei kasuta, muutub kõik WiFi-mooduliga seotud asjad palju keerukamaks. Juhend eeldab siiski, et teil on see olemas (kui ei, siis leidke Internetist juhendid ESP-01 õigeks ühendamiseks Arduinoga), kuna valesti toimimine võib moodulit kahjustada ja tõenäoliselt ka kahjustada.

• Sõiduki enda akud ja lisaseadmete elektroonika toiteks.

Kõigi toiteks kasutasime paralleelselt paari 2,2 AH mahuga 7,4 V Lipo akut. Peaksite saama kasutada mis tahes patareisid, mida tavaliselt oma valitud sõidukiga kasutate. Kui olete üle 5 V, kuid alla 20 V, on võimsus nimipingest olulisem.

• Palju hüppajakaableid.

Olen loobunud nende täpse arvu lugemisest. Kui arvate, et teil on piisavalt, siis tõenäoliselt mitte.

• Lõpuks, et kõike kinnitada, peate oma valitud sõidukile paigaldama Arduino, andurid, leivalaua (d) ja Wi-Fi-mooduli. Teie tulemus varieerub sõltuvalt sellest, mida kasutate alusena ja milliseid materjale on saadaval.

Me kasutasime:

• Tõmblukud.

• Mingi superliim.

• Väikesed sobiva läbimõõduga paberijäätmed/vaigutoru.

• Pildiraamist pärit vana vabamüürlaste tagaplaat, mõõtu lõigatud.

• Veidi rohkem kleeplinti.

• Kõik tööriistad, mis on vajalikud teie valitud raadio teel juhitava auto kallal töötamiseks.

Kasutasime enamasti väikest kruvikeeraja komplekti, millel oli mitu bitti, kuid aeg -ajalt pidime autoga kaasas olnud tööriistakomplekti välja tõmbama.

Tarkvara:

• Sõlm-punane

Andmete kogumise oluline osa.

• MQTT -server.

Keskmine mees meie sõiduki ja sõlmepunase vahel. Esialgu kasutasime testimiseks test.mosquitto.org

Hiljem kasutasime:

• CloudMQTT.com

See oli palju usaldusväärsem, mis enam kui kompenseeris selle seadistamise pisut keerukamaks.

• WampServer.

Andmete kogumise viimane osa. Täpsemalt kasutame kogutud andmete salvestamiseks selle SQL -andmebaasi.

2. samm: elektriskeem

Elektriskeem
Elektriskeem

3. etapp: füüsiline ehitus

Füüsiline ehitus
Füüsiline ehitus
Füüsiline ehitus
Füüsiline ehitus
Füüsiline ehitus
Füüsiline ehitus

Meie lahendusel on otsene lähenemine füüsilisele kokkupanekule.

Algne vastuvõtja ja selle veekindel korpus eemaldati RC -autost, kuna seda pole vaja.

Leidsime, et meie ridajälgimisanduri jaoks oli esirataste vahel üks sobiv koht, nii et hoidsime seda paigal, keerates tõmbluku eesmise libisemisplaadi kohale.

Kokkupõrke vältimiseks kasutatav andur on omamoodi kiilutatud esikaitseraua taha. See on endiselt löökide eest kaitstud ja selle hõõrdumine sobib. Lõppkokkuvõttes vaatab see edasi nii kerge ülespoole suunatud nurga all. See on täiuslik.

Masoniitplaadil (vana pildiraami tagaplaat) peal on väikesed paberi-/vaigutoru osad, mis on lõigatud suurusele ja liimitud põhja. Need joonduvad kerepostide kinnitustega ja istuvad lihtsalt peal, hoides kõike kindlalt. Eeldusel, et toru plaadile kinnitav liim hoiab kinni ja see ei kalluta liigselt, jääb see paigale. Samuti väärib märkimist, et plaat asub rataste ja kaitseraudade kaitsesfääris. Arduino Mega ja kaks leivaplaati on plaadile kinnitatud kas kahekordse küljeteibiga või kleeplindiga, mille ümber on silmus kleebitud.

WiFi-mooduli turvamiseks pole erimeetmeid võetud. See pole meie oma, seega peeti selle liimimist või teipimist tarbetuks, kuna see on nii kerge, et ei liigu palju ringi ja juhtmetest piisab, et seda paigal hoida.

Lõpuks on meil ruumide tuvastamiseks andur, mille üks tagumine ratas kinnitas vedrustuse komponentidele. Töö ajal peab see olema eemal joonest, mida sõiduk navigeerimiseks kasutab.

4. samm: ESP8266 moodul

ESP8266 moodul
ESP8266 moodul
ESP8266 moodul
ESP8266 moodul

WiFi -moodul ESP8266 nõuab kahe erineva tihvti seadistamist. Mooduli vilkumisel uue programmiga ja programmeerijana Arduino Mega 2560 kasutamisel tuleb kasutada ühte seadistust. Teine seadistus on mõeldud moodulile, kui see on kasutusel ja saadab teavet MQTT maaklerile.

Arduino IDE abil koodi üleslaadimiseks moodulisse ESP8266 peate installima tahvlihalduri ja täiendava tahvlite halduri

Tahvlihalduri alla installige esp8266 plaadihaldur. Selle leiate hõlpsalt otsides "esp". Oluline on installida versioon 2.5.0, mitte vanem ega uuem.

Täiendavate tahvlite halduri URL -ide seadete alt kopeerige sellele reale:

arduino.esp8266.com/stable/package_esp8266c…

ESP8266 moodulisse midagi üleslaadimiseks peate kasutama kindlat tihvti seadistust, et saaksite moodulit välgutada. Seda tuleb teha iga kord, kui soovite moodulis praegust koodi muuta. Ärge unustage enne mooduli vilkumist valida tahvlihaldurist õige ESP8266 moodul. Selles projektis valisime üldise ESP8266 plaadi. Mooduli vilkumiseks mõeldud tihvtide seadistus on selle segmendi esimesel pildil.

Pärast ESP8266 mooduli vilkumist peate vahetama tihvti seadistust. Seadistamise hõlbustamiseks võite kasutada ka adapterit. Selles projektis valisime adapteri olemasolu alati, kui moodul töötab. Tihvti seadistamine adapteriga on selle segmendi teisel pildil.

ESP8266 moodulile edastatav kood seab ühenduse WiFi ja MQTT maakleriga, antud juhul kasutajanime ja parooliga, kuid seda saab teha ka ilma, kui teete koodi kommentaarides kirjeldatud vajalikud muudatused. Selle projekti jaoks nõudis meie maakler töötamiseks kasutajanime ja parooli. Moodul loeb sissetulevaid sõnumeid jadapordist, millega see on ühendatud. See loeb iga uue Arduino koodi loodud rea, dešifreerib sõnumi ja loob selle uuesti. Seejärel saadab ta sõnumi koodis määratud MQTT maaklerile. ESP8266 mooduli kood:

Samm: Arduino

Pärast WiFi -mooduli konfigureerimist vaatame programmi, mida kasutatakse RC -auto mootori ja servo juhtimiseks. Auto hakkab reageerima vastavalt halli skaala teabele kesksensorilt, mida selles projektis tuntakse ka kui "joonedetektorit". Selle eesmärk on ilmselgelt hoida joonedetektorilt saadud teave eelseadistatud väärtuse lähedal, mis võrdub heleda ja pimeda või selle projekti, valge ja musta vaheldumisel salvestatud teabega. Nii et kui väärtus erineb liiga palju, suunab servole vastav väljund auto liini eelseadistatud väärtuse lähedale.

Programmil on kaks nuppu, mis toimivad RC auto käivitus- ja seiskamisnupuna. Tehniliselt on "stopp" nupp "valve" nupp, mis võrdub mootorile saadetud PWM väärtusega, mis põhjustab RC auto seiskumise. Start -nupp saadab PWM -väärtuse, mis võrdub vaevalt edasi liikuva RC -autoga, kuna see sõidab liiga kiiresti, kui see saab liiga palju hoogu.

RC auto esiotsa on lisatud kokkupõrke vältimise detektor, mis tuvastab, kas eesolev tee on vaba või blokeeritud. Kui see on blokeeritud, peatub RC auto, kuni takistus on kadunud/eemaldatud. Detektori analoogsignaali kasutatakse selleks, et teha kindlaks, kas miski takistab teed või mitte, ning see on kriteeriumiks, mis võimaldab edasi liikuda ja peatada.

Sekundaarset halli skaala andurit "Room Detector" kasutatakse tuvastamaks, millisesse ruumi RC auto on sisenenud. See töötab sarnasel põhimõttel nagu joonedetektor, kuid see ei otsi valguse ja pimeduse vahelist muutust, vaid pigem väärtusi teatud vahemikus, mis vastab erinevatele ruumidele sõltuvalt ruumidetektorist nähtavast väärtusest.

Lõpuks loob programm anduritelt WiFi -mooduli jaoks teabe rea, mida lugeda ja seejärel saata MQTT maaklerile. Teaberida luuakse stringina ja kirjutatakse vastavale jadale, mille WiFi -moodul on ühendatud. On oluline, et seeriale kirjutatakse ainult nii sageli, kui WiFi -moodul saab sissetulevat sõnumit lugeda, kuid pidage meeles, et ärge kasutage selles koodis viivitusi, kuna see häirib RC -auto võimet joont jälgida. Selle asemel kasutage "millis", kuna see võimaldab programmil viivitamatult töötada, kuid pärast Arduino sisselülitamisest möödunud teatud arvu millisekundeid, kirjutab seeriale sõnumi ilma koodi blokeerimiseta samamoodi nagu viivitus.

Arduino Mega 2560 kood:

6. samm: MySQL -i andmebaas

WampServer on Windowsi veebiarenduskeskkond, mis võimaldab meil luua rakendusi PHP ja MySQL andmebaasiga. PhpMyAdmin võimaldab meil oma andmebaase hõlpsalt hallata.

Alustamiseks minge aadressile:

Selles projektis kasutame Windowsi jaoks versiooni 3.17 x64 bitti. Pärast installimist veenduge, et kõik teenused töötavad, mis tähendab, et väike ikoon muutub punase või oranži asemel roheliseks. Kui ikoon on roheline, saate oma MySQL -andmebaasi haldamiseks juurdepääsu PhpMyAdminile.

Juurdepääs MySQL -ile PhpMyAdmini abil ja looge uus andmebaas. Nimetage see millekski sobivaks, mida mäletate, selles projektis nimetati seda “line_follow_log”. Pärast andmebaasi loomist peaksite andmebaasi looma tabeli. Veenduge, et veergude arv sobiks. Projektis kasutame 4 veergu. Üks veerg on ajatempli jaoks ja kolm viimast kasutatakse sõidukist andmete salvestamiseks. Kasutage iga veeru jaoks õiget andmetüüpi. Ajatempli veeru jaoks kasutasime “longtext” ja ülejäänud osas “mediumtext”.

See peaks olema kõik, mida peate tegema PhpMyAdminis ja MySQL -is. Pidage meeles oma andmebaasi ja sõlmepunast käsitleva jaotise tabelit.

7. samm: sõlme-punane

Andmete kogumise haldamiseks kasutame üsna lihtsat voogu sõlmpunases. See loob ühenduse meie MQTT serveriga ja kirjutab meie MYSQL andmebaasi.

Selleks vajame erinevate funktsioonide toimimiseks mõnda paletti ja selle käitamiseks vajame tegelikku koodi.

Esimesed asjad kõigepealt. Vajame järgmisi kaubaaluseid.

Node-red-contrib-mqtt-broker: See on ühendus meie MQTT maakleriga.

Sõlm-punane armatuurlaud: meie armatuurlaud, mis on vajalik kogutud andmete visuaalseks esitamiseks.

Node-red-node-mysql: Meie ühendus SQL-andmebaasiga.

See ei ole mõeldud täielikuks sõlmpunase juhendiks, kuid ma selgitan, mida sõlmpunane voog teeb.

Varem oli meil probleeme meie valitud MQTT serveri suremisega/lahtiühendamisega, näiliselt juhuslikult, mis muutis kõik muudatused masendavaks ettevõtmiseks, kuna oli ebaselge, kas muudatused olid kasulikud või mitte, kui me ei näinud tulemust. Nii et nupp "Kas server suri?" süstib "Ei", järgmine plokk süstib selle meie MQTT -serverisse. Kui see pole surnud, kuvatakse silumisaknas „Ei”. Seda ei tehta mitte ainult testimiseks, vaid ka selleks, et sundida punast sõlme proovima uuesti ühendust luua MQTT-serveriga.

"Test string" saadab kostüümi stringi MQTT maaklerile. Vormindasime selle stringi sarnaseks sellega, mida saaksime Arduinost. See pidi hõlbustama sõnumite dekodeerimise võrgu konfigureerimist, ilma et oleks vaja projekti käivitada ja andmeid koguda.

Viimase töövoo saab jagada kaheks segmendiks. Alumine haru lihtsalt loeb saabuvad sõnumid, postitab need silumisaknasse ja salvestab need SQL -serverisse.

Suur ühendatud lülitite võrk, mis järgneb funktsioonisõlmele, kui juhtub tõeline maagia.

Toimimisfunktsioon loeb sissetuleva stringi, jagades selle iga semikooloniga ja edastab jaotised igale väljundile. Järgmised lülitid otsivad ühte kahest erinevast sissetulevast teabest. Üks konkreetne teave edastatakse alati ühest väljundist, teine valik lahkub teise väljundi kaudu. Pärast seda on teine lülitusplokkide rühm. Need aktiveeruvad ainult ühe kindla sisendiga ja väljastavad midagi muud.

Näide, "takistus", nagu kõik teised, on binaarne valik, kas sõita on selge või mitte. Seega saab see 0 või 1. A 0 saadetakse "tühjale" harule, 1 saadetakse harule "Takistatud". Lülitid „Kustuta”, „Takistatud” annavad aktiveerimise korral vastavalt midagi konkreetset, Selge või takistatud. Rohelised menetlusplokid postitatakse silumisaknasse, sinine kirjutab meie armatuurlauale.

Harud „olek” ja „asukoht” toimivad täpselt samamoodi.

8. samm: MQTT maakler

Maakler on server, mis suunab sõnumid klientidelt sobivatele sihtklientidele. MQTT maakler on selline, kus kliendid kasutavad võrgu kaudu maakleriga ühenduse loomiseks MQTT raamatukogu.

Selle projekti jaoks lõime MQTT maakleri, kasutades CloudMQTT teenust koos tasuta tellimusega "Cute Cat" versioonile. Sellel on oma piirangud, kuid me ei ületa selle projekti piiranguid. WiFi -moodul saab maakleriga ühenduse luua ja maakler suunab sõnumid sobiva sihtkliendini. Sel juhul on klient meie sõlmpunane. CloudMQTT teenus seadistab nende serverile kasutajanime ja parooli, nii et meile on tagatud suurem turvalisus. Põhimõtteliselt tähendab see, et ainult need kasutajad, kellel on kasutajanimi ja parool, pääsevad sellele konkreetsele CloudMQTT -teenusele juurde. Kasutajanimi ja parool on määrava tähtsusega ühenduse seadistamisel nii ESP8266 koodile kui ka sõlme-punasele.

Maakleri poolt saadetavate sõnumite käimasolev statistika on meeldiv funktsioon, mille abil saab näha, kui hästi teie tellimisplaan teie edastatavat teavet käsitleb.

Tore funktsioon on võimalus saata vahendajalt sõnumeid WiFi moodulile, kuid me ei kasutanud neid selles projektis.

9. samm: hobi elektroonika

Enne algust teadsime varasemast projektist, et varuroolisüsteemi servot saab juhtida PWM -signaaliga Arduino'st, millel on sarnane juhtmestik ja mis ühendatakse sama kanali raadiovastuvõtja erinevate kanalitega, eeldasime elektroonilist kiiruse reguleerimist (ESC nüüd sisse lülitatud), mis juhib mootorit, saab sarnaselt juhtida Arduino PWM -i kaudu.

Selle teooria testimiseks kasutame väikest Arduino visandit. Visand loeb potentsiomeetrilt analoogsisendi, muudab väärtuse 0, 1024 väärtuseks 0, 255 ja väljastab saadud väärtuse PWM -tihvtile, kasutades analogWrite (), samal ajal kui R/C auto oli väikesel karbil ja sellel oli rattad eemaldatud.

Pärast potimõõdiku vahemiku pühkimist tundus, et ESC „ärkab” ja me võime seda üles -alla gaasi alla lasta, lasime Arduino ka väärtused jadaühendusele printida, et saaksime neid jälgida.

Tundus, et ESC -le ei meeldi väärtused, mis jäävad allapoole teatud piirmäära, antud juhul 128. See nägi signaali 191 neutraalasendina ja 255 oli maksimaalne gaas.

Me ei pidanud sõiduki kiirust muutma ja pidasime seda ideaalselt aeglaseima kiirusega, mis paneks selle liikuma. 192 oli madalaim väärtus, mis mootorit pööraks, kuid me peame veel kõik kokku panema ja pole kindel, kas sellest väljundist piisab sõiduki liigutamiseks pärast lõplikku kokkupanekut, kuid pisut suurema väärtuse sisestamine peaks olema tühine.

Potentsiomeetri ümbersõit ja fikseeritud väärtuse sisestamine koodi aga ei toiminud. Varu ESC lihtsalt vilkus ja ei pöörleks mootoriga, reguleerige gaasihoovastikku vastavalt kasutusjuhendile.

Raevukas tõrkeotsing, erinevate väärtuste viskamine, erinevate juhtmete kasutamine ja isegi Arduino kasutatavate PWM -sageduse muutmise katsetamine tõi kaasa rohkem veidrusi.

See tundus olevat katkendlik probleem, mõnikord see jooksis, teinekord keeldus midagi tegemast. See lihtsalt jätkas vilkumist. Algse kontrolleri ja vastuvõtjaga tehtud test kinnitas, et ESC töötas endiselt täpselt nii, nagu ette nähtud, mis muutis probleemid veelgi kummalisemaks. Kõrgemad väärtused ignoreerisid ja vilgutasid, madalamad väärtused muutusid ESC -l tagasi roheliseks, kuid ei pöördunud.

Mis erines potentsiomeetri, varusaatja ja vastuvõtja seadistusest ning fikseeritud väärtusi pakkuvast versioonist?

Mõnikord ei kattu ettenähtud viisil ja ootuspäraselt töötamine Venni diagrammiga kuigi palju. Sel juhul, kui tegemist on mänguasjaga, ei tohiks olla mingit võimalust, et mudel mudeli sisselülitamisel lihtsalt maha võtab või sõrmed maha lööb või juuksed ratastesse või ajamisse jäävad, isegi kui miski nagu saatja imelikul hoidmisel on gaasipedaal sees mis tahes muu positsioon peale neutraalse.

"Reguleerige gaasihoovastikku", see tähendab täpselt seda. ESC ootab sisselülitamisel neutraalset signaali, enne kui saab aru, et see ei tee midagi. Tavaliselt oleks saatja ESC sisselülitamisel alati neutraalasendis ja sealt edasi sõidaks. Kui see pole nii, on see tõenäoliselt vähemalt korra neutraalasendis, kui mudel on kindlalt maapinnal ja operaator tunneb end võistluseks valmis.

Potentsiomeetrit kasutades pühkisime me vahemikke ja siis hakkas see tööle. See lihtsalt relvastati, kui potentsiomeeter neutraalsest asendist mööda libises, ja siis see töötas.

Madalamad vahemikud tundusid siiski ESC -le paha meelt valmistavat. Selgub, et see on PWM -töötsüklite toode.

Kavandatud või tehnilistel põhjustel eirab nii rooliservo kui ka ESC signaale, mis on alla 50% töötsüklitest. See võib juhtuda juhul, kui vastuvõtja/saatja lakkab töötamast või tühjeneb, lülitub mudel tagasi neutraalasendisse ja ei tõuse kaugele tagasi täisgaasil. Samamoodi pöörleb servo ainult 180 kraadi ja ei vaja kogu ulatust.

Nende uute teadmiste olemasolul loodi uus Arduino visand. Esialgne versioon aktsepteerib jadamonitori sisestatud stringe, teisendab selle täisarvuks ja teisaldab selle PWM -tihvti, kasutades servoteeki ja kirjuta ()*. Kui jadamonitori sisestatakse uus väärtus, värskendatakse kirjutamise () väärtust.

Testimise ajal asendati Traxxas ESC varu Mtroniks G2 Microga, kuid need peaksid töötama samamoodi, kuigi täpsed väärtused võivad veidi erineda.

See raamatukogu käsitleb ESC -d servona, ilmselt on see korras. Funktsioon write () Servo.h raamatukogust läheb vahemikku 0 kuni 180, eeldatav valvesignaal on eeldatavasti umbes keskel.

G2 Micro asus kirjutama () väärtuste vahemikus 90 lähedal, kuid seda oli raske kindlaks teha, kuna tundub, et see „mäletab” relvastamist.

Eeldatakse, et Traxxas VXL-s3 on kirjutusväärtusega () 91.

Pärast valvesignaali võttis ESC rõõmsalt vastu PWM -signaale, olenemata nende genereerimiseks kutsutud Arduino funktsioonidest, ja juhib mootorit vastavalt.

Funktsioonidest rääkides; standardset analogWrite (), aga ka write () ja writeMicroseconds () Servo.h raamatukogust saab kasutada vaheldumisi, pidage meeles, mis mida teeb, ja lõppkokkuvõttes pole midagi muud kui töötsükkel. WriteMicroseconds () võib kasutada, kui on vaja suuremat detailsust, pidage meeles, et siin on vahemik 1000–2000, kusjuures valvestamine või neutraalne väärtus peaks olema 1500. Standardse analogWrite () kasutamisel eeldatakse, et kasutatav vahemik olla vahemikus 128 kuni 255, umbes 191 on neutraalne.

Soovitan: