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, Srpanj
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 drugi 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 projekt, 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 za rad projekta. 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 projekt trebat će vam:

Hardver:

• 1x automobilski radio upravljač, (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 radijski upravljanih automobila (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 vjerojatno su također u redu, ali bit ćete pritisnuti za iglice.

• 1x velika ploča za kruh.

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

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

Toč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 također bi radio s manjim promjenama koda, ali koristimo analogni.

• 1x ili 2x gravitacija: analogni senzor sive nijanse v2

Jedan je nužan za sljedbenika linije. Točan model nije bitan, sve dok gleda intenzitet reflektiranog svjetla 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 -a 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. Mogli biste koristiti sve baterije koje biste inače koristili sa svojim vozilom. Ako ste iznad 5V, ali ispod 20V, kapacitet je važniji od nominalnog napona.

• Mnogo kratkospojnih kabela.

Odustao sam od brojanja točnog broja. Ako mislite da imate dovoljno, vjerojatno nemate.

• Konačno, da biste sve priključili, morat ćete montirati Arduino, senzore, matičnu ploču (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 stražnja ploča s 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:

• Čvor-crven

Važan dio prikupljanja podataka.

• MQTT poslužitelj.

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 puno pouzdanije što je više nego nadoknađeno jer je bilo malo složenije postaviti.

• 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 izgradnja

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

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

Originalni prijemnik i njegovo vodootporno kućište uklonjeni su iz RC automobila, jer nisu potrebni.

Utvrdili smo da postoji jedno prikladno mjesto između prednjih kotača za naš senzor za praćenje linije, pa smo ga držali na mjestu tako što smo zakopčali patentni zatvarač iznad prednje klizne ploče.

Senzor koji koristimo za sprječavanje sudara nekako je 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 (stražnja ploča sa starog okvira za slike) na vrhu ima male dijelove cijevi od papira/smole izrezane na veličinu i zalijepljene na dno. Oni su poravnati s nosačima za stupove tijela 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 je ploča unutar zaštitne sfere kotača i odbojnika. Arduino Mega i dvije ploče za pričvršćivanje pričvršćene su 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 toliko 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. Tijekom rada to mora biti udaljeno od crte koja vozilo koristi za navigaciju.

Korak 4: Modul ESP8266

Modul ESP8266
Modul ESP8266
Modul ESP8266
Modul ESP8266

WiFi modul, ESP8266, zahtijeva dva različita podešavanja pina. Jedno postavljanje potrebno je upotrijebiti pri bljeskanju modula s novim programom i korištenju Arduino Mega 2560 kao programera. Druga postavka je za modul kada se koristi i šalje informacije posredniku MQTT.

Korištenjem Arduino IDE -a za prijenos koda na modul ESP8266 morat ćete instalirati upravitelja ploče i dodatni upravitelj 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 redak:

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 odabrati ispravan ESP8266 modul iz upravitelja ploče prije bljeskanja modula. U ovom projektu odabrali smo generičku ploču ESP8266. Postavke pinova za bljeskanje modula nalaze 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 smo projektu odabrali imati adapter kad god smo modul radili. Postavljanje pinova s adapterom nalazi se na drugoj slici u ovom segmentu.

Kôd koji treba umetnuti na modul ESP8266 postavlja vezu na WiFi i MQTT posrednika, 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. Kôd 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 podacima sive ljestvice sa središnjeg senzora, u ovom projektu poznatom i kao "Line Detector". Očigledno, cilj mu je zadržati informacije iz detektora linija 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 upravljač usmjerit će automobil blizu zadane vrijednosti linije.

Program ima dvije tipke koje funkcioniraju kao tipka za start i stop za RC automobil. Tehnički, gumb "stop" je gumb "aktiviranja" koji je u smislu jednak vrijednosti PWM -a poslanoj motoru zbog čega se RC automobil zaustavlja. Gumb 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 blokiran, daljinsko upravljanje će se zaustaviti sve dok prepreka ne nestane/ukloni se. Analogni signal detektora koristi se za utvrđivanje blokira li nešto ili ne, te postaje kriterij za mogućnost kretanja naprijed kao i zaustavljanja.

Sekundarni senzor ljestvice sive boje, "Room Detector", koristi se za otkrivanje u koju je sobu ušao RC automobil. Radi na sličnom principu kao i detektor linija, ali ne traži promjenu između svjetla i mraka, već vrijednosti unutar određenog raspona koji odgovara različitim sobama, 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 posredniku. Niz informacija je kreiran kao niz i upisan u odgovarajuću serijsku seriju na koju je povezan WiFi modul. Važno je da se pisanje 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 slijedi liniju. Umjesto toga upotrijebite "millis" jer će omogućiti da se program pokrene bez odgode, ali nakon što je definirana količina milisa prošla otkako je Arduino uključen, 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ćuje stvaranje aplikacija s PHP -om i MySQL bazom podataka. PhpMyAdmin nam omogućuje upravljanje bazama podataka na jednostavan način.

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 PhpMyAdminu za upravljanje bazom podataka MySQL.

Pristupite MySQL -u pomoću PhpMyAdmina i stvorite novu bazu podataka. Nazovite ga nečim prikladnim čega se možete sjetiti, u ovom se projektu to nazivalo "line_follow_log". Nakon stvaranja baze podataka, trebali biste stvoriti tablicu u bazi podataka. Provjerite odgovara li broj stupaca. U projektu koristimo 4 stupca. Jedan stupac služi za vremensku oznaku, a posljednja tri služe za spremanje podataka iz vozila. Za svaki stupac upotrijebite 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 tablicu za odjeljak o Node-Red.

Korak 7: Node-Red

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

Da bismo to učinili, potrebno nam je nekoliko paleta za rad različitih funkcija, a za rad je potreban neki stvarni kod.

Prvo prvo. Trebat će nam sljedeće palete.

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

Čvor-crveno-nadzorna ploča: Naša nadzorna ploča, potrebna za vizualni prikaz 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 što Node-red flow radi.

Rano smo imali problema s našim MQTT poslužiteljem po izboru koji je umirao/prekinuo vezu, naizgled nasumično, zbog čega je bilo kakve promjene frustrirajući pokušaj jer nije bilo jasno jesu li promjene bile korisne ili ne, kada nismo mogli vidjeti rezultat. Dakle, gumb "Je li poslužitelj umro?" ubacuje 'Ne' sljedeći blok ubacuje ga u naš MQTT poslužitelj. Ako nije mrtav, u prozoru za otklanjanje pogrešaka pojavit će se 'Ne'. To se ne radi samo radi testiranja, već i zbog prisiljavanja Node-red na pokušaj ponovnog povezivanja s poslužiteljem MQTT.

'Testni niz' šalje troškovni niz posredniku MQTT. Formatirali smo ovaj niz kako bi bio sličan onome što bismo dobili od Arduina. To je trebalo olakšati 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 pogrešaka i sprema ih na SQL poslužitelj.

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

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

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 specifično, Jasno ili ometano. Zeleni blokovi u nastavku objavit će se u prozoru za otklanjanje pogrešaka, plavi će pisati na našu nadzornu ploču.

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

Korak 8: MQTT posrednik

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

Za ovaj projekt stvorili smo posrednika MQTT koristeći uslugu CloudMQTT s besplatnom pretplatom na 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 usluzi CloudMQTT. Korisničko ime i lozinka ključni su pri postavljanju veze na kodu ESP8266, kao i Node-Red.

Tekuća statistika poruka koje Broker dobiva 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 nismo ih koristili u ovom projektu.

Korak 9: Hobi elektronika

Prije početka znali smo iz prošlog projekta da se servo upravljačem može upravljati s Arduina s PWM signalom, sa sličnim ožičenjima 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 provjerili ovu teoriju, napravit ćemo malu Arduino skicu. Skica čita analogni ulaz s potenciometra, preslikava vrijednost od 0, 1024 na 0, 255 i dobivenu vrijednost šalje na PWM pin, koristeći analogWrite () dok je R/C automobil imao malu kutiju i imao uklonjeni kotači.

Nakon što je prešao opseg na mjeraču lonaca, činilo se da se ESC 'probudio' i mogli smo ga gasiti gore -dolje, također smo imali Arduino ispisati 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, no unos malo veće vrijednosti trebao bi biti trivijalan.

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

Bijesni pokušaji rješavanja problema, dodavanje različitih vrijednosti, korištenje različitih žica, pa čak i eksperimentiranje s promjenom frekvencije PWM -a koje koristi Arduino rezultirali su većom čudnošću.

Činilo se da je to isprekidan problem, ponekad bi se pokrenuo, drugi put odbio učiniti bilo što. Jednostavno je nastavilo treptati. 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 vrijednosti, ignorirao je i nastavio treptati, niže vrijednosti ESC se vratio sjajnoj zelenoj boji, ali se ipak nije okrenuo.

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

Ponekad se rad prema namjeni i rad prema očekivanjima zapravo ne preklapaju puno na Vennovom dijagramu. 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 bilo koji drugi položaj osim neutralnog.

'Podesi 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 uključen ESC 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 pokraj neutralnog položaja, a zatim 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, servo upravljač i ESC zanemaruju signale ispod 50% radnih ciklusa. To bi moglo biti u slučaju da prijemnik/odašiljač 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 cijeli raspon.

S ovim novim znanjem u rukama, stvorena je nova Arduino skica. Početna verzija prihvaća nizove unesene u serijski monitor, pretvara ih u cijeli broj i premješta ih na PWM pin, koristeći knjižnicu servo 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, no trebali bi raditi isto, iako bi se točne vrijednosti mogle malo razlikovati.

Ova knjižnica tretira ESC kao servo, ovo je očito u redu. Funkcija write () iz knjižnice Servo.h ide od 0 do 180, očekuje se da će se signal naoružanja nalaziti oko sredine.

G2 Micro oružje na write () u rasponu vrijednosti blizu 90 međutim bilo je teško odrediti jer se čini da se 'sjeća' da je bio naoružan.

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

Nakon signala aktiviranja, bilo koji ESC je s radošću 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 međusobno, samo imajte na umu što radi, i na kraju ništa osim radnog ciklusa nije važno. WriteMicroseconds () mogao bi se 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. Uz standardni analogWrite () očekuje se da će korisni raspon biti biti od 128 do 255, a oko 191 neutralno.

Preporučeni: