INHOUDSOPGAWE:

UCL Embedded - B0B the Linefollower: 9 stappe
UCL Embedded - B0B the Linefollower: 9 stappe

Video: UCL Embedded - B0B the Linefollower: 9 stappe

Video: UCL Embedded - B0B the Linefollower: 9 stappe
Video: Human vs Robot | Artificial Intelligence 2024, Julie
Anonim
UCL Embedded - B0B die lynvolger
UCL Embedded - B0B die lynvolger

Dit is B0B.*

B0B is 'n generiese radiobeheerde motor wat tydelik die basis van 'n lynvolgende robot dien.

Soos soveel ander Line-volgende robotte voor hom, sal hy sy bes doen om op 'n lyn te bly wat veroorsaak word deur 'n oorgang tussen die vloer en 'n kontrasterende materiaal, in ons geval kleefband.

Anders as soveel ander Line-volgende robotte, versamel B0B ook data en stuur dit via WiFi.

Dit is heeltemal te veel vir 'n stokperdjieprojek, maar dit behels 'n aantal onderwerpe wat u dalk interessant vind. Hierdie gids beskryf sy geboorte, sy funksies en hoe u een net soos hy kan maak.

Dit behels ook dat u kwaad is vir verskillende elektronika omdat u nie werk soos ons wou nie, en die stappe wat ons gedoen het om die probleme te oorkom (ek kyk na u ESP 8266-01).

Daar is 2 kodes om die projek te laat werk. Die eerste kode is vir die ESP8266 -module wat ons die Arduino as programmeerder gebruik, en die tweede kode gaan op die Arduino werk.

Stap 1: Komponente

Vir hierdie projek benodig u:

Hardeware:

• 1x radiobeheermotor, (moet ESC en stuur servo hê).

Ons gebruik 'n meestal Traxxas 1/16 E-Revo VXL, meestal omdat dit was wat ons gehad het, en was vol vertroue dat ons dit met 'n Arduino sou kon beheer. Omdat dit ook 'n onbeduidende hoeveelheid ekstra hardeware bevat, was ons vol vertroue dat dit nie 'n probleem sou wees vir die 1/16 E-Revo nie.

Die meeste radiobeheerde motors (wat maklik uitmekaar gehaal kan word) kan egter waarskynlik eerder gebruik word, en die proses sal baie soortgelyk wees.

• 'n Ton kleeflint.

Die kleur moet die vloer soveel as moontlik kontrasteer. In ons toetsomgewing het ons wit plakband op 'n donker vloer gebruik.

• 1x Arduino Mega 2560.

Kleiner Arduino's is waarskynlik ook goed, maar daar sal vir jou penne ingedruk word.

• 1x groot broodbord.

Die een is genoeg, maar ons het ook 'n kleiner een om die ander spanningslyne te skei om die risiko van gebruikersfoute te verminder.

• 1x TCRT5000 IR analoog sensor (gebruik om botsings te vermy).

Die presiese merk/model maak nie saak of dit Arduino -versoenbaar is en afstand meet nie. Soek sleutelwoorde soos 'Afstand', 'hindernis' sensor. Tegnies werk 'n digitale sensor ook goed met geringe kodeveranderings, maar ons gebruik 'n analoog.

• 1x of 2x swaartekrag: analoog grysskaalsensor v2

Die een is 'n noodsaaklikheid vir die lynvolger. Die presiese model maak nie saak nie, solank dit kyk na die intensiteit van weerkaatste lig en 'n analoog sein lewer. Die tweede vir 'kamer' -opsporing werk nie so goed soos verwag nie en kan weggelaat word, of 'n alternatief, soos 'n RGB -kleursensor, vermoedelik vir 'n beter effek. Ons moet dit nog toets.

• 1 x ESP 8266-01.

Daar is baie weergawes van die ESP 8266 beskikbaar. Ons het slegs ervaring met die 8266-01, en kan nie waarborg dat die ESP-kode met 'n ander weergawe sal werk nie.

• 1 x ESP8266-01 Wi-Fi-skild.

Tegnies opsioneel, maar as u dit nie gebruik nie, word alles wat die Wi-Fi-module betref, baie ingewikkelder. Die gids neem egter aan dat u dit het (indien nie, vind die gidse aanlyn om die ESP-01 korrek in die Arduino aan te sluit), aangesien dit verkeerdelik die module kan beskadig.

• Batterye vir die voertuig self en batterye vir die byvoeging van elektronika.

Ons het 'n paar 2,2 AH -kapasiteit, 7,4V Lipo -batterye parallel gebruik om alles aan te dryf. U moet die batterye wat u normaalweg saam met u voertuig gebruik, kan gebruik. As u bo 5V maar onder 20V is, is kapasiteit belangriker as nominale spanning.

• Baie springkabels.

Ek het opgehou om die presiese aantal hiervan te tel. As u dink dat u genoeg het, het u dit waarskynlik nie.

• Ten slotte, om alles aan te heg, moet u die Arduino, die sensors, die broodplank (e) en die Wi-Fi-module op die voertuig van u keuse monteer. U resultaat sal afhang van wat u as basis gebruik en watter materiaal beskikbaar is.

Ons het gebruik:

• Ritsbande.

• 'n Paar supergom.

• Klein stukkies afvalpapier/harsbuis wat ons gehad het met 'n geskikte deursnee.

• 'n Ou Masonite -agterplaat van 'n prentraam, in grootte gesny.

• 'n Bietjie meer kleeflint.

• Enige gereedskap wat nodig is om op u radio-beheerde motor te werk.

Ons gebruik meestal 'n klein skroewedraaierstel met veelvoudige stukkies, maar moes soms die voorraad gereedskapstel wat by die motor was, uittrek.

Sagteware:

• Node-rooi

'N Belangrike deel van die insameling van data.

• 'n MQTT -bediener.

Die middelman tussen ons voertuig en Node-rooi. Aanvanklik het ons test.mosquitto.org vir toetsing gebruik

Later gebruik ons:

• CloudMQTT.com

Dit was baie betroubaarder, wat meer as ingewikkeld was vir die opstel.

• WampServer.

Die laaste deel van die data -insameling. Ons gebruik spesifiek die SQL -databasis daarvan om ons versamelde data te stoor.

Stap 2: Elektriese diagram

Elektriese diagram
Elektriese diagram

Stap 3: Fisiese konstruksie

Fisiese konstruksie
Fisiese konstruksie
Fisiese konstruksie
Fisiese konstruksie
Fisiese konstruksie
Fisiese konstruksie

Ons oplossing het 'n eenvoudige benadering tot fisiese samestelling.

Die oorspronklike ontvanger en sy waterdigte omhulsel is uit die RC -motor verwyder, aangesien dit nie nodig is nie.

Ons het gevind dat daar 'n geskikte plek tussen die voorwiele was vir ons lynvolgsensor, en ons het dit vasgehou deur 'n rits bo -op die voorste glyplaat te sit.

Die sensor wat ons gebruik vir die botsing, word agter die voorste buffer ingeklem. Dit word steeds beskerm teen impak, en die wrywing daarvan pas. Uiteindelik kyk u vorentoe met 'n effense effense opwaartse hoek. Hierdie is perfek.

Die Masonite -plaat, (agterplaat van ou prentraamwerk), bo -op, het klein stukke papier-/harspyp op maat gesny en op die bodem vasgeplak. Dit pas by die houers vir die liggaamspale en sit eenvoudig bo -op en hou alles veilig. As die gom wat die pyp op die plaat vasgemaak word, hou en dat dit nie te veel kantel nie, bly dit op sy plek. Dit is ook opmerklik dat die plaat binne die beskermende sfeer van die wiele en die buffers is. Die Arduino Mega en die twee broodborde is met dubbelband vasgemaak, of met 'n lus van kleeflint om die plak, en plak vas.

Geen spesiale maatreëls is getref om die WiFi-module te beveilig nie. Dit is nie ons s'n nie, so dit is onnodig om dit vas te plak of vas te plak omdat dit so lig is dat dit nie veel kan beweeg nie, en die drade is genoeg om dit vas te hou.

Uiteindelik het ons 'n sensor vir die opsporing van 'kamers' wat deur een van die agterwiele aan die veringskomponente vasgemaak is. Tydens die operasie moet dit weg wees van die lyn wat die voertuig gebruik om te navigeer.

Stap 4: ESP8266 -module

ESP8266 -module
ESP8266 -module
ESP8266 -module
ESP8266 -module

Die WiFi -module, ESP8266, benodig twee verskillende penopstellings. Een opstelling moet gebruik word wanneer die module met 'n nuwe program flits en die Arduino Mega 2560 as programmeerder gebruik word. Die ander opstelling is vir die module wanneer dit gebruik word en stuur inligting aan die MQTT -makelaar.

As u Arduino IDE gebruik om kode na die ESP8266 -module op te laai, moet u 'n bordbestuurder en 'n ekstra bestuurder bestuur

Onder bestuurder bestuur installeer die esp8266 raad bestuurder. Dit sal maklik gevind word deur 'esp' te soek. Dit is van kardinale belang dat u die weergawe 2.5.0 installeer, nie ouer nie, nie nuwer nie.

Kopieer in hierdie reël onder die instellings in addisionele URL's vir bestuurderbestuurders:

arduino.esp8266.com/stable/package_esp8266c…

Om enigiets na die ESP8266 -module te kan oplaai, moet u 'n spesifieke pin -opstelling gebruik sodat u die module kan flits. Dit moet gedoen word elke keer as u die huidige kode wat op die module loop, wil verander. Moenie vergeet om die korrekte ESP8266 -module van die bordbestuurder te kies voordat u die module flits nie. In hierdie projek het ons die generiese ESP8266 -bord gekies. Die penopstelling vir die flits van die module word op die eerste prent in hierdie segment gevind.

Nadat u die ESP8266 -module geflits het, moet u die pin -opstelling verander. U kan ook kies om 'n adapter te gebruik om die opstelling vir u makliker te maak. In hierdie projek het ons gekies om 'n adapter te hê wanneer ons die module laat loop. Die penopstelling met adapter word op die tweede prent in hierdie segment aangetref.

Die kode wat op die ESP8266 -module geflits moet word, stel die verbinding met 'n WiFi en 'n MQTT -makelaar op, in hierdie geval met 'n gebruikersnaam en wagwoord, maar dit kan gedoen word sonder dat u die nodige veranderings aanbring wat in die kode se opmerkings beskryf word. Vir hierdie projek het ons makelaar 'n gebruikersnaam en wagwoord nodig om te werk. Die module lees inkomende boodskappe vanaf die seriële poort waarmee dit gekoppel is. Dit sal elke nuwe reël lees wat deur die Arduino -kode geskep is, die boodskap ontsyfer en die boodskap herskep. Daarna stuur dit die boodskap na die MQTT -makelaar wat in die kode gespesifiseer is. Die kode vir die ESP8266 -module:

Stap 5: Arduino

Nadat ons die WiFi -module gekonfigureer het, kyk ons na die program wat gebruik sal word om die motor en servo op die RC -motor te beheer. Die motor gaan reageer volgens 'n grysskaal -inligting van die sentrale sensor, ook bekend as die "Line Detector" in hierdie projek. Dit is duidelik daarop gemik om die inligting van die lyndetektor naby 'n voorafbepaalde waarde te hou wat gelyk is aan die inligting wat aangeteken is by die verandering tussen lig en donker of in hierdie projek, wit en swart. As die waarde dus te veel verskil, stuur die ooreenstemmende uitset na die servo die motor naby die vooraf ingestelde waarde van die lyn.

Die program het twee knoppies wat as 'n begin- en stopknoppie vir die RC -motor funksioneer. Tegnies is die "stop" -knoppie 'n "inskakel" -knoppie wat in terme gelyk is aan 'n PWM -waarde wat na die motor gestuur word, wat veroorsaak dat die RC -motor stop. Die startknoppie stuur 'n PWM -waarde wat gelyk is aan die RC -motor wat skaars vorentoe beweeg, aangesien dit te vinnig sal ry as dit te veel momentum kry.

'N Botsingsvoorkomingsdetektor word by die voorkant van die RC-motor gevoeg om vas te stel of die pad vorentoe duidelik is of nie. As dit geblokkeer is, stop die RC -motor totdat die hindernis weg is/verwyder word. Die analoog sein van die detektor word gebruik om te bepaal of iets die weg blokkeer of nie, en word 'n maatstaf gestel om vooruit te gaan, sowel as om te stop.

'N Sekondêre grysskaalsensor, "Kamerdetektor", word gebruik om op te spoor watter kamer die RC -motor ingekom het. Dit werk op 'n soortgelyke beginsel as die lyndetektor, maar dit soek nie die verandering tussen lig en donker nie, maar eerder na waardes binne 'n spesifieke omvang wat ooreenstem met verskillende kamers, afhangende van die waarde wat uit die kamerdetektor gesien word.

Laastens skep die program 'n reeks inligting van die sensors vir die WiFi -module om te lees en daarna na die MQTT -makelaar te stuur. Die inligtingsreël word as 'n string gemaak en geskryf na die ooreenstemmende reeks waarvan die WiFi -module gekoppel is. Dit is belangrik dat die skryf van die reeks slegs so gereeld gebeur as wat die WiFi -module die inkomende boodskap kan lees, maar onthou dat u nie hierdie kode vertraag nie, aangesien dit die motor se vermoë om die lyn te volg, sal belemmer. Gebruik eerder 'millis', aangesien dit die program toelaat om onmiddellik te werk, maar nadat 'n bepaalde hoeveelheid millis verby is sedert die Arduino aangeskakel is, 'n boodskap aan die reeks skryf sonder om die kode op dieselfde manier te blokkeer.

Die kode vir die Arduino Mega 2560:

Stap 6: MySQL -databasis

WampServer is 'n webontwikkelingsomgewing vir Windows waarmee ons programme met PHP en 'n MySQL -databasis kan skep. Met PhpMyAdmin kan ons ons databasisse op 'n maklike manier bestuur.

Om te begin, gaan na:

In hierdie projek gebruik ons weergawe 3.17 x64 bisse vir Windows. Na die installasie, maak seker dat al die dienste werk, wat beteken dat die klein ikoon groen word in plaas van rooi of oranje. As die ikoon groen is, het u toegang tot PhpMyAdmin om u MySQL -databasis te bestuur.

Maak toegang tot MySQL met behulp van PhpMyAdmin en skep 'n nuwe databasis. Noem dit iets gepas wat u kan onthou; in hierdie projek is dit 'line_follow_log' genoem. Nadat u die databasis gemaak het, moet u 'n tabel in die databasis skep. Maak seker dat die aantal kolomme pas. In die projek gebruik ons 4 kolomme. Een kolom is vir 'n tydstempel en die laaste drie word gebruik om data uit die voertuig te stoor. Gebruik die regte datatipe vir elke kolom. Ons gebruik 'langteks' vir die tydstempelkolom en 'mediumteks' vir die res.

Dit moet al wees wat u hoef te doen in PhpMyAdmin en MySQL. Onthou u databasis en die tabel vir die afdeling oor Node-Red.

Stap 7: Node-rooi

Om data-insameling te hanteer, gebruik ons 'n redelik eenvoudige vloei in Node-rooi. Dit maak verbinding met ons MQTT -bediener en skryf na ons MYSQL -databasis.

Om dit te kan doen, benodig ons 'n paar palette vir verskillende funksies, en ons benodig 'n werklike kode om dit te laat werk.

Eerste dinge eerste. Ons benodig die volgende palette.

Node-red-contrib-mqtt-broker: Dit is die verbinding met ons MQTT-makelaar.

Node-rooi-dashboard: Ons dashboard, wat nodig is om die versamelde data visueel voor te stel.

Node-red-node-mysql: Ons verbinding met die SQL-databasis.

Dit is nie bedoel om 'n volwaardige gids vir Node-rooi te wees nie, maar ek sal verduidelik wat die Node-rooi vloei doen.

Vroeg het ons probleme ondervind met ons MQTT -bediener van keuse wat sterf/ontkoppel, skynbaar willekeurig, wat veranderinge tot 'n frustrerende poging gemaak het, aangesien dit onduidelik was of die veranderinge voordelig was of nie, as ons nie die resultaat kon sien nie. Die knoppie 'Het die bediener gesterf?' spuit 'Nee', die volgende blok spuit dit in op ons MQTT -bediener. As dit nie dood is nie, verskyn 'Nee' in die Debug -venster. Dit word nie net gedoen om te toets nie, maar om Node-red te dwing om weer 'n verbinding met die MQTT-bediener te probeer kry.

Die 'toetsstring' stuur 'n kostuumstring na die MQTT -makelaar. Ons het hierdie string geformateer om soortgelyk te wees aan wat ons van die Arduino sou kry. Dit was makliker om die netwerk op te stel wat die boodskappe dekodeer, sonder om die projek aan die gang te kry, om data te versamel.

Die laaste vloei in die werkruimte kan in twee segmente verdeel word. Die onderste tak lees eenvoudig die inkomende boodskappe, plaas dit in die ontfoutingsvenster en stoor dit op die SQL -bediener.

Die groot netwerk van gekoppelde skakelaars volg 'n funksie -knoop as die werklike 'magie' gebeur.

Die voortgaande funksie lees die inkomende string, verdeel dit met elke semi-dubbelpunt en gee die gedeeltes uit op elk van die uitsette. Die volgende skakelaars soek na een van twee verskillende inkomende stukke inligting. Een spesifieke inligting word altyd uit die een uitset deurgegee, die ander opsie laat die tweede uitset. Hierna volg 'n tweede groep skakelaarblokke. Hulle sal slegs met een spesifieke invoer geaktiveer word en iets anders uitvoer.

'N Voorbeeld,' hindernis ', is net soos al die ander 'n binêre keuse, of dit is duidelik om te bestuur, of dit is nie. Dit sal dus 'n 0, of 'n 1. 'n 0 ontvang. 'N 0 sal na die' duidelike 'tak gestuur word, 'n 1 sal na die' Belemmerde 'tak gestuur word. Die skakelaars 'Clear', 'Obstructed' sal, indien geaktiveer, iets spesifiek, onderskeidelik duidelik of belemmer, lewer. Die groen blokke word in die ontfoutingsvenster geplaas, die blou skryf na ons paneelbord.

Die takke 'status' en 'ligging' werk presies dieselfde.

Stap 8: MQTT -makelaar

'N Makelaar is 'n bediener wat boodskappe van kliënte na die geskikte bestemmingskliënte stuur. 'N MQTT -makelaar is een waar die kliënte 'n MQTT -biblioteek gebruik om via 'n netwerk met die makelaar te skakel.

Vir hierdie projek het ons 'n MQTT -makelaar geskep met behulp van die CloudMQTT -diens met die gratis inskrywing vir 'n 'Cute Cat' weergawe. Dit het sy beperking, maar ons oorskry nie dié van hierdie projek nie. Die WiFi -module kan met die makelaar verbind word, en die makelaar stuur dan die boodskappe na 'n geskikte bestemmingskliënt. In hierdie geval is die kliënt ons Node-Red. CloudMQTT -diens stel 'n gebruikersnaam en wagwoord vir hul bediener op, sodat ons 'n hoër sekuriteit verseker. Beteken basies dat slegs diegene met die gebruikersnaam en wagwoord toegang tot hierdie spesifieke CloudMQTT -diens kan kry. Die gebruikersnaam en wagwoord is van kardinale belang by die opstel van die verbinding op die ESP8266-kode sowel as Node-Red.

Die deurlopende statistiek vir die boodskappe wat die makelaar ontvang, is 'n aangename funksie wat gebruik kan word om te sien hoe goed u intekeningsplan die inligting wat dit stuur, hanteer.

'N Goeie kenmerk is die moontlikheid om boodskappe van die makelaar na die WiFi -module te stuur, maar ons het dit nie in hierdie projek gebruik nie.

Stap 9: Stokperdjie -elektronika

Voordat ons begin het, het ons uit 'n vorige projek geweet dat die servostuur -servo vanaf 'n Arduino beheer kan word met 'n PWM -sein, met soortgelyke bedrading en om aan te sluit op verskillende kanale op dieselfde voorraadradioontvanger, het ons die elektroniese snelheidsbeheer aanvaar (ESC van nou), wat die motor beheer, kan ook via PWM vanaf die Arduino beheer word.

Om hierdie teorie te toets, gebruik ons 'n klein Arduino -skets. Die skets lees 'n analoog inset van 'n potensiometer, herwaardeer die waarde van 0, 1024 tot 0, 255 en gee die gevolglike waarde na 'n PWM -pen, met analogWrite () terwyl die R/C -motor op 'n klein boksie was en die wiele verwyder.

Nadat ons deur die reeks op die potmeter gesoek het, het dit gelyk asof die ESC 'wakker word' en ons dit op en af kon versmoor; ons het ook die Arduino laat druk om die waardes na die seriële verbinding te druk, sodat ons dit kon monitor.

Dit lyk asof die ESC nie van waardes onder 'n sekere drempel hou nie, in hierdie geval 128. Hy het die sein 191 as 'n neutrale versneller beskou en 255 was 'n maksimum gas.

Ons hoef nie die spoed van die voertuig te verander nie, en ons het dit perfek laat ruk teen die stadigste snelheid wat dit sou laat beweeg. 192 was die laagste waarde wat die motor sou laat draai, maar ons moet nog alles bymekaarmaak en onseker is of hierdie uitset genoeg sou wees om die voertuig te beweeg na die finale montering, maar die invoer van 'n effens groter waarde moet triviaal wees.

Om die potensiometer te omseil en vaste waarde in die kode in te voer, het egter nie gewerk nie. Die voorraad ESC het eenvoudig geknip en sou nie die motor draai nie, 'pas die versnelling aan' volgens die handleiding.

Woedende probleemoplossing, verskillende waardes daaraan gooi, verskillende drade gebruik en selfs eksperimenteer met die verandering van die PWM -frekwensie wat die Arduino gebruik, het alles tot meer vreemdheid gelei.

Dit blyk 'n onderbroke probleem te wees, soms loop dit, ander kere weier dit om iets te doen. Dit het eenvoudig aanhou flikker. 'N Toets met die oorspronklike beheerder en ontvanger het bevestig dat die ESC nog steeds presies werk soos bedoel, wat die probleme nog vreemder gemaak het. Hoër waardes, dit het geïgnoreer en aanhou flikker, laer waardes het die ESC teruggekeer na 'n gelukkige groen, maar het steeds nie gedraai nie.

Wat was anders as die opstelling met die potensiometer, of die voorraad sender en ontvanger, en die weergawe wat vaste waardes verskaf het?

Soms oorvleuel werk volgens die bedoeling en werk soos verwag nie veel op die Venn -diagram nie. In hierdie geval, as 'n speelding, is daar geen kans dat die model eenvoudig kan afneem of vingers breek of hare in die wiele kan vasval of die trein kan ry terwyl die model aanskakel nie, selfs al het iets soos om die sender vreemd te hou die gashendel in enige ander posisie as neutraal.

'Pas die gasklep aan', dit is presies wat dit beteken. Die ESC verwag 'n neutrale sein wanneer dit aanskakel, voordat hy besef dat dit niks sal doen nie. Normaalweg sal die sender altyd in neutrale toestand wees as die ESC aangeskakel is en van daar af gelukkig ry. As dit nie die geval is nie, is dit waarskynlik ten minste een keer terug op neutraal teen die tyd dat die model stewig op die grond is en die bestuurder voel gereed om te jaag.

Terwyl ons die potensiometer gebruik, het ons deur die reekse 'gevee', en dan sou dit begin werk. Dit het eenvoudig gewapen toe die potensiometer verby die neutrale posisie beweeg, en toe werk dit.

Laer reekse het die ESC egter steeds ontevrede gevind. Dit blyk dat dit 'n produk is van die PWM -dienssiklusse.

Sowel deur die ontwerp as om 'n tegniese rede, ignoreer beide die stuur servo en die ESC seine onder 50% dienssiklusse. Dit kan gebeur as die ontvanger/sender nie meer werk nie, of as die krag opraak, sou die model na neutraal terugkeer en nie in die verte op die volle omgekeerde versnelling vertrek nie. Net so draai die servo slegs 180 grade en benodig dit nie die hele reeks nie.

Met hierdie nuwe kennis in die hand, is 'n nuwe Arduino -skets geskep. Die aanvanklike weergawe aanvaar snare wat in die seriële monitor ingevoer is, skakel dit om na 'n heelgetal en skuif dit na die PWM -pen, met behulp van die servobiblioteek en skryf ()*. As 'n nuwe waarde in die seriële monitor ingevoer word, word die skryf () waarde opgedateer.

Tydens die toetsing is die voorraad Traxxas ESC vervang met 'n Mtroniks G2 Micro, maar dit moet dieselfde werk, hoewel die presiese waardes effens kan verskil.

Hierdie biblioteek behandel die ESC as 'n servo, dit is blykbaar goed. Die skryf () -funksie van die Servo.h -biblioteek strek van 0 tot 180, die verwagte aanskakelsein sal na verwagting ongeveer in die middel wees.

Die G2 Micro wapen op 'n skryf () in 'n reeks waardes naby 90, maar dit was moeilik om vas te stel, aangesien dit blykbaar 'onthou' dat dit gewapen was.

Die Traxxas VXL-s3 sal na verwagting 'n skryfwaarde van 91 hê.

Na die aanskakelsein, het óf ESC PWM -seine gelukkig aanvaar, ongeag die Arduino -funksies wat hulle benodig om dit op te wek, en beheer die motor dienooreenkomstig.

Gepraat van funksies; die standaard analogWrite (), sowel as write () en writeMicroseconds () uit die Servo.h -biblioteek kan almal uitruilbaar gebruik word; hou net in gedagte wat doen, en uiteindelik niks anders as pligsiklus nie. WriteMicroseconds () kan gebruik word as 'n groter korrelasie benodig word. Hou in gedagte dat die omvang hier van 1000 tot 2000 is, met 'n inskakeling of 'neutraal' na 1500. Met die standaard analogWrite () word verwag dat die bruikbare reeks tot van 128 tot 255 wees, met ongeveer 191 neutraal.

Aanbeveel: