Telekomandë e thjeshtë e robotit nga një kompjuter. Roboti mund të kontrollohet në mënyra të ndryshme. Kontrolli në distancë i robotit

Dërgoni punën tuaj të mirë në bazën e njohurive është e thjeshtë. Përdorni formularin e mëposhtëm

Studentët, studentët e diplomuar, shkencëtarët e rinj që përdorin bazën e njohurive në studimet dhe punën e tyre do t'ju jenë shumë mirënjohës.

Postuar në http://www.allbest.ru/

Zhvillimi i një sistemi telekomandimi për një robot edukativ

Prezantimi

mikroprocesor i programit të përdoruesve të robotikës

Robotika është një nga fushat më dinamike në zhvillim sot. Ne shohim se si robotët gradualisht po pushtojnë të gjitha sferat e jetës - prodhim, mjekësi, bujqësi, etj. Në të ardhmen e afërt, robotët do të bëhen pjesë integrale e jetës së përditshme. Prandaj nevojiten specialistë me aftësi në fushën e robotikës dhe mekatronikës. Nga ana tjetër, për të trajnuar specialistët e ardhshëm, kërkohen robotë edukues, mbi të cilët do të jetë e mundur të përmirësohen njohuritë e tyre.

Është e mahnitshme se sa shpejt po zhvillohet teknologjia në kohën tonë; duket se ritmi i zhvillimit të tyre tashmë është i vështirë për t'u ndjekur. Telefonat celularë janë një nga shembujt mbresëlënës; sot çdo person i ka. Për më tepër, ata janë bërë pjesë integrale e shoqërisë sonë. Ka telefona me një sërë funksionesh minimale dhe ka nga ata "të avancuar" me funksione të krahasueshme me një kompjuter personal.

Telefonat celularë zëvendësojnë pjesërisht shumë pajisje si kamera, kompjuter, e-lexues etj. Vlen të mendoni "pse të mos kontrolloni disa pajisje të thjeshta duke përdorur telefonin tuaj?" Nuk sugjerohet të zëvendësoni të gjithë pajisjen, por vetëm disa nga telekomandat. Kjo do të thjeshtojë kontrollin e pajisjeve të ndryshme në jetën e përditshme të një personi. Për shembull, një telefon me funksion Bluetooth mund të zëvendësojë të gjitha telekomandat për pajisjet shtëpiake, të cilat shpesh humbasin.

Ky problem aktual do të zgjidhet falë një pajisjeje të ngjashme të zhvilluar në këtë projekt, ideja dhe qëllimi kryesor i së cilës është krijimi i një sistemi telekomandimi për një robot edukativ nëpërmjet një kanali komunikimi Bluetooth.

Bluetooth është kanali më i zakonshëm i komunikimit për momentin. Është i disponueshëm pothuajse në të gjithë telefonat dhe është shumë i lehtë për t'u përdorur. Bluetooth ose bluetooth është një specifikim prodhimi për rrjetet e zonës personale me valë. Bluetooth siguron shkëmbimin e informacionit midis pajisjeve të tilla si kompjuterë personalë, telefona celularë, printera, kamera dixhitale, minj, tastierë, levë, kufje, kufje. Bluetooth-i i lejon këto pajisje të komunikojnë kur janë brenda një rrezeje deri në 200 metra nga njëra-tjetra (vargësia ndryshon shumë në varësi të pengesave dhe ndërhyrjeve), madje edhe në dhoma të ndryshme.

Fjala Bluetooth është përkthyer nga gjuha daneze si "dhëmbë blu". Ky pseudonim u mbajt nga mbreti Harald I, i cili sundoi Danimarkën dhe një pjesë të Norvegjisë në shekullin e 10-të dhe bashkoi fiset ndërluftuese daneze në një mbretëri të vetme. Implikimi është se Bluetooth bën të njëjtën gjë me protokollet e komunikimit, duke i kombinuar ato në një standard universal.

Në këtë punë, po zhvillohet një sistem telekomandë për një robot edukativ. Roboti edukativ celular është ndërtuar mbi bazën e një makine të kontrolluar me radio. Dhe telekomanda kryhet përmes kanalit të komunikimit Bluetooth. Pajisja e transmetimit të sinjalit ishte një telefon me aftësinë për të transmetuar informacion përmes Bluetooth, dhe pajisja marrëse ishte një modul Bluetooth i instaluar në një tabelë në makinë.

Le të përcaktojmë se çfarë është një robot. Roboti është një pajisje elektromekanike, pneumatike, hidraulike ose një kombinim i tyre, i projektuar për të kryer prodhimin dhe operacione të tjera që zakonisht kryhen nga njerëzit (ndonjëherë nga kafshët). Përdorimi i robotëve bën të mundur lehtësimin apo edhe zëvendësimin e punës njerëzore.

Me zhvillimin e robotikës, janë shfaqur 3 lloje robotësh:

Me një program të rreptë veprimi;

Kontrollohet nga një operator njerëzor;

Me inteligjencë artificiale, duke vepruar me qëllim pa ndërhyrjen njerëzore.

Ndërkohë, një robot nuk është aq një hibrid i një makinerie dhe një krijese të gjallë, sesa një mekanizëm automatik që kryen punë specifike që është e pazakontë për llojet e tjera të makinave. Për shembull, një vinç është një makinë për ngritjen e ngarkesave në një lartësi, një kompjuter është një makinë kompjuterike elektronike. Një vinç i kontrolluar nga kompjuteri tashmë mund të quhet robot.

Kur flasim për robotët, shpesh pyesim veten se sa inteligjentë janë dhe nëse, si rrjedhim, mund të paraqesin rrezik apo përfitim për njerëzit. Një temë interesante, megjithëse këtu nuk duhet të flasim për robotët, por për kompjuterët që kontrollojnë veprimet e tyre. Roboti në vetvete është vetëm një grup aktivizuesish. Komandat për lëvizje u jepen aktivizuesve nga një kompjuter, në këtë rast një telefon.

Për të arritur qëllimin e projektit, u vendosën dhe u zgjidhën detyrat e mëposhtme:

1) Zhvillimi i një bllok diagrami të një pajisje kontrolli. Një diagram bllok i funksionimit të një roboti celular arsimor me një sistem telekomandë po zhvillohet.

2) Zhvillimi i një pajisje kontrolli mikroprocesori për motorët DC. Po zhvillohet një diagram i qarkut elektrik - përzgjedhja e motorëve, mikrokontrolluesi, ndërfaqja e komunikimit. Diagrami i qarkut elektrik llogaritet dhe zhvillohet një tabelë e qarkut të printuar dhe vizatimi i montimit.

3) Zhvillimi i një algoritmi dhe programi për pajisjen e kontrollit;

1 . Zhvillimi i një bllok diagrami të një pajisje kontrolli

Diagrami i bllokut të sistemit

Duke përdorur softuerin e instaluar në telefon, sinjalet gjenerohen dhe transmetohen në pajisjen marrës, në këtë rast është një modul Bluetooth.

Moduli Bluetooth, nga ana tjetër, merr sinjale dhe, pa përpunuar, i transmeton ato te elementi kryesor i kontrollit - mikrokontrolluesi.

Duke marrë informacion, mikrokontrolluesi e përpunon atë dhe gjeneron sinjale kontrolli për drejtuesin e kontrollit. Dhe përmes drejtuesit të kontrollit, voltazhi furnizohet me motorët DC për funksionimin e tyre.

2 . Zhvillimi i një pajisje kontrolli mikroprocesori për motorët DC

Në këtë seksion, kryhet zhvillimi i një diagrami të qarkut elektrik - zgjedhja e motorëve, mikrokontrolluesit, ndërfaqes së komunikimit. Diagrami i qarkut elektrik llogaritet dhe zhvillohet një tabelë e qarkut të printuar dhe vizatimi i montimit.

Zhvillimi i një diagrami të qarkut elektrik

Zgjedhja e motorit

Si objekt kontrolli në këtë punë, ne zgjodhëm motorë të instaluar në një makinë të kontrolluar me radio, të blerë posaçërisht për këtë punë.

Zgjedhja e një mikrokontrollues

Mikrokontrolluesi Atmega8 nga Atmel u zgjodh si elementi kryesor për marrjen dhe përpunimin e sinjaleve (shih Shtojcën B). Mikrokontrolluesi ka porte UART dhe 3 kohëmatës, i cili është i nevojshëm për këtë punë.

Procesorët dixhital të sinjalit Atmel përdoren gjerësisht sepse kanë një çmim të përballueshëm dhe një grup të mjaftueshëm pajisjesh periferike.

Zgjedhja e një mikroqarku dhe ndërfaqe komunikimi

Për të kontrolluar motorët, kishte një zgjedhje midis drejtuesve L298N dhe L293D. Por zgjedhja u vendos në shoferin L298N. Funksionon në një gamë më të gjerë të tensionit, dhe për këtë arsye nuk ka rrezik të mbinxehjes së çipit. Është gjithashtu lehtësisht i aksesueshëm dhe ka një gamë të plotë funksionesh të nevojshme për të kryer punën.

Ndërfaqja UART është zgjedhur si ndërfaqe komunikimi me kompjuterin në këtë projekt. Kjo ndërfaqe nuk u zgjodh rastësisht, sepse për transmetimin e të dhënave përdoret një modul Bluetooth, i cili nga ana tjetër përdor ndërfaqen UART. Një avantazh tjetër është shpejtësia e mirë e transferimit të të dhënave - 9600 Kbps.

Llogaritja e fuqisë mekanike.

Pesha e modelit është 0.7 kg, shpejtësia maksimale është 1 m/s me një diametër rrote prej 30 mm.

Le të llogarisim nxitimin:

Çift rrotullues llogaritet si më poshtë:

Në momentin e inercisë dhe nxitimit këndor b =

Për të llogaritur fuqinë maksimale të motorit, përdoret shpejtësia e motorit, e shprehur në rrotullime për minutë:

Fuqia e motorit është proporcionale me çift rrotullues dhe shpejtësi:

Llogaritja e diagramit të qarkut elektrik

Zgjedhja e një drejtuesi të kontrollit të energjisë.

Në këtë punë ne përdorim drejtuesin L298N me karakteristikat e mëposhtme:

Tensioni maksimal i funksionimit: Upit< Uдрайвера=46 В;

Tensioni i furnizimit U furnizimi =+5 V, +3.3 V;

Rryma maksimale e daljes (për kanal): Ipit< Iдрайвера=2 А:

Llogaritja e rezistorëve.

Kunja e rivendosjes së mikrokontrolluesit, sipas dokumentacionit teknik, rekomandohet të lidhet me furnizimin me energji elektrike përmes një rezistence tërheqëse me vlerë nominale 10 kOhm.

Rezistorët për lidhjen e mikrokontrolluesit dhe modulit Bluetooth janë instaluar në bazë të dokumentacionit teknik të modulit: tensioni i funksionimit 3.3 V; kur punoni me një tension prej 5 V, instaloni rezistorë me vlerë nominale 4.7 kOhm.

Për funksionim të qëndrueshëm dhe për të shmangur djegien e LED-it, është e nevojshme që rryma që rrjedh në qark të korrespondojë me nominale (10 ose 20 milliamps), për këtë ne instalojmë një rezistencë me një rezistencë prej 1 kOhm.

Llogaritja e kondensatorëve.

Për të stabilizuar tensionin që vjen nga burimi i energjisë, u lidhën paralelisht kondensatorët me kapacitet 30 μF dhe 100 μF.

Dihet tashmë që moduli Bluetooth funksionon me një tension prej 3.3 V; rezulton se voltazhi i funksionimit në çipin 5 V do të jetë i tepërt, gjë që mund të çojë në djegien e modulit. Prandaj, për të ulur tensionin është e nevojshme të lidhni stabilizuesin L78L33. Bazuar në dokumentacionin teknik të tij, do të kërkohen 2 kondensatorë me kapacitet 0.33 μF dhe 0.1 μF. Diagrami i lidhjes është paraqitur në figurë.

Diagrami i lidhjes së stabilizatorit L78L33

Dizajni i PCB

Zhvillimi i dizajnit të pajisjes kryhet në bazë të diagramit të qarkut elektrik të zhvilluar, duke marrë parasysh kërkesat për mirëmbajtjen, kërkesat e estetikës teknike, duke marrë parasysh kushtet e funksionimit dhe kërkesat e tjera.

Gjatë projektimit të një PCB, duhet të merren parasysh sa vijon.

Nëse nuk ka ndonjë kufizim, bordi i qarkut të printuar (PCB) duhet të jetë katror ose drejtkëndor. Madhësia maksimale e çdo ane nuk duhet të kalojë 520 mm. Trashësia e PP duhet të korrespondojë me një nga numrat në seri: 0.8; 1.0; 1,5; 2.0 në varësi të zonës së PP.

Qendrat e vrimave duhet të vendosen në nyjet e rrjetit koordinativ. Çdo vrimë montimi dhe kalimi duhet të mbulohet nga një jastëk kontakti.

Diametri i vrimave të montimit dhe diametrat e prizave të mikroqarqeve variojnë nga 0,8...1,2 mm, dhe diametrat e prizave të rezistencës variojnë nga rreth 0,66 mm. Për të thjeshtuar procesin e prodhimit, vrimat e montimit në tabelë kanë një diametër prej 0,8 dhe 1,2 mm. Hapësira e rrjetës është 1.27 mm.

Saldoni elementet me saldim POS-61. Materiali i bordit është petë me fije qelqi STEF 2-1.5-50 sipas GOST 10316-86.

Zhvillimi i një vizatimi montimi

Kur hartoni një vizatim montimi, vëmendje duhet t'i kushtohet kërkesave të mëposhtme:

1) zhvillimi i një vizatimi montimi të një pajisjeje të kontrollit të motorit DC kryhet në bazë të diagramit të qarkut të zhvilluar, duke marrë parasysh kërkesat për dokumentet e vizatimit;

2) në përputhje me skemën për ndarjen e produktit në pjesë përbërëse, caktoni një përcaktim për njësinë e montimit dhe elementët e saj në përputhje me GOST 2.201-68;

3) futni dimensionet e kërkuara në përputhje me kërkesat e GOST 2.109-73;

4) plotësoni specifikimin, duke përmbushur të gjitha kërkesat e GOST 2.108-68;

5) plotësoni mbishkrimin kryesor dhe plotësoni mbishkrimet e tjera të nevojshme (kërkesat teknike, etj.).

3 . Zhvillimi i një algoritmi dhe programi për një pajisje kontrolli

Në këtë seksion, ne zhvillojmë një algoritëm për një pajisje kontrolli mikroprocesor për motorët DC, si dhe zhvillojmë një program kontrolli për një telefon.

Zhvillimi i një algoritmi për një pajisje kontrolli mikroprocesori për motorët DC.

Figura 3 tregon një diagram të algoritmit të funksionimit të pajisjes së kontrollit të mikroprocesorit.

Vlerat e bajtit të transmetuara:

10:00 - Ndalesa; 01 - Përpara; 10 - Mbrapa; 11 - Ndalo.

23:00 - Ndalesa; 01 - E drejta; 10 - majtas; 11 - Ndalo.

Zhvillimi i programit.

Zhvillimi i një programi kontrolli për motorët DC.

Ky program është i nevojshëm për të kontrolluar motorët DC. Mikrokontrolluesi kontrollohet nga një program nga telefoni.

Programi i kontrollit të motorit DC duke përdorur mikrokontrolluesin ATmega8 (shih Shtojcën A).

Zhvillimi i një programi për telefonin.

Për të ekzekutuar këtë program, duhet të keni të instaluar në kompjuterin tuaj Windows 98/2000/ME/XP. Ky program është zhvilluar në mjedisin Android SDK.

Hapësirat e mëposhtme të emrave përdoren për punë:

import java.io.IOException;

importoni java.io. OutputStream;

importoj java.util. Listë;

importoni java.util.UUID;

importoni android.app. Aktiviteti;

importoni android.app. AlertDialog;

importoni android.app. ProgressDialog;

importoni android.bluetooth. Përshtatës Bluetooth;

importoni android.bluetooth. Pajisje Bluetooth;

importoni android.bluetooth. BluetoothSocket;

importoni përmbajtjen android. Kontekst;

importoni përmbajtjen android. Ndërfaqja e dialogut;

importoni përmbajtjen android. Qëllimi;

importoni përmbajtjen android. Ndërfaqja e dialogut. OnClickListener;

importoni android.hardware. Sensor;

importoni android.hardware. SensorEvent;

importoni android.hardware. SensorEventListener;

importoni android.hardware. Menaxher Sensor;

importoni android.net. Uri;

importoni android.os. Pako;

importoni android.os. Trajtues;

importoni android.os. Mesazhi;

importoni android.view. LayoutInflater;

importoni android.view. Menu;

importoni android.view. MenuInflater;

importoni android.view. MenuArtikulli;

importoni android.view. MotionEvent;

importoni android.view. Pamje;

importoni android.widget. Butoni;

importoni android.widget. TextView;

importoni android.widget. Dolli;

Qëllimi dhe kushtet e përdorimit të programit.

Programi është krijuar për të gjeneruar dhe transmetuar sinjale në një pajisje mikroprocesori.

Për të ekzekutuar këtë program, duhet të keni një pajisje me sistemin operativ Android të çdo versioni. Ky program është zhvilluar në mjedisin Android SDK.

Qasja në program

Para fillimit të programit, duhet të lidhni energjinë me pajisjen mikroprocesorike dhe të prisni që LED të pulsojë, që do të thotë se është gati për punë.

Për të nisur programin, duhet të aktivizoni Bluetooth-in në pajisje dhe të hapni aplikacionin "BluCar". Duke përdorur butonin "Lidhu me një pajisje", krijoni një lidhje me modulin Bluetooth ("linvor"). Pasi LED ndalon së pulsuari, mund të filloni transferimin e të dhënave.

4. Udhëzues Përdorues

Për të kontrolluar funksionalitetin e robotit celular arsimor, ju nevojiten sa vijon:

Ndizni fuqinë e robotit celular arsimor duke përdorur butonin e treguar në figurë.

Butoni i energjisë

Prisni që të pulsojnë dy LED-të e paraqitur në figurën 5. E para (e bardhë) është instaluar në qark, duke pulsuar çdo sekondë, duke treguar që qarku ka fuqi dhe është gati për funksionim. LED i dytë ndodhet në modulin Bluetooth dhe ka 2 mënyra funksionimi:

Ndezje: në pritje të lidhjes;

Dritë e qëndrueshme: tregon lidhjen.

Gjendja e funksionimit LED

Më pas, aktivizoni Bluetooth-in në telefon dhe hapni programin "BluCar" të paraqitur në figurën 6. Në program klikoni butonin "Connect from device" dhe nga lista e ofruar zgjidhni linvor, që është moduli Bluetooth. Ne presim derisa LED në modul të fillojë të ndizet vazhdimisht, që do të thotë një lidhje e suksesshme. Roboti edukativ celular me sistem telekomandimi është gati për punë.

Programi në telefon "BluCar"

Metodat e kontrollit:

Butoni "Përpara" - duke ecur përpara;

Butoni "Reverse" - lëvizni prapa;

Rrotullimi i telefonit në një plan horizontal me skajin e djathtë poshtë - duke i kthyer rrotat e përparme në të djathtë;

Rrotullimi i telefonit në një plan horizontal me skajin e majtë poshtë - duke i kthyer rrotat e përparme në të majtë;

Për të fikur robotin celular, duhet të fikni fuqinë në qark dhe të klikoni butonin "Shkëputje nga pajisja" në program.

konkluzioni

Si rezultat i përfundimit të një teze kualifikuese përfundimtare bachelor me temë: "Zhvillimi i një sistemi telekomandimi për një robot edukativ", u krijua dhe u krijua një sistem telekomandë për një robot edukativ përmes një kanali komunikimi Bluetooth. Një robot edukativ është një makinë me dy motorë DC dhe një bateri. Pajisja e transmetimit të sinjalit ishte një telefon me aftësinë për të transmetuar informacion përmes Bluetooth, dhe pajisja marrëse ishte një modul Bluetooth i instaluar në një tabelë në makinë.

Problemi praktik i konsideruar në projekt jep një ide të qartë të rëndësisë së pajisjes së paraqitur. Kjo pajisje do të jetë në gjendje të zgjidhë probleme shumë të ngutshme të përditshme, si kontrolli i të gjitha pajisjeve shtëpiake nga telefoni juaj dhe më shumë.

Sistemi i krijuar i telekomandës kryhet duke përdorur një mikrokontrollues. Mikrokontrolluesit janë shumë më të mirë se paraardhësit e tyre. Ato janë shumë më të vogla në madhësi dhe kanë produktivitet më të madh, dhe gjithashtu shpejtojnë ndjeshëm detyrën që u është caktuar. Në këtë punë, një mikrokontrollues përdoret për të përpunuar sinjalet që vijnë tek ai nga telefoni. Ai është gjithashtu përgjegjës për gjenerimin e sinjaleve për drejtuesin e motorit, gjë që bën që motorët të rrotullohen drejtpërdrejt. Mikrokontrolluesi është i instaluar në një qark, i cili nga ana tjetër është i instaluar në makinë dhe i lidhur me motorët.

Përfundimet e mësipërme janë nxjerrë nga pjesa e parë (teorike). Është krijuar një bllok diagram.

Kapitulli i dytë përshkruan se si u zhvillua një pajisje e bazuar në mikroprocesor për kontrollin në distancë të motorëve DC.

Në kapitullin e tretë, u krijua një algoritëm dhe një program telefonik për vizualizimin e kontrollit të motorëve DC.

Si rezultat i kësaj pune, të gjitha qëllimet dhe objektivat e vendosura u arritën me sukses. Në procesin e kryerjes së punës, u konsoliduan aftësitë në zhvillimin e qarqeve elektrike, llogaritjet dhe paraqitjen e tyre. Gjithashtu gjatë punës u përmirësuan aftësitë e programimit të mikrokontrolluesve dhe u fitua përvoja programuese në mjedisin Android.

Bibliografi

1. Semenov B.Yu. Elektronika e fuqisë për amatorë dhe profesionistë - M.: Solon-R, 2001. -126 f.

2. Lauren Darcy, Shane Conder: Android në 24 orë. Programimi i aplikacioneve për sistemin operativ Google. Ed. Grupi Reed, 2011

3. Kasatkin A.S. Inxhinieria elektrike: Libër mësuesi. manual për universitetet. Ed. 4. - M.: Energoatomizdat, 1983. -440 f., ill.

4. Evstifeev A.V.: Mikrokontrolluesit AVR të familjeve Tiny dhe Mega nga ATMEL. Shtëpia botuese "Dodeka-XXI", 2008. - 558 f.

5. Romanycheva E.T. Zhvillimi dhe ekzekutimi i dokumentacionit të projektimit për pajisjet radio-elektronike. / Drejtoria. M.: Radio dhe komunikim, 1989. - 448 f.

6. Sivukhin D.V. Lënda e përgjithshme e fizikës: T.1. Mekanika: Libër mësuesi për drejtimet e fizikës në universitete. - M.: Nauka, 1974. - 520 f.

7. Horwitz P., Hill W. Arti i Dizajnit të Qarqeve. Në 3 vëllime. Per. nga anglishtja - M.: Mir, 1993.

8. Atmel, mikrokontrollues 8-bitësh me 16K Byte Flash të programueshëm në sistem Atmega16 - Fletë e të dhënave.

9. L298 - Drejtues i dyfishtë i urës së plotë - Fleta e të dhënave.

10. SERIA L78L00 - Rregullatorët e tensionit pozitiv - Fleta e të dhënave.

11. Udhëzuesi i përdorimit të ndërfaqes së konvertuesit serial Bluetooth UART 9600bps - Fleta e të dhënave

12. Wikipedia: Enciklopedia e lirë. 2012. URL: http://ru.wikipedia.org. (Data e hyrjes: 20.05.2012).

Postuar në Allbest.ru

...

Dokumente të ngjashme

    Zhvillimi i një diagrami bllok të një pajisje kontrolli për një robot edukativ. Zgjedhja e një motori, mikrokontrolluesi, mikroqarku, ndërfaqja e komunikimit dhe stabilizuesi. Llogaritja e diagramit të qarkut elektrik. Zhvillimi i një vizatimi të montimit të pajisjes dhe algoritmit të programit.

    puna e kursit, shtuar 24.06.2013

    Zhvillimi i një diagrami qarku të një pajisjeje kontrolli të motorit DC me bazë mikroprocesori bazuar në kontrolluesin ATmega 128. Zhvillimi i një pakete nënprogramesh në gjuhën Assembler për qëllimin e rregullimit dhe funksionimit korrekt të pajisjes.

    puna e kursit, shtuar 14.01.2011

    Karakteristikat e pajisjes dhe të dhënat teknologjike të robotit industrial SM40TS. Përshkrimi i kompletit të mikroprocesorit të serisë U83-K1883, sistemi i tij i komandës, mikroqarku K572PV4, funksionaliteti, diagramet e qarkut dhe algoritmi i funksionimit të programit të kontrollit.

    puna e kursit, shtuar 06/02/2010

    Zhvillimi i një pajisjeje mikroprocesori kontrolli që zbaton një ndërveprim të caktuar me objektin e kontrollit, veçoritë e harduerit dhe softuerit. Softueri i sistemit që siguron ekzekutimin e një algoritmi të caktuar kontrolli.

    puna e kursit, shtuar 25.10.2009

    Qëllimi, klasifikimi dhe përbërja e sistemit të kontrollit të aksesit. Karakteristikat kryesore të mjeteve biometrike të identifikimit personal. Identifikimi i përdoruesit sipas irisit. Zhvillimi i një algoritmi për funksionimin e pajisjes.

    tezë, shtuar 25.11.2014

    Analiza e sistemeve ekzistuese për krijimin dhe menaxhimin e faqeve të internetit, karakteristikat e tyre të përgjithshme dhe vlerësimi i funksionalitetit në fazën aktuale. Kërkesat për pjesën e serverit, mjetet e zhvillimit të tij. Testimi i ndërfaqes. Krijimi i një manuali përdoruesi.

    tezë, shtuar 04/11/2012

    Rëndësia e detyrës. Zhvillimi i një diagrami funksional të pajisjes. Instalimi i radarit (RLU). Pjesa e mikroprocesorit. Arsyetimi i algoritmit të funksionimit të pajisjes. Zhvillimi i një programi të kontrollit të pajisjes. Diagrami i algoritmit. Shpjegime për programin.

    puna e kursit, shtuar 18.10.2007

    Analiza e specifikimeve teknike. Zhvillimi i ndërfaqes së programit dhe algoritmeve të tij. Kodimi dhe testimi i softuerit të zhvilluar, duke vlerësuar efektivitetin dhe funksionalitetin e tij praktik. Formimi dhe përmbajtja e manualit të përdorimit.

    puna e kursit, shtuar 31/07/2012

    Teknologji moderne luftarake. Mjete robotike në sferën ushtarake. Projektimi i mjeteve ajrore pa pilot, robotëve tokësorë dhe detarë. Zhvillimi i një programi në Prolog për të kryer detyrën e çminimit të një roboti ushtarak çminues.

    puna e kursit, shtuar 20.12.2015

    Projektimi i një pajisjeje mikroprocesori që konverton ndërfaqen RS-232 (port COM) në IEEE 1284 (port LPT). Diagrami i bllokut të pajisjes. Konvertimi i një ndërfaqe serike në një ndërfaqe paralele në një mikrokontrollues ATMega 8.

Kontrolli i një roboti është një detyrë sfiduese. Përkufizimi që ne zgjodhëm kërkon që pajisja të marrë të dhëna për mjedisin e saj. Më pas ai mori një vendim dhe ndërmori veprimet e duhura. Robotët mund të jenë autonome ose gjysmë autonome.

  1. Roboti autonom punon sipas një algoritmi të caktuar bazuar në të dhënat e marra nga sensorët.
  2. Një robot gjysmë autonom ka detyra që mbikëqyren nga një njeri. Dhe përveç kësaj ka edhe detyra të tjera që i kryen vetë...

Robotët gjysmë autonom

Një shembull i mirë i një roboti gjysmë autonom është një robot i sofistikuar nënujor. Një person kontrollon lëvizjet themelore të robotit. Dhe në këtë kohë, procesori në bord mat dhe reagon ndaj rrymave nënujore. Kjo lejon që roboti të mbahet në të njëjtin pozicion pa lëvizur. Një aparat fotografik në bordin e robotit i dërgon video përsëri personit. Për më tepër, sensorët në bord mund të monitorojnë temperaturën e ujit, presionin dhe shumë më tepër.

Nëse roboti humb kontaktin me sipërfaqen, aktivizohet një program autonom dhe e ngre robotin nënujor në sipërfaqe. Për të qenë në gjendje të kontrolloni robotin tuaj, do t'ju duhet të përcaktoni nivelin e tij të autonomisë. Ndoshta dëshironi që roboti të kontrollohet me kabllo, me valë ose plotësisht autonom.

Kontrolli i kabllove

Mënyra më e thjeshtë për të kontrolluar një robot është me një kontrollues dore të lidhur fizikisht me të duke përdorur një kabllo. Çelësat, pullat, levat, leva dhe butonat në këtë kontrollues lejojnë përdoruesin të kontrollojë robotin pa pasur nevojë të ndezë elektronikën komplekse.

Në këtë situatë, motorët dhe furnizimi me energji elektrike mund të lidhen drejtpërdrejt me çelësin. Prandaj, rrotullimi i tij përpara/prapa mund të kontrollohet. Kjo përdoret zakonisht në automjete.

Ata nuk kanë inteligjencë dhe konsiderohen si "makina të telekomanduara" dhe jo "robotë".


  • Avantazhi kryesor i kësaj lidhjeje është se roboti nuk është i kufizuar nga koha e funksionimit. Meqenëse mund të lidhet drejtpërdrejt me rrjetin. Nuk ka nevojë të shqetësoheni për humbjen e sinjalit. Roboti zakonisht ka elektronikë minimale dhe nuk është shumë kompleks. Roboti në vetvete mund të jetë i lehtë ose të ketë një ngarkesë shtesë. Roboti mund të hiqet fizikisht duke përdorur një lidhje të lidhur me kabllon nëse diçka nuk shkon. Kjo është veçanërisht e vërtetë për robotët nënujorë.
  • Disavantazhet kryesore janë se kablloja mund të ngatërrohet, të kapet në diçka ose të prishet. Distanca në të cilën mund të dërgohet roboti kufizohet nga gjatësia e kabllit. Zvarritja e një kablloje të gjatë shton fërkimin dhe mund të ngadalësojë apo edhe të ndalojë lëvizjen e robotit.

Kontrollimi i robotit duke përdorur një kabllo dhe mikrokontrollues të integruar

Hapi tjetër është instalimi i mikrokontrolluesit në robot, por vazhdoni të përdorni kabllon. Lidhja e një mikrokontrollues me një nga portat hyrëse/dalëse të kompjuterit tuaj (si porta USB) ju lejon të kontrolloni veprimet tuaja. Kontrolli kryhet duke përdorur një tastierë, levë ose pajisje tjetër periferike. Shtimi i një mikrokontrollues në një projekt mund t'ju kërkojë gjithashtu të programoni robotin me sinjale hyrëse.


  • Përparësitë kryesore janë të njëjta si me kontrollin e drejtpërdrejtë të kabllove. Sjellja më komplekse e robotit dhe reagimi i tij ndaj butonave ose komandave individuale mund të programohen. Ekziston një përzgjedhje e gjerë e kontrolleve të kontrolluesit (maus, tastierë, levë, etj.). Mikrokontrolluesi i shtuar ka algoritme të integruara. Kjo do të thotë se mund të ndërveprojë me sensorët dhe të marrë vendime të caktuara vetë.
  • Disavantazhet përfshijnë kosto më të lartë për shkak të elektronikës shtesë. Disavantazhet e tjera janë të njëjta si kur kontrolloni drejtpërdrejt robotin nëpërmjet kabllit.

Kontrolli i Ethernetit

I perdorur lidhës Ethernet RJ45. Kërkohet një lidhje Ethernet për kontroll. Roboti është i lidhur fizikisht me ruterin. Prandaj mund të kontrollohet nëpërmjet internetit. Kjo është gjithashtu e mundur (megjithëse jo shumë praktike) për robotët e lëvizshëm.

Vendosja e një roboti që mund të komunikojë përmes internetit mund të jetë mjaft kompleks. Para së gjithash, preferohet një lidhje WiFi (internet me valë). Kombinimi me tel dhe pa tel është gjithashtu një opsion ku ka një transmetues (transmetoni dhe merrni). Transmetuesi është i lidhur fizikisht me internetin dhe të dhënat e marra përmes Internetit i transmetohen robotit me valë.


  • Përparësitë janë se roboti mund të kontrollohet nëpërmjet internetit nga kudo në botë. Roboti nuk është i kufizuar në kohën e funksionimit, pasi mund të përdorë Power over Ethernet. PoE. Kjo është një teknologji që ju lejon të transmetoni energji elektrike së bashku me të dhënat në një pajisje të largët përmes një kabllo standarde të çifteve të përdredhur mbi një rrjet Ethernet. Përdorimi i Protokollit të Internetit (IP) mund të thjeshtojë dhe përmirësojë dizajnin e komunikimit. Përparësitë janë të njëjta si me kontrollin e drejtpërdrejtë të kompjuterit me tela.
  • Disavantazhi është programimi më kompleks dhe të njëjtat disavantazhe si me kontrollin e kabllove.

Kontrolloni duke përdorur telekomandën IR

Transmetuesit dhe marrësit infra të kuqe eliminojnë kabllon që lidh robotin me operatorin. Kjo zakonisht përdoret nga fillestarët. Kontrolli infra të kuqe kërkon një "vijë shikimi" për të funksionuar. Marrësi duhet të jetë në gjendje të "shohë" transmetuesin në çdo kohë për të marrë të dhëna.

Telekomandat me rreze infra të kuqe (të tilla si telekomanda universale për televizorët) përdoren për të dërguar komanda në një marrës infra të kuqe të lidhur me një mikrokontrollues. Më pas interpreton këto sinjale dhe kontrollon veprimet e robotit.


  • Avantazhi është kosto e ulët. Për të kontrolluar robotin, mund të përdorni telekomandë të thjeshtë të televizorit.
  • Disavantazhet janë se kërkon një vijë shikimi për kontroll.

Kontrolli i radios

Kontrolli i frekuencës së radios kërkon një transmetues dhe marrës me mikrokontrollues të vegjël për të dërguar, marrë dhe interpretuar të dhënat e radiofrekuencës (RF). Kutia e marrësit përmban një tabelë të qarkut të printuar (PCB) që përmban njësinë e marrësit dhe një kontrollues të vogël servo motori. Komunikimi me radio kërkon një transmetues të përshtatur/çiftuar me një marrës. Është e mundur të përdoret një marrës që mund të dërgojë dhe marrë të dhëna ndërmjet dy mjediseve të sistemit të komunikimit fizikisht të ndryshëm.

Kontrolli i radios nuk kërkon vijën e shikimit dhe mund të kryhet në distanca të gjata. Pajisjet standarde RF mund të transmetojnë të dhëna ndërmjet pajisjeve në distanca deri në disa kilometra. Ndërsa pajisjet më profesionale RF mund të sigurojnë kontrollin e robotit nga pothuajse çdo distancë.


Shumë projektues robotësh preferojnë të bëjnë robotë gjysmë autonomë të kontrolluar nga radio. Kjo lejon që roboti të jetë sa më autonom dhe të ofrojë reagime për përdoruesit. Dhe mund t'i japë përdoruesit një kontroll mbi disa nga funksionet e tij nëse është e nevojshme.

  • Përparësitë janë aftësia për të kontrolluar robotin në distanca të konsiderueshme dhe mund të konfigurohet lehtësisht. Komunikimi është i gjithanshëm, por sinjali mund të mos bllokohet plotësisht nga muret ose pengesat.
  • Disavantazhet janë shpejtësia shumë e ulët e transferimit të të dhënave (vetëm komanda të thjeshta). Për më tepër, duhet t'i kushtoni vëmendje frekuencave.

Kontrolli Bluetooth

Bluetooth është një sinjal radio (RF) dhe transmetohet përmes protokolleve specifike për të dërguar dhe marrë të dhëna. Gama e zakonshme e Bluetooth-it është shpesh e kufizuar në rreth 10 m. Edhe pse ka avantazhin e lejimit të përdoruesve të kontrollojnë robotin e tyre nëpërmjet pajisjeve të aktivizuara Bluetooth. Këta janë kryesisht telefona celularë, PDA dhe laptopë (megjithëse mund të kërkohet programim i personalizuar për të krijuar ndërfaqen). Ashtu si kontrolli i radios, Bluetooth ofron komunikim të dyanshëm.


  • Përparësitë: E kontrollueshme nga çdo pajisje me Bluetooth. Por, si rregull, kërkohet programim shtesë. Këto janë telefonat inteligjentë, laptopët, etj. Shkalla më e lartë e të dhënave mund të jetë e gjithanshme. Prandaj, nuk nevojitet asnjë linjë shikimi dhe sinjali mund të kalojë pak nëpër mure.
  • Të metat. Duhet të punojnë në çifte. Distanca është zakonisht rreth 10 m (pa pengesa).

Kontroll WiFi

Kontrolli WiFi është shpesh një opsion shtesë për robotët. Aftësia për të kontrolluar një robot me valë nëpërmjet internetit paraqet disa avantazhe të rëndësishme (dhe disa disavantazhe) për kontrollin me valë. Për të vendosur kontrollin e robotit nëpërmjet Wi-Fi, ju nevojitet një ruter me valë i lidhur me internetin dhe një njësi WiFi në vetë robotin. Për robotin, mund të përdorni një pajisje që mbështet protokollin TCP / IP.


  • Avantazhi është aftësia për të kontrolluar robotin nga kudo në botë. Për ta bërë këtë, duhet të jetë brenda rrezes së ruterit me valë. Shkalla të larta të transferimit të të dhënave janë të mundshme.
  • Disavantazhet janë se kërkohet programim. Distanca maksimale zakonisht përcaktohet nga zgjedhja e ruterit pa tel.

Kontroll me celular

Një tjetër teknologji pa tel që u zhvillua fillimisht për komunikimin njeri-njerëzor, telefoni celular, tani po përdoret për të kontrolluar robotët. Për shkak se frekuencat e telefonave celularë janë të rregulluara, aktivizimi i modulit celular në robot zakonisht kërkon programim shtesë. Gjithashtu nuk ka nevojë për të kuptuar sistemin dhe rregulloret e rrjetit celular.


  • Avantazhet: Roboti mund të kontrollohet kudo ku ka një sinjal celular. Mundësia e komunikimit satelitor.
  • Të metat; Vendosja e kontrollit celular mund të jetë e ndërlikuar - jo për fillestarët. Çdo rrjet celular ka kërkesat dhe kufizimet e veta. Shërbimi online nuk është falas. Në mënyrë tipike, sa më shumë të dhëna të transferoni, aq më shumë para duhet të paguani. Sistemi ende nuk është konfiguruar për përdorim në robotikë.

Hapi tjetër është të përdorni mikrokontrolluesin në robotin tuaj në potencialin e tij të plotë. Dhe para së gjithash, programimi i algoritmit të tij për futjen e të dhënave nga sensorët e tij. Kontrolli autonom mund të marrë forma të ndryshme:

  1. të jetë i para-programuar pa reagime mjedisore
  2. me reagime të kufizuara nga sensori
  3. me reagime komplekse të sensorëve

Ngasja e vërtetë autonome përfshin sensorë dhe algoritme të shumta. Ato lejojnë robotin të përcaktojë në mënyrë të pavarur veprimin më të mirë në çdo situatë të caktuar. Metodat më të sofistikuara të kontrollit të zbatuara aktualisht në robotët autonome janë komandat vizuale dhe dëgjimore. Për kontrollin vizual, roboti shikon një person ose objekt për të marrë komandat e tij.


Të kontrollosh një robot për t'u kthyer majtas duke lexuar një shigjetë që tregon majtas në një copë letër është shumë më e vështirë për t'u realizuar sesa mund të imagjinohet. Një komandë shërbimi si "kthehu majtas" kërkon gjithashtu mjaft programim. Programimi i shumë komandave komplekse si "Më sillni pantofla" nuk është më një fantazi. Edhe pse kërkon një nivel shumë të lartë programimi dhe shumë kohë.

  • Përfitimet janë robotika "e vërtetë". Detyrat mund të jenë aq të thjeshta sa ndezja e një drite të bazuar në një sensor të vetëm për të ulur një anije kozmike në një planet të largët.
  • Disavantazhet varen vetëm nga programuesi. Nëse roboti bën diçka që ju nuk dëshironi, atëherë keni vetëm një mundësi. Kjo është për të kontrolluar kodin tuaj, për ta ndryshuar atë dhe për të ngarkuar ndryshimet në robot.

Pjesa praktike

Qëllimi i projektit tonë është të krijojmë një platformë autonome të aftë për të marrë vendime bazuar në sinjalet e jashtme nga sensorët. Ne do të përdorim një mikrokontrollues Lego EV3. Na lejon ta krijojmë atë si një platformë plotësisht autonome. Dhe gjysmë autonome, e kontrolluar nëpërmjet Bluetooth ose duke përdorur një panel kontrolli infra të kuqe.


Tullë e programueshme LEGO EV3

Për të fituar përvojë në punën me bordin Arduino, si të thuash, si një përvojë mësimi dhe thjesht për argëtim, u krijua ky projekt. Qëllimi i projektit ishte krijimi i një makine që mund të lëvizë në mënyrë autonome, duke shmangur pengesat e ndryshme pa u përplasur me to.

Hapi 1: Lista e komponentëve dhe kostoja e projektit

1. Makinë lodër me radio kontroll (radio e kontrolluar).

Kjo gjë kushton rreth 20 dollarë, nëse keni mundësi të shpenzoni më shumë, mund ta përdorni më mirë.

2. Mikrokontrolluesi Arduino Uno - 25 dollarë

3. Mburoja motorike për kontrollin e motorëve elektrikë - 20 dollarë

4. GPS për navigim. Adafruit Ultimate GPS Shield - 50 dollarë

5. Magnetometri si busull për lundrim. Magnetometri Adafruit HMC5883 - 10 dollarë

6. Sensori i distancës tejzanor për të shmangur pengesat. HC-SR04 - 6 dollarë

7. Ekran LCD për të shfaqur statusin dhe informacionin e automjetit. Ekran LCD blu 1602 IIC, I2C TWI - 6 dollarë (mund të përdorni një tjetër)

8. Sensori infra të kuqe dhe telekomanda.

9. Skica Arduino (programi C++).

10. Pllakë e hollë druri si platformë montimi.

11. Bordet e zhvillimit. Njëra është e gjatë dhe e ngushtë, dhe tjetra është e vogël, për të instaluar veçmas magnetometrin në të larg elementëve të tjerë.

12. Kërcimtarë.

13. Kompleti i montimit të sensorit tejzanor - 12 dollarë

14. Hekur saldimi dhe saldimi.

Pra, në total, gjithçka kushton rreth 150 dollarë, kjo është duke supozuar se ju i blini të gjithë këta komponentë, pasi mund të keni tashmë disa prej tyre.

Hapi 2: Instalimi i shasisë dhe platformës

Kontrolli i radios u hoq nga një lodër e padëshiruar që kushtoi 15 dollarë.

Makina këtu ka dy motorë. Duke përdorur një motor, telekomanda kontrollon shpejtësinë e robotit, dhe duke përdorur tjetrin, kontrollohet drejtimi.

Si sipërfaqe montimi është përdorur një dërrasë e hollë në të cilën janë ngjitur dërrasat e bukës, Arduino, LCD etj. Bateritë vendosen nën dërrasë dhe telat kalohen nëpër vrimat e shpuara.

Hapi 3: Programi

Arduino kontrollohet nëpërmjet programit C++.

Burimi

RC_Car_Test_2014_07_20_001.ino

Hapi 4: Ekran LCD

Gjatë funksionimit, ekrani shfaq informacionin e mëposhtëm:

Rreshti 1:

1. TH - Detyrë, drejt pikës aktuale

2. CH - Drejtimi aktual i robotit

Rreshti 2:

3. Err - Drejtimi i busullës, tregon se në cilin drejtim po lëviz roboti (majtas ose djathtas)

4. Dist - Distanca fokale (në metra) në pikën aktuale

Rreshti 3:

5. SNR - Distanca e sonarit, domethënë distanca me çdo objekt përpara robotit

6. Spd - Shpejtësia e robotit

Rreshti 4:

7. Mem - Memorie (në bajt). Memoria Arduino ka 2 KB

8. WPT n OF x - Tregon se ku ndodhet roboti në listën e pikave

Hapi 5: Shmangni përplasjen me objekte

Për të ndihmuar robotin të shmangë pengesat, këtu u përdor një sensor tejzanor "Ping". U vendos që ta kombinojmë me bibliotekën Arduino NewPing, pasi është më e mirë se biblioteka e thjeshtë PI.

Biblioteka është marrë nga këtu: https://github.com/fmbfla/Arduino/tree/master/NewPing

Sensori u instalua në parakolpin e robotit.

Në postimin tim të fundit në blog, përmenda se Wii Control gjerësisht i disponueshëm, një levë me unazë të mbyllur për Nintendo Wii, mund të përdoret për të kontrolluar nga distanca krahët e një roboti. Tani dua të vazhdoj këtë temë dhe të jap një pasqyrë të shkurtër të metodave të telekomandës ...

Në përgjithësi, ekzistojnë dy metoda të përdorura gjerësisht dhe të pranuara botërisht për kontrollin në distancë të pajisjeve autonome dhe gjysmë autonome:

  1. Kontrolloni duke përdorur sinjale infra të kuqe nga telekomanda (njëlloj si ndryshimi i kanaleve televizive)
  2. Kontrolli i radios

Metoda e parë, në lidhje me kontrollin e robotit, zbatohet duke përdorur një qark të thjeshtë, të cilin edhe unë, jo një adhurues i saldatorit, arrita ta bashkoj në gjysmë ore - dhe programin WinLIRC, i cili në thelb është një drejtues Windows për një model i tillë kontrolli (detajet janë në faqen time të internetit, në seksionin Sensorët e robotëve).

Kontrolli i radios është një praktikë e përdorur gjerësisht; ju mund të hiqni një model të një kontrolli të tillë nga çdo lodër e kontrolluar me radio, ose ta gjeni në çdo revistë për amatorë radio.

Kohët e fundit, metodat e tjera të kontrollit me valë janë bërë gjithnjë e më të përhapura. Natyrisht, po flasim për teknologjitë Bluetooth dhe Wi-Fi, të cilat aktualisht përdoren pothuajse kudo në kompjuterë, PDA, komunikues, celularë...

Modeli i kontrollit të robotit kur përdorni teknologjitë Wi-Fi dhe Bluetooth është në thelb ky: një telefon celular ose PDA është ngjitur drejtpërdrejt në robot, i cili, përmes një qarku të caktuar vetë-bashkues, mund të dërgojë sinjale kontrolli te roboti dhe të marrë leximet e sensorit. Aktiviteti kryesor i "trurit" kryhet në kompjuterin kryesor, të palëvizshëm (ndonjëherë edhe me ndihmën e një rrjeti të shpërndarë serverësh). Kjo qasje ndonjëherë bën të mundur uljen e peshës së robotit dhe konsumit të tij të energjisë me disa herë.

Nga rruga, ekziston një rast i njohur kur, në një nga prezantimet botërore të një roboti, ai në një moment ngriu në vend - për disa minuta. Kjo ka ndodhur pikërisht për shkak të mbingarkesave në rrjetin Wi-Fi të godinës ku është bërë prezantimi.

Një mënyrë tjetër për të kontrolluar robotin është vizuale. Në versionin më të thjeshtë, roboti thjesht lëviz drejt dritës. Nga rruga, detyra e lëvizjes përgjatë një linje mund të konsiderohet një variant i kësaj metode. Por, sigurisht, kontrolle të tilla vizuale nuk janë shumë funksionale dhe jo shumë ndërvepruese. Opsionet më komplekse përfshijnë përdorimin e një kamere në internet të montuar në robot dhe analizimin e imazhit që vjen nga kamera. Për shembull, kjo është mënyra se si robotët mësohen të njohin shprehjet e fytyrës së njeriut. Për të zbatuar kontrollin duke përdorur një kamerë në internet, është i përshtatshëm të përdorni softuerin RoboRealm, të cilin e kam diskutuar tashmë.

Kontrolli i zërit është një funksion mjaft standard; ju mund të përdorni sistemin e rregullt Windows Vista për ta zbatuar atë.

Nga rruga, aktualisht ka edhe sensorë që zbatojnë erën artificiale (lexo - në anglisht - për përdorimin e erës artificiale në hapësirë), prej kohësh janë krijuar materiale që bëjnë të mundur realizimin e lëkurës së ndjeshme (madje edhe tastierën për Palmën time të vjetër m505 është bërë nga një material homogjen që është i ndjeshëm ndaj prekjes), mirë, robotët gjithashtu mund të ndjejnë shijen ...

Si përfundim: telekomanda kërkohet për pothuajse çdo robot, pavarësisht se sa autonom është. Prandaj, kur dizajnoni robotin tuaj, merreni seriozisht këtë çështje, zgjidhni opsionin më të përballueshëm dhe përqendrohuni në të - në mënyrë që më vonë të mos keni nevojë të filloni nga e para...

Në këtë tutorial ne do të shtojmë një modul Bluetooth te roboti QUADRUPED dhe do të krijojmë një telekomandë bazuar në një modul të ngjashëm Bluetooth. Drejtimi dhe shpejtësia e lëvizjes së robotit do të kontrollohet duke përdorur një levë dhe lartësia e robotit do të rregullohet me një potenciometër. Nëse zbulohen pengesa, roboti do të refuzojë të shkojë drejt, por do të pranojë të kthehet prapa ose të kthehet.

Moduli Bluetooth i telekomandës do të veprojë si master dhe moduli Bluetooth i robotit do të veprojë si skllav. Çiftimi master dhe skllav duhet të bëhet vetëm një herë. Në të ardhmen, kur roboti të furnizohet me energji dhe telekomanda të furnizohet me energji, pajisjet do të lidhen në mënyrë të pavarur.

Shpejtësia dhe drejtimi i lëvizjes së robotit do të varen nga shkalla dhe drejtimi i devijimit të levës. Roboti do të jetë në gjendje të kryejë komanda të tilla si lëvizja përpara ose mbrapa, me ose pa përdredhje, kthim në vend majtas ose djathtas, vendosjen e të gjitha nyjeve në pozicione qendrore, lirimin e të gjitha nyjeve, ngritjen dhe uljen e trupit. Nëse lidhja midis moduleve bluetooth të telekomandës dhe robotit prishet, roboti do të ndalojë së lëvizuri dhe të gjitha servot e tij do të dobësohen.

Më shumë detaje rreth kontrollit të robotit dhe çiftimit të moduleve Bluetooth përshkruhen më poshtë në seksionin "Kontrolli".

Do të na duhen:

    Roboti "QUADRUPED":
  • Bateritë:
    • ose 2 bateri Li-jon me madhësi .
    • ose 5 bateri Ni-MH me madhësi .
    Dirigjuesi:
  • Bateritë:
    • ose 1 bateri Ni-MH me madhësi të kurorës dhe një përshtatës për folenë DC.
    • ose një tjetër për Arduino Uno.

Për të zbatuar projektin duhet të instalojmë bibliotekat:

  • iarduino_Bluetooth_HC05 - për të punuar me modulin Trema Bluetooth HC-05.
  • iarduino_HC_SR04 - për të punuar me sensorin e distancës tejzanor HC-SR04+.
  • Bibliotekat SoftwareSerial dhe Servo përfshihen në kompletin bazë Arduino IDE dhe nuk kërkojnë instalim.

Mund të mësoni se si të instaloni bibliotekat në faqen Wiki - Instalimi i bibliotekave në Arduino IDE.

Video:

Diagrami i lidhjes së telekomandës:

  • Instaloni Trema-Set Shield në Arduino Uno.
  • Instaloni potenciometrin e modulit Trema në platformën e uljes Trema-Set Shield 2.
  • Instaloni levën e modulit Trema në platformën e 4-të të uljes së Mburojës Trema-Set.
  • Instaloni modulin Trema Bluetooth HC-05 në platformën e 6-të të uljes së Trema-Set Shield.
  • Nëse dëshironi, të gjitha modulet e instaluara në Mburojën Trema-Set mund të sigurohen duke përdorur vida dhe mbështetëse najloni.

Në këtë kod, leximet e levës dhe potenciometrit ruhen vazhdimisht në grupin arrData, pas së cilës ato dërgohen përmes radios përmes një moduli bluetooth. Skica kalibron levë në fillim, duke lexuar lexime për boshtet X dhe Y, të cilat konsiderohen qendrore përpara se të fiket energjia. Leximet e boshtit X dhe Y dërgohen brenda vlerave nga -100 në +100. Leximet e potenciometrit dërgohen midis 0 dhe +100. Gjendja e butonit dërgohet si numër 0 ose 1.

Nëse e aplikoni energjinë me butonin e levës të shtypur, atëherë në kodin e konfigurimit do të ekzekutohet kodi për thirrjen e funksionit createMaster, i cili do ta vendosë modulin bluetooth në rolin e masterit, do të fillojë një kërkim për një skllav me emrin "QUADRUPED". dhe kodi PIN "1212", dhe nëse një pajisje e tillë skllav është e disponueshme, atëherë çiftimi dhe lidhja do të ndodhë me këtë modul skllav bluetooth (ky është emri dhe PIN që do t'i caktohen modulit bluetooth në robot). Nëse nuk e shtypni levë kur futet energjia, funksioni createMaster do të anashkalohet dhe moduli bluetooth do të përpiqet të krijojë një lidhje bazuar në cilësimet e tij të fundit. Kështu, çiftimi me modulin Bluetooth të robotit duhet të bëhet vetëm një herë.

Funksionet start(), createMaster() dhe checkConnect() të objektit objHC05 kthehen true ose false dhe thirren si kusht i operatorit while(), d.m.th. kryhet inicializimi, caktimi i roleve dhe kontrolli i lidhjes së moduleve bluetooth. derisa të arrihet një rezultat pozitiv. Këto funksione mund të thirren një herë vetëm nëse jeni i sigurt se moduli i dytë bluetooth (moduli i robotit) është patjetër i ndezur, i është caktuar roli skllav, është gati për lidhje dhe është brenda rrezes së komunikimit. Përndryshe, funksioni do të kthehet false dhe kodi do të vazhdojë të ekzekutohet pa iu përgjigjur gabimit.

Funksioni send() i objektit objHC05 është i aftë të dërgojë vargje dhe variabla të çdo lloji, dhe gjithashtu kthen true ose false, duke raportuar rezultatin e të dhënave të marra nga moduli i dytë bluetooth. Në rastin tonë, nuk ka nevojë të thirret ky funksion në gjendjen e operatorit while(), pasi ky funksion tashmë thirret vazhdimisht në kodin loop().

Një përshkrim i detajuar i të gjitha funksioneve të objektit objHC05 mund të gjendet në faqe.

Kodi i programit për robotin QUADRUPED:

Vlerat e grupit cenAngle duhet të ndryshohen (kalibrohen) në këndet aktuale të servo në shkallë në të cilat të gjitha nyjet e robotëve janë në pozicionin qendror. Kjo bëhet duke përdorur një skicë kalibrimi siç përshkruhet në faqe.

Në këtë kod, roboti kontrollohet përmes funksioneve:

  • funLimbMove- vendosja e një nyjeje të gjymtyrës së zgjedhur në një vlerë nga -100 në 100.
    • Nëse specifikoni funLimbMove(4,1,100), atëherë gjymtyra e 4-të, nyja vertikale, do të ngrihet sa më lart që të jetë e mundur.
    • Nëse specifikoni funLimbMove(4,0,-100), atëherë gjymtyra e 4-të, nyja horizontale, do të lëvizë sa më shumë që të jetë e mundur majtas.
  • funLimbStep- vendosja e një gjymtyre në një pozicion nga 0 në 255.
    • Nëse specifikoni funLimbStep(4,x,0,50), ku x do të rritet nga 0 në 255, atëherë gjymtyra e 4-të do të kryejë veprimet e mëposhtme: një zhvendosje e qetë nga fundi mbrapa, një ngritje e mprehtë, një kalim i shpejtë nga lart në pjesën e përparme dhe një zbritje e mprehtë, duke u ndalur në të njëjtin pozicion nga ku filluan lëvizjet. E cila është e ngjashme me lëvizjen aktuale të putrave kur ecni përpara.
    • Nëse specifikoni funLimbStep(4,x,0.50), ku x do të ulet nga 255 në 0, atëherë gjymtyra 4 do të kryejë të njëjtat veprime, por në rend të kundërt. E cila është e ngjashme me lëvizjen aktuale të putrave kur lëvizin prapa.
    • Argumenti i parafundit i funksionit mund të specifikohet në intervalin nga -100 në +100, ai do të kufizojë amplitudën e lëvizjeve të gjymtyrëve të majtë ose të djathtë, gjë që do të shkaktojë një kthesë (kthesë) në të majtë (-100 ... 0) ose në të djathtë (0...+100).
    • Argumenti i fundit i funksionit mund të specifikohet në intervalin nga 0 në 100, kjo është lartësia e rritjes së trupit në përqindje, nëse specifikoni 0, atëherë QUADRUPED do të "zvarritet", sa më e lartë të jetë vlera, aq më e lartë QUADRUPED. Rritja mesatare e trupit korrespondon me një vlerë prej 50.
  • funLimbGait- vendosni të gjitha gjymtyrët në një pozicion nga 0 në 255. Ky funksion thërret funksionin e mëparshëm funLimbStep për çdo gjymtyrë, duke treguar pozicionin e tyre në përputhje me algoritmin e ecjes.
    • Nëse specifikoni funLimbGait(1, x, 0, 50), ku x do të rritet nga 0 në 255, atëherë të gjitha gjymtyrët do të kryejnë veprime në të cilat QUADRUPED do të ecin përpara dhe drejt një hap të plotë, dhe gjymtyrët e tij do të kthehen në të njëjtin pozicion nga ku filloi hapi.
    • Nëse specifikoni funLimbGait(1, x, 0, 50), ku x do të ulet nga 255 në 0, atëherë të gjitha gjymtyrët do të kryejnë të njëjtat veprime, por në rend të kundërt. Prandaj, QUADRUPED do të kalojë në të njëjtin hap, por mbrapa.
    • Nëse specifikoni funLimbGait(0, x, 0, 50), ku x do të rritet nga 0 në 255, atëherë të gjitha gjymtyrët do të kryejnë veprime në të cilat QUADRUPED do të kryejë një kthesë djathtas një hap të plotë, dhe gjymtyrët e tij do të kthehen në filloi i njëjti pozicion nga i cili u bë kjo kthesë.
    • Argumentet e fundit dhe të parafundit kryejnë të njëjtat veprime si argumentet e funksionit funLimbStep të të njëjtit pozicion, përkatësisht, ata kryejnë një kthesë (rrotullim) dhe ngritje të trupit.
    • Ju mund të plotësoni funksionin funLimbGait duke krijuar opsionet tuaja të ecjes.
  • funLimbFree- dobësim i të gjitha kyçeve. Funksioni thirret pa parametra dhe çaktivizon servo-të. Servos do të ndizet në mënyrë të pavarur kur thirrni ndonjë funksion të kontrollit të kyçeve ose gjymtyrëve.
  • funLimbCent- vendosja e të gjitha nyjeve në një pozicion qendror. Funksioni thirret pa parametra dhe vendos nyjet e të gjitha gjymtyrëve në pozicionin e vendosur gjatë kalibrimit.
  • funWaitMaster- Ky funksion kontrollon nëse butoni i çiftimit është i shtypur. Nëse shtypet butoni, lidhja aktuale (nëse ka) me masterin do të ndërpritet, lista e çifteve do të pastrohet, moduli bluetooth do t'i caktohet roli skllav me emrin "QUADRUPED" dhe kodin PIN "1212". , pas së cilës do të presë që master të lidhet.

Marrja e të dhënave dhe puna me modulin Trema Bluetooth HC-05 kryhet përmes funksioneve dhe metodave të objektit objHC05 të bibliotekës iarduino_Bluetooth_HC05, një përshkrim i hollësishëm i të cilit mund të gjendet në faqen Wiki - moduli Trema bluetooth HC-05.

Kontrolli:

Menjëherë pas montimit, ngarkimit të skicës dhe futjes së energjisë në telekomandë dhe KATËR, nyjet e robotit do të dobësohen dhe ai nuk do t'i përgjigjet komandave nga telekomanda, pasi modulet Bluetooth kërkojnë çiftim. Çiftimi duhet të bëhet vetëm një herë; modulet bluetooth do të mbajnë mend çiftin e krijuar në memorien e tyre jo të paqëndrueshme dhe do të përpiqen të lidhen me njëri-tjetrin me çdo furnizim të mëpasshëm me energji.

  • Fikni telekomandën (nëse është dhënë), shtypni levë (sikur të ishte një buton) dhe ndizni telekomandën. Pas përfundimit të këtyre hapave, moduli bluetooth i telekomandës do t'i caktohet roli i masterit dhe ai do të fillojë të kërkojë një skllav me emrin "QUADRUPED" dhe kodin PIN "1212".
  • Lidheni energjinë me robotin (nëse nuk është furnizuar), shtypni dhe mbani butonin e çiftimit për të paktën 1 sekondë (mund të shtypet në çdo kohë). Pas shtypjes së butonit, modulit bluetooth të robotit do t'i caktohet roli skllav me emrin "QUADRUPED" dhe kodin PIN "1212" dhe do të presë që masteri të lidhet.
  • Për të ri-çiftuar (nëse është e nevojshme), duhet të ndiqni të njëjtat hapa si për telekomandën ashtu edhe për robotin.
  • Sapo të vendoset lidhja, nyjet e robotit do të "vijnë në jetë" dhe ai do të ndjekë komandat e telekomandës. Nëse fikni rrymën në telekomandë, nyjet e robotit do të dobësohen dhe do të kthehen në jetë kur t'i jepet rryma telekomandës.

Roboti kontrollohet nga telekomanda si më poshtë:

  • Nëse e anoni levën përpara, roboti do të ecë përpara dhe shpejtësia do të varet nga shkalla e devijimit të levës.
  • Nëse e ktheni levë mbrapa, roboti do të lëvizë prapa dhe shpejtësia do të varet nga shkalla e devijimit të levës.
  • Nëse e anoni levën përpara dhe majtas ose djathtas, roboti do të ecë përpara, duke u kthyer majtas ose djathtas. Shpejtësia do të varet nga shkalla e devijimit të levës përpara, dhe rrezja e kthesës do të varet nga shkalla e devijimit të levës majtas ose djathtas.
  • Nëse e anon levën mbrapa dhe majtas ose djathtas, atëherë roboti do të kthehet prapa, duke u kthyer majtas ose djathtas. Shpejtësia do të varet nga shkalla e devijimit të levës mbrapa, dhe rrezja e kthesës do të varet nga shkalla e devijimit të levës majtas ose djathtas.
  • Nëse e anoni levën majtas ose djathtas, por mos e anoni përpara ose prapa, roboti do të fillojë të kthehet në vend majtas ose djathtas dhe shpejtësia e kthesës do të varet nga shkalla e devijimit të levës .
  • Nëse shtypni levë (me ndezur), të gjitha nyjet e gjymtyrëve të robotit do të vendosen në pozicione qendrore.
  • Nëse e rrotulloni dorezën e potenciometrit në drejtim të akrepave të orës, trupi i robotit do të ngrihet, pavarësisht nga pozicioni i levës.
  • Nëse e rrotulloni pullën e potenciometrit në drejtim të kundërt të akrepave të orës, trupi i robotit do të ulet, pavarësisht nga pozicioni i levës.