Sadržaj:

UCL Embedded - B0B Linefollower: 9 koraka
UCL Embedded - B0B Linefollower: 9 koraka

Video: UCL Embedded - B0B Linefollower: 9 koraka

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

Ovo je B0B.*

B0B je generički automobil s radio upravljanjem, koji privremeno služi kao osnova robota koji prati liniju.

Kao i mnogi roboti koji prate liniju prije njega, on će dati sve od sebe da ostane na liniji uzrokovanoj prijelazom između poda i kontrastnog materijala, u našem slučaju ljepljive trake.

Za razliku od mnogih drugih robota koji prate liniju, B0B također prikuplja podatke i šalje ih putem WiFi-a.

Potpuno pretjerano za hobi projekat, ali uključuje brojne teme koje bi vam mogle biti zanimljive. Ovaj vodič opisuje njegovo rođenje, njegove funkcije i kako ga možete učiniti baš takvim.

To također uključuje ljutnju na različitu elektroniku koja ne radi onako kako smo htjeli, i korake koje smo poduzeli kako bismo prevladali te poteškoće (gledam vas ESP 8266-01).

Postoje 2 koda kako bi projekt funkcionirao. Prvi kôd je za modul ESP8266 koji koristimo Arduino kao programer, a drugi kôd će se izvoditi na Arduinu.

Korak 1: Komponente

Za ovaj projekat trebat će vam:

Hardver:

• 1x automobilski radio kontroler, (mora imati ESC i servo upravljač).

Koristili smo uglavnom dionički Traxxas 1/16 E-Revo VXL, uglavnom zato što smo to imali, i bili smo prilično uvjereni da ćemo to moći kontrolirati s Arduinom. Također zato što će na kraju imati zanemarivu količinu dodatnog hardvera, bili smo uvjereni da to neće biti problem za 1/16 E-Revo.

Međutim, većina automobila s radio -upravljanjem (koji se lako mogu rastaviti) vjerojatno bi se mogli koristiti umjesto njih, a proces će biti vrlo sličan.

• Tona ljepljive trake.

Boja bi trebala biti što je moguće kontrastnija s podom. U našem okruženju za testiranje koristili smo bijelu traku na tamnom podu.

• 1x Arduino Mega 2560.

Manji Arduino su također u redu, ali bit ćete pritisnuti za iglice.

• 1x velika daska za hleb.

Jedan je dovoljan, ali imali smo i manji za odvajanje drugih naponskih vodova kako bismo smanjili rizik od greške korisnika.

• 1x IC analogni senzor TCRT5000 (koristi se za izbjegavanje sudara).

Tačna marka/model nije bitan ako je kompatibilan s Arduinom i mjeri udaljenost. Potražite ključne riječi kao što su “Udaljenost”, “senzor prepreke”. Tehnički, digitalni senzor bi također radio s manjim promjenama koda, ali koristimo analogni.

• 1x ili 2x gravitacija: analogni senzor u sivim tonovima v2

Jedan je neophodan za sljedbenika linije. Tačan model nije bitan, sve dok gleda intenzitet reflektirane svjetlosti i emitira analogni signal. Drugi za otkrivanje "sobe" nije radio dobro kao što se očekivalo i može se izostaviti, ili se može pronaći alternativa, poput RGB senzora boje, vjerojatno za bolji učinak. Ovo tek trebamo testirati.

• 1 x ESP 8266-01.

Dostupno je mnogo verzija ESP 8266. Imamo samo iskustvo s 8266-01 i ne možemo jamčiti da će ESP kod raditi s drugom verzijom.

• 1 x ESP8266-01 Wi-Fi štit.

Tehnički neobavezno, ali ako ovo ne koristite, sve što uključuje Wi-Fi modul bit će puno komplicirano. Vodič će, međutim, pretpostaviti da imate ovo (ako nema, pronađite vodiče na mreži za ispravno ožičenje ESP-01 u Arduino), jer to neispravno može i vjerojatno će oštetiti modul.

• Baterije za samo vozilo i baterije za napajanje dodatne elektronike.

Paralelno smo napajali par baterija kapaciteta 2,2 AH, 7,4 V Lipo baterije za napajanje svega. Trebali biste moći koristiti sve baterije koje biste inače koristili sa svojim vozilom po izboru. Ako ste iznad 5V, ali ispod 20V, kapacitet je važniji od nominalnog napona.

• Mnogo kratkospojnih kabela.

Odustao sam od brojanja tačnog broja. Ako mislite da imate dovoljno, vjerovatno nemate.

• Konačno, da biste sve priključili, morat ćete montirati Arduino, senzore, matične ploče i Wi-Fi modul na vozilo po vašem izboru. Vaš će rezultat varirati ovisno o tome što koristite kao bazu i koji su materijali dostupni.

Koristili smo:

• Zip kravate.

• Neko super ljepilo.

• Male komade starog papira/smole cijevi smo imali odgovarajućeg promjera.

• Stara masonska zadnja ploča iz okvira za slike, izrezana po veličini.

• Još malo ljepljive trake.

• Svi alati potrebni za rad na vašem radio-upravljanom automobilu po izboru.

Uglavnom smo koristili mali set odvijača s više bitova, ali povremeno smo morali izvaditi set alata koji je došao s autom.

Softver:

• Node-red

Važan dio prikupljanja podataka.

• MQTT server.

Posrednik između našeg vozila i Node-red. U početku smo za testiranje koristili test.mosquitto.org

Kasnije smo koristili:

• CloudMQTT.com

Ovo je bilo mnogo pouzdanije što je više nego nadoknađeno jer je bilo malo kompliciranije postavljanje.

• WampServer.

Posljednji dio prikupljanja podataka. Konkretno, koristit ćemo njegovu SQL bazu podataka za pohranu prikupljenih podataka.

Korak 2: Električni dijagram

Električni dijagram
Električni dijagram

Korak 3: Fizička konstrukcija

Fizička konstrukcija
Fizička konstrukcija
Fizička konstrukcija
Fizička konstrukcija
Fizička konstrukcija
Fizička konstrukcija

Naše rješenje ima jednostavan pristup fizičkom sastavljanju.

Originalni prijemnik i njegovo vodootporno kućište uklonjeni su iz RC automobila, jer to nije potrebno.

Utvrdili smo da postoji jedna prikladna lokacija između prednjih kotača za naš senzor za praćenje linije, pa smo je zadržali na mjestu tako što smo zakopčali patentni zatvarač iznad prednje klizne ploče.

Senzor koji koristimo za sprječavanje sudara na neki je način zaglavljen iza prednjeg odbojnika. I dalje je zaštićen od udara, a trenje mu odgovara. Na kraju gleda prema naprijed pod tako blagim kutom prema gore. Ovo je savršeno.

Masonska ploča (zadnja ploča iz starog okvira za slike), na vrhu ima male dijelove cijevi od papira/smole izrezane po veličini i zalijepljene na dno. Oni se poravnavaju s nosačima za stupove karoserije i jednostavno sjede na vrhu, čvrsto držeći sve. Pod pretpostavkom da ljepilo koje pričvršćuje cijev na ploču drži i da se ne naginje pretjerano, ovo će ostati na mjestu. Također je vrijedno napomenuti da se ploča nalazi unutar zaštitne sfere kotača i odbojnika. Arduino Mega i dvije ploče su pričvršćene na ploču s dvostrukom bočnom trakom ili s petljom ljepljive trake okolo, zalijepljene.

Nisu poduzete nikakve posebne mjere za osiguranje WiFi-modula. Nije naš, pa se lijepljenje ili lijepljenje smatralo nepotrebnim jer je tako lagano da se neće puno kretati, a žice su dovoljne da ga drže na mjestu.

Konačno, imamo senzor za otkrivanje "soba" koji je jednim od stražnjih kotača zatvoren komponentama ovjesa. Tokom rada ovo mora biti udaljeno od linije koja označava vozilo za navigaciju.

Korak 4: Modul ESP8266

ESP8266 Modul
ESP8266 Modul
ESP8266 Modul
ESP8266 Modul

WiFi modul, ESP8266, zahtijeva dva različita podešavanja pina. Jedna postavka će se koristiti pri zamjeni modula s novim programom i upotrebi Arduino Mega 2560 kao programera. Druga postavka je za modul kada se koristi i šalje informacije MQTT brokeru.

Korištenjem Arduino IDE -a za otpremanje koda na modul ESP8266 morat ćete instalirati upravitelja ploče i dodatnog upravitelja ploča

Pod upraviteljem ploče instalirajte upravitelja ploče esp8266. Lako će se pronaći pretraživanjem "esp". Od ključne je važnosti da instalirate verziju 2.5.0, ne stariju, a ne noviju.

Pod postavkama u dodatnim URL -ovima upravitelja ploča, kopirajte u ovaj red:

arduino.esp8266.com/stable/package_esp8266c…

Da biste mogli učitati bilo što u modul ESP8266, morat ćete upotrijebiti određenu postavku pinova kako biste modul mogli bljeskati. To je potrebno učiniti svaki put kada želite promijeniti trenutni kôd koji se izvodi na modulu. Ne zaboravite da izaberete ispravan ESP8266 modul iz upravitelja ploče pre nego što počnete da menjate modul. U ovom projektu odabrali smo generičku ploču ESP8266. Podešavanje pinova za flešovanje modula nalazi se na prvoj slici u ovom segmentu.

Nakon što ste prebacili modul ESP8266, morate promijeniti postavku pinova. Također možete odabrati korištenje adaptera za lakše postavljanje. U ovom projektu smo odabrali da imamo adapter kad god smo modul radili. Podešavanje pinova sa adapterom nalazi se na drugoj slici u ovom segmentu.

Kôd koji treba umetnuti na ESP8266 modul postavlja vezu na WiFi i MQTT brokera, u ovom slučaju s korisničkim imenom i lozinkom, ali može se i bez toga, ako napravite potrebne promjene opisane u komentarima koda. Za ovaj projekt naš posrednik je zahtijevao korisničko ime i lozinku za rad. Modul čita dolazne poruke sa serijskog porta na koji je povezan. Pročitat će svaki novi redak kreiran pomoću Arduino koda, dešifrirati poruku i ponovno je stvoriti. Nakon toga šalje poruku posredniku MQTT koja je navedena u kodu. Kod za modul ESP8266:

Korak 5: Arduino

Nakon što smo konfigurirali WiFi modul, gledamo program koji će se koristiti za upravljanje motorom i servo na RC automobilu. Automobil će reagirati prema informacijama sive ljestvice sa centralnog senzora, u ovom projektu poznatom i kao "Line Detector". Očigledno, cilj mu je da informacije iz linijskog detektora drže blizu unaprijed postavljene vrijednosti koja je jednaka podacima snimljenim pri promjeni između svjetla i mraka ili u ovom projektu, bijele i crne. Dakle, ako se vrijednost previše razlikuje, odgovarajući izlaz na servo će usmjeriti automobil blizu unaprijed zadane vrijednosti linije.

Program ima dva tastera koji funkcionišu kao dugme za pokretanje i zaustavljanje za RC automobil. Tehnički, dugme "stop" je dugme "aktiviranje" koje je u smislu jednake vrijednosti PWM -a poslane motoru što uzrokuje zaustavljanje RC automobila. Dugme za pokretanje šalje vrijednost PWM -a koja je jednaka RC automobilu koji se jedva kreće prema naprijed jer će voziti prebrzo ako dobije preveliki zamah.

Detektor za izbjegavanje sudara dodaje se na prednji dio RC automobila kako bi otkrio je li put ispred slobodan ili blokiran. Ako je blokirano, auto na daljinsko upravljanje će se zaustaviti sve dok prepreka ne nestane/ukloni se. Analogni signal iz detektora koristi se za utvrđivanje da li nešto blokira put i postavlja se kao kriterij za mogućnost kretanja naprijed kao i zaustavljanja.

Sekundarni senzor skale sive boje, "Room Detector", koristi se za otkrivanje u koju je sobu ušao RC automobil. Radi na sličnom principu kao i linijski detektor, ali ne traži promjenu između svjetla i mraka, već vrijednosti unutar određenog raspona koji odgovaraju različitim prostorijama ovisno o vrijednosti koja se vidi iz detektora prostorije.

Na kraju, program stvara niz informacija sa senzora koje WiFi modul može pročitati i nakon toga poslati MQTT brokeru. Red informacija je kreiran kao niz i upisan u odgovarajuću serijsku seriju na koju je povezan WiFi modul. Važno je da se upisivanje u serijsku poruku događa samo onoliko često koliko WiFi modul može pročitati dolaznu poruku, ali ne zaboravite ne koristiti kašnjenja u ovom kodu jer će to ometati sposobnost RC automobila da prati liniju. Umjesto toga upotrijebite "millis" jer će omogućiti da se program pokrene bez odlaganja, ali nakon što je prošlo definirano stanje u milisu od uključivanja Arduina, napisat će poruku u serijsku poruku bez blokiranja koda na isti način kao kašnjenje.

Kod za Arduino Mega 2560:

Korak 6: MySQL baza podataka

WampServer je okruženje za web razvoj za Windows koje nam omogućava stvaranje aplikacija sa PHP -om i MySQL bazom podataka. PhpMyAdmin nam omogućava da na jednostavan način upravljamo našim bazama podataka.

Za početak idite na:

U ovom projektu koristimo verziju 3.17 x64 bita za Windows. Nakon instalacije provjerite jesu li sve usluge aktivne, što znači da mala ikona postaje zelena umjesto crvene ili narančaste. Ako je ikona zelena, tada možete pristupiti PhpMyAdmin -u za upravljanje vašom MySQL bazom podataka.

Pristupite MySQL -u pomoću PhpMyAdmina i stvorite novu bazu podataka. Nazovite ga nečim prikladnim čega se možete sjetiti, u ovom projektu to se zvalo “line_follow_log”. Nakon kreiranja baze podataka, trebali biste stvoriti tablicu u bazi podataka. Provjerite odgovara li broj stupaca. U projektu koristimo 4 kolone. Jedna kolona služi za vremensku oznaku, a posljednje tri se koriste za spremanje podataka iz vozila. Za svaki stupac koristite odgovarajući tip podataka. Za stupac vremenske oznake koristili smo „longtext“, a za ostalo „mediumtext“.

To bi trebalo biti sve što trebate učiniti u PhpMyAdmin -u i MySQL -u. Zapamtite svoju bazu podataka i tabelu za odjeljak o Node-Red.

Korak 7: Node-Red

Za rukovanje prikupljanjem podataka koristit ćemo prilično jednostavan tok u Node-crvenom. Povezuje se sa našim MQTT serverom i upisuje u našu MYSQL bazu podataka.

Da bismo to učinili, potrebno nam je nekoliko paleta za rad različitih funkcija i potreban nam je određeni kôd za izvođenje.

Krenimo redom. Trebat će nam sljedeće palete.

Node-red-contrib-mqtt-broker: Ovo je veza sa našim posrednikom za MQTT.

Čvor-crveno-nadzorna ploča: Naša nadzorna ploča, potrebna za vizualno predstavljanje prikupljenih podataka.

Node-red-node-mysql: Naša veza sa SQL bazom podataka.

Ovo nije zamišljeno kao punopravni vodič za Node-red, ali ću objasniti šta Node-red tok radi.

Rano smo imali problema s našim MQTT serverom po izboru koji je umirao/prekinuo vezu, naizgled nasumično, zbog čega je bilo kakva promjena učinila frustrirajućim poduhvatom jer nije bilo jasno jesu li promjene bile korisne ili ne, kada nismo mogli vidjeti rezultat. Dakle, gumb 'Je li server umro?' ubacuje 'Ne' sljedeći blok ubacuje ga u naš MQTT server. Ako nije mrtav, u prozoru za otklanjanje grešaka pojavit će se 'Ne'. Ovo se ne radi samo radi testiranja, već i radi prisiljavanja Node-red-a da se pokuša ponovo povezati na MQTT server.

'Test string' šalje kostum niz MKTT brokeru. Formatirali smo ovaj niz kako bi bio sličan onome što bismo dobili od Arduina. Ovo je imalo za cilj lakše konfiguriranje mreže koja dekodira poruke, bez potrebe za pokretanjem projekta, prikupljanjem podataka.

Posljednji tok u radnom prostoru može se podijeliti u dva segmenta. Donja grana jednostavno čita pristigle poruke, objavljuje ih u prozoru za otklanjanje grešaka i sprema ih na SQL server.

Velika mreža povezanih prekidača koja slijedi funkcionalni čvor ako se dogodi prava "čarolija".

Funkcija nastavlja čitanje dolaznog niza, dijeleći ga sa svakom tačkom i zarezom i prenosi odjeljke na svaki od izlaza. Sljedeći prekidači traže jednu od dvije različite dolazne informacije. Jedan određeni podatak uvijek se prenosi kroz jedan izlaz, druga opcija napušta drugi izlaz. Nakon toga slijedi druga grupa prekidačkih blokova. Aktivirat će se samo s jednim određenim ulazom, a izlaziti nešto drugo.

Na primjer, 'prepreka', kao i sve ostale su binarni izbor, ili je jasno da vozite, ili nije. Tako će primiti 0 ili 1. A 0 će biti poslano u granu 'clear', 1 će biti poslana u granu 'Obstructed'. Prekidači 'Obriši', 'Zaprečeno', ako su aktivirani, emitirat će nešto posebno, Obriši ili ometati. Zeleni blokovi u nastavku će se objaviti u prozoru za otklanjanje grešaka, plavi će pisati na našu nadzornu ploču.

Grane 'status' i 'location' rade potpuno isto.

Korak 8: MQTT posrednik

Broker je poslužitelj koji usmjerava poruke od klijenata do odgovarajućih odredišnih klijenata. MQTT posrednik je onaj u kojem klijenti koriste MQTT biblioteku za povezivanje s posrednikom preko mreže.

Za ovaj projekt stvorili smo MQTT brokera koristeći CloudMQTT uslugu s besplatnom pretplatom za verziju "Cute Cat". Ima svoje ograničenje, ali ne prelazimo ona u ovom projektu. WiFi modul može se povezati s posrednikom, a posrednik zatim usmjerava poruke do odgovarajućeg odredišnog klijenta. U ovom slučaju klijent je naš Node-Red. CloudMQTT usluga postavlja korisničko ime i lozinku za njihov poslužitelj, tako da nam je zajamčena veća sigurnost. U osnovi znači da samo oni s korisničkim imenom i lozinkom mogu pristupiti ovoj specifičnoj CloudMQTT usluzi. Korisničko ime i lozinka ključni su pri postavljanju veze na kodu ESP8266, kao i Node-Red.

Tekuća statistika poruka koje Broker prima ugodna je značajka koja se može koristiti za provjeru koliko dobro vaš plan pretplate obrađuje informacije koje usmjerava.

Lijepa značajka je mogućnost slanja poruka s brokera na WiFi modul, ali ih nismo koristili u ovom projektu.

Korak 9: Hobi elektronika

Prije početka znali smo iz prošlog projekta da se servo volanom za upravljanje može upravljati s Arduina sa PWM signalom, sa sličnim ožičenjem i uključivanjem u različite kanale na istom radijskom prijemniku, pretpostavili smo elektroničku kontrolu brzine (ESC iz sada), koji kontrolira motor, moglo bi se na sličan način kontrolirati putem PWM -a iz Arduina.

Kako bismo testirali ovu teoriju, napravili smo malu Arduino skicu. Skica čita analogni ulaz sa potenciometra, preslikava vrijednost od 0, 1024 do 0, 255 i dobivenu vrijednost šalje na PWM pin, koristeći analogWrite () dok je R/C automobil imao malu kutiju i imao uklonjeni točkovi.

Nakon što je prešao opseg na mjeraču lonaca, činilo se da se ESC "probudio" i mogli smo ga gasiti gore -dolje, imali smo i Arduino da ispiše vrijednosti na serijsku vezu kako bismo ih mogli nadzirati.

Činilo se da ESC -u ne odgovaraju vrijednosti ispod određenog praga, u ovom slučaju 128. Vidio je signal 191 kao neutralni gas, a 255 je bio maksimalni gas.

Nismo morali mijenjati brzinu vozila i savršeno smo ga vozili najsporijom brzinom koja bi ga natjerala da se kreće. 192 bila je najniža vrijednost koja bi okrenula motor, međutim tek trebamo sve sastaviti i nismo sigurni bi li ovaj izlaz bio dovoljan za pomicanje vozila nakon konačne montaže, međutim unošenje malo veće vrijednosti trebalo bi biti trivijalno.

Zaobilaženje potenciometra i unošenje fiksne vrijednosti u kôd, međutim, nije uspjelo. Berzanski ESC jednostavno je trepnuo i nije želio vrtjeti motor, 'podesite dovod gasa' prema priručniku.

Bijesno rješavanje problema, bacanje različitih vrijednosti na njega, korištenje različitih žica, pa čak i eksperimentiranje s promjenom frekvencije PWM -a koje koristi Arduino rezultiralo je većom čudnošću.

Činilo se da je to isprekidan problem, ponekad bi se pojavio, drugi put odbio da učini bilo šta. Jednostavno je nastavilo da trepće. Test s originalnim kontrolerom i prijemnikom potvrdio je da ESC i dalje radi točno onako kako je predviđeno, što je probleme učinilo još čudnijima. Više vrednosti, ignorisao je i nastavio da treperi, niže vrednosti ESC je vratio u sjajnu zelenu boju, ali se ipak nije okrenuo.

Što se razlikovalo od postavki s potenciometrom, ili odašiljača i prijemnika, te verzije koja je davala fiksne vrijednosti?

Ponekad se rad prema namjeni i rad prema očekivanjima zapravo ne preklapaju mnogo s Vennovim dijagramom. U ovom slučaju, budući da je igračka, ne bi trebalo postojati šansa da model jednostavno skine ili slomi prste ili uhvati kosu u kotače ili pogon dok se model uključuje, čak i ako nešto poput čudnog držanja odašiljača ima gas u uključenom položaju bilo koji drugi položaj osim neutralnog.

'Podesite oblogu leptira za gas', to upravo to znači. ESC očekuje neutralni signal kada se uključi, prije nego što shvati da neće ništa učiniti. Normalno, odašiljač bi uvijek bio u neutralnom položaju kada je ESC uključen i odatle bi rado vozio. U slučaju da nije, vjerojatno se vratio u neutralni položaj barem jednom do trenutka kada model čvrsto stoji na zemlji i operater se osjeća spremnim za utrku.

Dok smo koristili potenciometar, "provlačili" smo se kroz raspone, a onda bi počeo raditi. Jednostavno se naoružao dok je potenciometar prolazio pored neutralnog položaja, a onda je proradio.

Niži rasponi, međutim, činilo se da i dalje smetaju ESC -u. Ispostavilo se da je to proizvod radnih ciklusa PWM -a.

Bilo projektno ili iz tehničkih razloga, i servo upravljač i ESC zanemaruju signale ispod 50% radnog ciklusa. To bi moglo biti u slučaju da prijemnik/predajnik prestane raditi ili ostane bez energije, model bi se vratio u neutralni položaj, a ne bi poletio u daljinu pri punom gasu za vožnju unatrag. Jednako tako, servo se okreće samo za 180 stupnjeva i ne treba mu cijeli raspon.

S ovim novim znanjem u rukama, stvorena je nova Arduino skica. Početna verzija prihvaća nizove unete u serijski monitor, pretvara ih u cijeli broj i pomiče na PWM pin, koristeći servo biblioteku i write ()*. Ako se nova vrijednost unese u serijski monitor, vrijednost write () se ažurira.

Tijekom testiranja, dionički Traxxas ESC zamijenjen je Mtroniks G2 Micro, međutim trebali bi raditi isto, iako se točne vrijednosti mogu malo razlikovati.

Ova biblioteka tretira ESC kao servo, ovo je očigledno u redu. Funkcija write () iz biblioteke Servo.h ide od 0 do 180, očekuje se da će signal uključenja biti oko sredine.

G2 Micro naoružanja pri write () u rasponu vrijednosti blizu 90 međutim bilo je teško odrediti jer se čini da se 'sjećaju' da su bili naoružani.

Očekuje se da će Traxxas VXL-s3 naoružati vrijednost write () od 91.

Nakon signala aktiviranja, bilo koji ESC je sa zadovoljstvom prihvatio PWM signale, bez obzira na to da li su funkcije Arduino pozvane da ih generiraju, te u skladu s tim upravlja motorom.

Govoreći o funkcijama; standardni analogWrite (), kao i write () i writeMicroseconds () iz biblioteke Servo.h mogu se koristiti naizmjenično, samo imajte na umu šta radi šta, i na kraju ništa osim radnog ciklusa nije važno. WriteMicroseconds () se može koristiti ako je potrebna veća granularnost, samo imajte na umu da je raspon ovdje od 1000 do 2000, pri čemu se aktiviranje ili 'neutralno' očekuje na 1500. Sa standardnim analogWrite () očekuje se da će upotrebljivi raspon biti biti od 128 do 255, a oko 191 je neutralno.

Preporučuje se: