robot arduino aar - produktinfo.conrad.com · arduino to płytka open source z 8-bitowym...

40
AAR © AREXX Engineering - V1401 INSTRUKCJE: AAR-04 ROBOT ARDUINO ®

Upload: hadieu

Post on 14-Sep-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

- 1 -

AAR

© AREXX Engineering - V1401

INSTRUKCJE: AAR-04

ROBOT ARDUINO

®

- 2 -

UWAGA!AAR to znak towarowy zastrzeżony.

Wszystkie prawa zastrzeżone.Każda reprodukcja lub adaptacja całości lub części podręcznika bez pisemnej zgody jest zabroniona.Specyfikacja, forma oraz wszystkie treści tego produktu mogą być zmienione bez wczesniejszego uprzedzenia.

Wsparcie techniczne dostępne na:

www.arexx.comwww.roboternetz.de

Producent:AREXX EngineeringZwolle, The Netherlands

© 2014 AREXX Engineering

1. OPIS PRODUKTU AAR 1.1 Rodzina robotów ARDUINO 5 1.2 Specyfikacja techniczna 52. OGÓLNY OPIS ARDUINO 73. ROBOT ARDUINO 12 3.1. Opis LED robota AAR 12 3.2.UkładpłytkiPCBrobotaAAR 134. ROBOT ARDUINO (AAR) 16 4.1. Pobranie i instalacja oprogramowania 16 4.2.JęzykArduino 16 4.3. Inslatacja sterownika USB 16 4.4Montażkoszykabateryjnego 17 4.5ProgramowaniezprogramamiArduino 18 4.6WybórprogramuArduino 18 4.7WybórpoprawnegoportuCOM 19 4.8WgrywanieprogramudoRobotaArduino 20 4.9Rozwiązywanieproblemów 21 4.10AutotestAAR 225.ModułyrozszerzająceAAR 236. Poboczne informacje na temat obwodów mostka H 277.Odometria 308.ProgramowaniewBoot-loader 33

DODATEK A. Lista elementów 35 B.GłównapłytkaPCB-rzutzgóry 37 C.GłównapłytkaPCB-rzutzdołu 38 D.SchematyAAR 39 E.3DPCBAAR 40

Contents

®

- 3 -

Impressum©2013AREXXEngineeringNervistraat 16 8013RSZwolle The Netherlands

Tel.:+31(0)384542028 Fax.:+31(0)384524482

E-Mail:[email protected]

Wszystkieprawazastrzeżone.Każdareprodukcjalubadaptacjacałościlubczęścipodręcznikawymagapisemnejzgody.

Specyfikacjaproduktuorazdostarczanetreścimogąpodlegaćzmianom.Treśćpodręcznikamożeuleczmianiebezwcześniejszegouprzedzenia.

Darmoweaktualizacjepodręcznikamożnaznaleźćna:

http://www.arexx.com/

“AARandAREXX”toznakitowarowezastrzeżoneprzezAREXXEngineering.Wszystkieinneznakitowarowenależądoichwłaściciela.Nieponosimyodpowiedzialnościzatreścizawartenazewnętrznychstronachinternetowychwspomnianychwtympodręczniku!

Informacjedotycząceograniczonejgwarancjiorazodpowiedzialności GwarancjaudzielonaprzezAREXXEngineeringograniczasiędozamianylubnaprawyRa-mieniaRobotaorazjegoelementówwokresietrwaniagwarancjijeśliusterkadotyczywadprodukcyjnych:brakelementówelektronicznych,wadliwelubnieprawidłowozamontowane elementy mechaniczne itp.Gwarancjanietyczysiębezpośredniouszkodzonychelementówpodczasużytkowania.Takiezałożeniewykluczawszelkieroszczenia,którepodlegająodpowiedzialnościprawnej.

Gwarancjanieobejmujeelementówrobotalubakcesoriówrobota,którezostałytrwalezmienione,np.przylutowanieinnych,zewnętrznychelementów,wywierceniedziursamodzielnieitd.Nieobejmujerównieżuszkodzeńdokonanychpoprzezbrakwiedzylubignorowanieostrzeżeńzawartychwpodręczniku!

Gwarancjatraciważność,jeśliużytkowniknieprzestrzegazasadzpodręcznika!AREXXEngineeringnieponosiodpowiedzialnościzaszkodypowstałewskuteknieprawidłowegoużytkowanianiezgodnegozinstrukcjamizawartymiwpodręczniku.Należystosowaćsiędowszystkiego,cozawierasekcja“Zaleceniadotyczącebezpieczeństwa”.

ProszęzwrócićuwagęnaumowylicencyjneoprogramowanianaCD-ROM!

WAŻNE!Przedpierwszymużyciemramieniarobotacałkowiciezapoznajsięztreściąpodręcznika!Wpodręcznikuzawartesąinformacjenatematodpowiedniegosposobuużyciaorazpotencjalnychzagrożeń!Ponadto,zawierainformacje,któremogąbyćnieoczywistedlawszystkichużytkowników.

Ważnezaleceniadotyczącebezpieczeństwa

Ramięrobotajestzaopatrzonewwysoceczułeczęści.Elementyelektronicznesąwrażliwenawyładowanieelektrostatyczne.Elementypodnośdelikatniezabokiwbezpiecznychmie-jscach.UnikajbezpośredniegokontaktuzelementaminapłytcePCB.Nigdynieprzeciążajsilników.

- 4 -

Symbole

Wpodręcznikuużytonastępującychsymboli:

“Uwaga!” Używany, aby ostrzec lub zwrócić uwagę na ważne szczegóły. Zignorowanie ostrzeżeń może skutkować uszkod-zeniem robota i/lub jego części oraz może być szkodliwe dla twojego zdrowia lub zdrowia innych osób!

“Informacja” Symbol wskazuje użyteczne wskazówki lub in-formacje uzupełniające. Podążanie za wskazówkami nie jest konieczne, ale może ułatwić pracę.

Zaleceniadotyczącebezpieczeństwa

-Sprawdźpolaryzacjębateriiiźródłazasilania.-Unikajwilgoci.Jeślinastąpikontaktproduktuzwodą,należyusunąćbaterielubodłączyćukładodzasilania.-Jeślirobotjestnieużywanyprzezdłuższyczas,odłączgoodzasilania.-Sprawdźrobotijegokableprzedużyciem-topomożeuniknąćawarii.-Jeśliuważasz,żepracazurządzeniemniejestjużbezpieczna,odłączjeiupewnijsię,żeniezostanienieświadomieużyte.-Gdyniejesteśpewienfunkcji,bezpieczeństwalubpołączeniaelementu,skonsultujsięzespecjalistą.-Niepodejmujpracyzurządzeniemwniekorzystnychmiejscachlubwarunkach.-Nieprzeciążajserwomechanizmów.-Urządzeniezawierawysoceczułekomponenty,np.elementyelektronicznesąwrażliwenawyładowanieelektrostatyczne.Elementypodnośdelikatniezabokiwbezpiecznychmiejscach.UnikajbezpośredniegokontaktuzelementaminapłytcePCB.

Użytkowanie

Niniejszyprojektzostałstworzonydocelóweksperymentalnychdlakażdegozaintereso-wanegorobotyką.GłównymzadaniemjestnaukaprogramowaniaurządzeniawjęzykuC.Produktniejestzabawką;niejestprzeznaczonydladzieciponiżej14rokużycia!

Daneramięrobotaniejestrównieżrobotemprzemysłowymzapewniającymdokładnyprzemysłowyopisorazwydajność!

Robotmożebyćużytyjedyniewewnątrzbudynku.Produktniemożezostaćzmoczonylubpoddanydziałaniujakiejkolwiekwilgci.Unikajskraplaniawodynaelementach:zachowajostrożnośćpowniesieniurobotazzimnegomiejsca.Pozwólelementomdostosowaćsiędonowegośrodowiskaiodczekajpewienczaszanimrozpocznieszużywanie.

Nieprzestrzeganiepowyższychzaleceńmożedoprowadzićdouszkodzeniaproduktuimożewpłynąćnapowstaniedodatkowychzagrożeńtakichjakzwarcie,ogień,porażenieprądemitd.

Należydokładniezapoznaćsięztreściątegopodręcznika.

- 5 -

1.OPISPRODUKTUAAR1.1.RodzinarobotówARDUINO

Arduinotoplatformaopensourcestworzonadobudowaniaprototypówelektronicznych.Umożliwiatomikrokontroler,któryzawierawszystkiedodatkoweinterfejsyorazpotrzebnedotegoceluoprogramowanie.

KonceptArduinozostałzaprojektowanyabyuczyćnowoczesnejelektronikidlarobotyki,sterowanieoprogramowaniemorazczujnikówwnajprostszymożliwysposób.

JakonastępcęrobotaASURO,którymożnaprogramowaćwjęzykuC,zaprojektowaliśmyrobotaArduino.Nowyrobotprzypominaswo-jegopoprzednika,jednakróżnijesposóbprogramowania,którywprzypadkuukładuArduinojestznacznieprostsze.

1.2. Specyfikacja techniczna:

Silniki 2 silniki DC (3 Volt)Procesor ATmega328P-AUJęzyk programowania ARDUINONapięcie zasilające 4 x baterie typu AAA 4,8 - 5,5 VoltPrąd zasilający Min. 10 mA Max. 600 mASposób komunikacji kabel USBRozszerzenia kompatybilne z rozszerzeniami ASUROWysokość 40 mmSzerokość 120 mmDługość 180 mm

* Prawo do zwrotu przemija w momencie otwarcia plastikowych opakowań elementów.* Przeczytaj uważnie podręcznik zanim zamontujesz wszystkie elementy.* Zachowaj ostrożność podczas pracy z narzędziami. * Nie montuj robota w obecności małych dzieci. Może stać im się krzywda .* Sprawdź, czy baterie zostały umieszczone poprawnie.* Upewnij się, że koszyk bateryjny jest zawsze suchy. Jeśli robot zostanie zamoczony, usuń baterie i bardzo delikatnie osusz elementy.

* Wyjmij baterie jeśli Robot nie będzie używany dłużej niż tydzień.

Ostrzeżenia

- 6 -

1.3.Środkiostrożności

1. Uwaga! Należyprzeczytaćtenpodręcznikprzedpodłączeniemrobotadozasilania!Niepoprawnepodłączeniemożetrwaleuszkodzićcałysprzętlubjegoczęść.

2. Uwaga!Należyobejrzećdokładniewszystkieschematypołączeń!Bądźostrożnywpodłączeniachschematów.Błądwpołączeniachmożeuszkodzićmoduły.Pamiętajopoprawnejpolaryzacjibaterii(źródłazasilania).Odwrotniepodłączonezasilanietakżemożeuszkodzićsprzęt.

3. Uwaga! Nienależyużywaćnapięciazasilającegowyższegoniżpodanenapoprzedniejstroniewartości!Używajtylkoustabilizowanegoiprzefiltrowanegonapięciazasilającego,abyuniknąćprzepięć.

4.Uwaga! Układnieposiadażadnejochronywodoodpornej.Należyużywaćukładutylkowsuchymśrodowisku.

5. Uwaga! Należyunikaćzwarcianajakiejkolwiekmetalowejpowierzchniorazużywanianadmiernejsiłyorazwaginapłytcelubwtykach.

6. Uwaga! Należyunikaćwyładowańelektrostatycznych(ESD-zang. Electrostatic Discharge).

- 7 -

2.OgólnyopisARDUINO2.1. CzymikimjestARDUINO?

Arduinotopłytkaopensourcez8-bitowymmikroprocesorem,któraumożliwiałatweprogramowaniemikrokontroleraorazpracęnadprojektamizobiektamiinteraktywnymidlaarytstów,projektantów,hobbystów i innych.

PlatformaArduinoopartajestnamikrokontrolerachfirmyAtmel-ATmega168lubATmega328.Układzapewniaużytkownikomkanaływejśćanalogowychorazcyfrowych,którepozwalająnaotrzymanieiwysłaniesygnałuz/dośrodowiska.

NarynkudostępnychjestkilkapłytekArduinotakichjak:ArduinoUno,ArduinoLilyPadiArduinoMega2560.Każdaznichzostałazaprojektowanadoinnychcelów.Użytkowniksammożewybraćpłytkędopasowanądoswojegoprojektu.

Sygnaływejściowemogąbyćdoprowadzanepoprzezprzełączniki,czujnikiświatła,czujnikiprędkościiprzyspieszenia,czujnikiodległościoraztemperatury.Dodatkowo,jestmożłiwośćotrzymaniainstrukcjizdowolnegoźródłainternetowego.Syngaływyjściowemogąbyćużytedosterowaniasilnikami,pompamiczyteżinformacjaminaekranach.

Układzostałwyposażonywkompilerdlajęzykówprogramowaniawedługstandardóworazwboot-loader.Językprogramowaniazostałopartynatzw.wiringlanguage,któryprzypominajęzykC++.

ProjektArduinorozpoczętyzostałwroku2005wmieścieIvrea,weWłoszech.Głównymcelemprojektubyłowsparciestudentówwichprojektach,gdzieprototypypowinnybyćdużotańszeirówniewydajnejakwiększośćstandardowychmetod.

GrupapodopiekąMassimoBanziiDavidaCuartielleszdecydowałasięnazwaćprojektpohistorycznymcharakterze‘ArduinazIvrei’.“Arduino”towłoskawersjategoimienia.

- 8 -

2.2Mikrokontrolery

2.2.1.AplikacjeMikrokontroler(oznaczanyczęstojakoµC,uClubMCU)tomałykomputerwmałymukładziescalonym,któryzawierardzeńprocesora,pamięćorazprogramowalnewejścia/wyjście(I/O).Dodatkowowukładzieznajdujesiępamięćprogramuorazniewielkailośćpamięcidanych(RAM).

Mikrokontrolerystosujesięwurządzeniachsterowanychautomatycznie,np.samochodowesystemysterowaniasilnikiem,piloty,urządzeniabiurowe,implantymedyczne,zabawkiiinne.Dziękimikrokontroleromdochodzidominimalizacjirozmiaruorazkosztówprojektówwporównaniudourządzeń,któreużywająosobnegomikroprocesora,pamięciorazwejść/wyjść.Dziękimikrokontroleromdążysiędotego,żetworzenieurządzeńjestbardziejekonomiczne,ponieważmożeonsterowaćcyfrowodużąilościąurządzeńorazprocesów.

Wrozwiniętymkrajujestbardzoprawdopodobne,żetypowydomposiadakilkumikroprocesorówogólnegoużyciaorazwielemikrokontrolerów.Typoweautośredniejklasymatrzydzieścilubwięcejmikrokontrolerów.Możnajerównieżznaleźćwwieluurządzeniachelektronicznych,np.zmywarkidonaczyń,mikrofalówkiczy telefony.

- 9 -

2.3. Pobórmocyorazprędkość

Niektóremikrokontrolerymogąpracowaćwniskichczęstotliwościachzegara(np.4kHz)wcelupoborumałejmocy(rzędumilliwatówlubmikrowatów).Będąmogłyutrzymaćfunkcjonalnośćwmomencieoczekiwanianawydarzenie,np.naciśnięcieprzycisku;pobórmocywstanieuśpienia(zegarprocesoraiinneurządzeniasąwyłączone)możebyćnawetwnanowatach,coumożliwiaoszczędnośćbaterii.

Innemikrokontrolerymogązachowywaćsięjakcyfrowyprzetworniksygnałów,jednakwtymprzypadkupodórmocyznaczniewzrasta,ponieważwymagająonewiększejczęstotliwościzegara.

SwojezastosowaniewukładzieArduinoma8-bitowymikrokontrolerAtmelATmega328Poczęstotliwości16MHz,zwbudowanąprogramowalną32-kilobajtowąpamięciąflash.Napięciezasilającedlategomikrokontrolerazostałozaprojektowanedośćogólnie,tzn.wzakresieDC7-12V,któryzapewniastabilneibezpiecznewarunkidlachipuorazizolowaneliniemocyażdo2Adlazespołuobwodówelektrycznych silników.

2.4Programymikrokontrolera

Programymikrokontroleramusząmieścićsięwdostępnejpamięciprogramowejnachipie,ponieważdodatkowapamięćzewnętrznabyłabykosztowna.Kompileryiassemblery(programytłumaczącekodprogramuna“językkomputera”)sąużywanedokonwertowaniajęzykawysokiegopoziomunakodmaszynowydozasobupamięcimikrokontrolera.Wzależnościodurządzenia,pamięćprogramumożebyćstała,tylkodoodczytu,któramożezostaćzapełnionajedynieraz,fabrycznielubpamięćprogramumożebyćprogramowalnaprzezużytkownikalubteżtylkodoodczytu,aledającasięwymazać.

- 10 -

Mikrokontrolerynapoczątkubyłyprogramowanetylkowjęzykuassemblera,alewielerodzajówprogramowalnychjęzykamiwysokiegopoziomustałysięterazgłównymcelemuC.Tejęzykizostałyzaprojektowanespecjalniedowykorzystaniaogólnego,np.językC.Sprzedawcymikrokontrolerówzazwyczajtworząnarzędziaogólniedostępne,abyumożliwićłatwiejszezastosowanieichsprżętu.

UkładArduinozapewnianamokoło32kilobajtówpamięciflashnaprogramy,któremogąbyćprogramowanewjęzykuC.

2.5. Architekturainterfejsu

Mikrokontroleryzazwyczajzawierająodkilkudokilkudziesięciuuniwersalnychpinówwejścia/wyjścia(GPIO-generalpurposeinput/output).PinyGPIOmożnakonfigurowaćprogramującje,abybyływejściamilubwyjściami.JeślipinyGPIOzostająokreślonejakopinywejściowe,mogąbyćużywanedooczytywaniesygnałówzzewnątrz,np.zczujników.Skonfigurowanejakowyjściamogąsterowaćzewnętrznymiurządzeniami,np.diodamielektroluminescencyjymilubsilnikami.

Wielesystemówwbudowanychodczytujedanezczujników,którewytwarzająsygnałyanalogowe.Wtymmiejscuswojezastosowanieznajdująprzetwornikianalogowo-cyfrowe(ADC).Odkądstworzonoprocesorymożliwejestinterpretowanieiprzetwarzaniedanychwpostacicyfrowej.Przedtemnicniedałosięzrobićzwysłanymiprzezurządzeniadanymianalogowymi.ZatemkonwerteryADCsąużywanedokonwersjiprzychodzącychdanychdopostaci,któreprocesorjestwstanierozpoznać.MniejpopularnąopcjąwniektórychuCsąkonwerterycyfrowo-analogowe(DAC),którepozwalająprocesorowiwysłaćanalogowesygnałylubpoziomnapięcia.

- 11 -

Dodatkowo,wwielumikropocesorachznajdująsięróżnerodzajetimerów.Jednymznajbardziejznanychtypówtimerówsątzw.PIT(z ang. Programmable Interval Timer). Ten rodzaj timerów liczy odpewnejwartoścido0ikiedyjeosiągniewysyładoprocesorainformacjęozakończeniuliczenia.Jesttoprzydatnewurządzeniachtakichjaktermostaty,którecykliczniesprawdzajątemperaturęotoczenia,abysprawdzić,czynależywłączyćklimatyzacjęczygrzejnik.

UniversalAsynchronousReceiver/Transmitter(UART)umożliwiawysyłanieiodbieraniedanychzapomocątylkojednejlinii,conieobciążamocnoprocesora.Sprzętnachipierównieżprzeznaczonyzostałdokomunikacjizinnymiurządzeniami(chipami)wformiecyfrowej,np.magistralaI2CorazSPI(SerialPeripheralInterface).

UkładArduinozapewnianamaż14cyfrowychliniiwejść/wyjść(I/O)oraz7liniiwejść/wyjśćanalogowych.

- 12 -

3. ROBOT ARDUINO

3.1OPISLEDROBOTAAAR

LED1. Czerwona Czujniklinii(naspodzie)LED 2. Niebieska Dowolnie programowanaLED3. Czerwona USBDATALED4. Zielona USBDATALED 5. Niebieska Dioda zasilaniaLED6. IR Diodapodczerwona,sensorlewegokołaLED 7. NA NALED8. Czerwona Wskaźniksilnika:wlewo,wprzódLED9. Czerwona Wskaźniksilnika:wlewo,wtyłLED10. Czerwona Wskaźniksilnika:wprawo,wtyłLED11. Czerwona Wskaźniksilnika:wprawo,wprzódLED12. Zielona liniaTX(wysyłanie)LED13. Czerwona liniaRX(odbieranie)LED 14. Niebieska Dowolnie programowanaLED 15. NA NALED16. Czerwona CzujnikimpulsuprawegokołaLED17. Czerwona CzujnikimpulsulewegokołaLED18. IR Diodapodczerwona,sensorprawegokoła

LED 14 Miga jedynie z bootloaderemLED14WyłączonabezbootloaderaLED14migakrótkopowłączeniuzasilania,kiedyprogramjestzaładowany.

Rys.: Płytka PCB AAR

- 13 -

3.2UKŁADPŁYTKIPCBROBOTAAAR

ZobacznumerynaRys.:PłytkaPCBAAR

1. Wejścienakoszykbateryjny. (Uważajprzypodłączaniu!Sprawdźczypolaryzacjajestpoprawna!)2. PrzełącznikOn/OffRobota.3. Diodastatusu:sygnalizujeczyRobotzostałzasilonyzeźródła.4. Jeśliużywaszbateriiwielokrotnegoładowaniamożeszpodłączyćto podwójnewejście,któryzasilirobotapoprawnie.5. PodłączenieUSB:abyprogramowaćrobotazapomocą oprogramowaniaArduino.6. PrzyciskReset:abyręczniezresetowaćrobota.7. PodłączenieISP:umożliwiazainstalowanieinnegoprogramu bootloader.8. LED14:dostępnydocelówprogramistycznych,jeślizamiga,oznacza to,żebootloaderzostałuruchomiony.9. Linefollower:tenmodułjestdotwojejdyspozycjiprogramistycznej, ponieważpozwolirobotowipodążaćzalinią.10. Czujnikkołalewego:tenmodułgenerujeimpulsyzgodnieztym jakobracasięlewekoło.11. Czujnikkołaprawego:tenmodułgenerujeimpulsyzgodnieztym jakobracasięprawekoło.12. Diodystatusudlalewegosilnika:Tediodywskazujączysilnikobraca siędoprzodu.13. Diodystatusudlaprawegosilnika:Tediodywskazujączysilnik obracasiędotyłu.14. Miejscenarozszerzenia,gdzie,np.modułybezprzewodowemogąbyć przyłączonedoukładuArduino.15. DiodystatusudlainterfejsuszeregowegoRS232.16. Diodastatusu2:tędiodęmożnadowolnieprogramować.17. DiodystatusudlakomunikacjidanychUSB.18. Kontrolasilnika.

Na CD zawarty jest program autotestu AAR o nazwie AAR_SelftestV3. Za jego pomocą możesz testować podstawowe funkcje robota ARR.

Użyj programu do monitoringu w twoim Arduino Software, nie zapomnij o instalacji bibliotek - zobacz na stronie 22.

- 14 -

3.3 AAR-DODATKOWEINFORMACJE

DostępnyjestinterfejsfizycznydopodłączeniaUSBwrazzchipemFT232IC.ChiptenprzekształcasygnałzUSBnasygnałRS232UART,którypóźniejmożebyćjużprzetworzonyprzezprocesorATMEGA328P(znajdującysiępoprawejstronienaprzodzie).PodrugiejstronieumieściliśmyprzełącznikON/OFF,któryzawierazłączeJP3potrzebnedopodłączeniazasilaniaorazkontrolersilnikaIC2.Tylnaczęśćpłytkidrukowanej(PCB)zawieraobasilnikiorazczujnikikół.Czujnikiprzykołachtoczujnikifotoelektryczne.Wzębatkachkółco90°umieszczonezostałyotwory,czylinazębatcesączterytakiedziury.Wmomencie,gdyświatłodostajesięprzezotwórdoczujnika,wysłanazostajedoprocesoraotyminformacjawpostaciimpulsu.Dodatkowoobwodyelektrycznewłączajądiody16i17.Wysyłaneimpulsypozwalająnamkontrolowaćprędkośćkażdegoztylnychkółnapędowych.Naprzodzieznajdująsiętakżezłączadlaróżnychrozszerzeń,anaspodziepłytkiPCBmożnaznaleźćczujnikinapotrzebyobwodulinefollowera,czylirobotamobilnegopodążającegozatoremokreślonymprzezlinię.Robottypulinefollowerużywadiody,któraemitujewiązkęświatłanajegospodzie.Tuobokdiodyznajdująsiędwaczujnikipodczerwieniabymonitorowaćodbiteświatłozespodu.PłytkaPCBzawieraelementy(diodyelektroluminescencyjne,rezystoryikondensatory),którerazemdopełniajądziałaniemodułu,którypóźniejmożnanazwaćlinefollowerem.RobotużywaukładuArduino,którymożebyćporównanyzpłytkąArduinoDuemilanove.MikrokontrolerATMEGA328Pjestrdzeniemukładu,którymaaż14cyfrowychportówwejścia/wyjścia(I/O),wśródktórychsześćmożnakonfigurowaćjakowyjściowekanałyPWM(zang.Pulse-Width-Modulated).Dodatkoworobotzawierajeszczesześćanalogowychkanałówwyjściowych,oscylatorkryształowy16MHzorazzłączeUSBdoprogramowaniaisterowania.KolejnymelementemjestzłączeISP,któreumożliwiadoświadczonymhobbystomprogramowaniewłasnegoprogramubootloadera.Robotzaprojektowanonanapięciezasilające5Vimożebyćteżzasilany z wtyczki USB. Ta opcja jest wygodniejsza do testów oraz programowania.Bardzowygodnąfunkcjąprojektutegorobotasąwtyki,któreumożliwiającidodawanietwoichwłasnychmodułówrozszerzeńseriimodułówrozszerzeńASURO.

- 15 -

3.4 OPROGRAMOWANIEARDUINO-DODATKOWE INFORMACJE

OprogramowanieArduinotokategoriaoprogramowaniaopensource,którejestdostępneuniwersalniedowszystkiego,np.kodyźródłowesąujawnionedowszystkichplatformprogramistycznych.

PlatformaprogramistycznaArduinozostałazaopatrzonawedytortekstu,oknopowiadomieńorazkonsolę.PlatformamożekomunikowaćsiębezpośredniozAAR,copozwalanałatweprzesyłanieprogramówdoprocesora.ProgramynapisanewjęzykuArduinonazywanesą„sketch”(zang.szkice).Zwykłyedytortekstusłużydorozbudowaniaiedytowaniatychprogramów.Pliki„sketch”zapisująsięnadyskutwardymkomputera.Sąonerozpoznawalnepoprzezrozszerzenie„.ino”.Zapisywanedziałaniaplików„sketch”sąwyświetlanewokniepowiadomień,wktórymrównieżpojawiająsiębłędywykrytewkodzieźródłowym.WprawymdolnymroguoknaznajdująsięobecnieaktywnepłytkiArduinoorazinterfejsszeregowy.PodstawowapłytkaArduinodostarczabibliotekizdodatkowąfunkcjonalnością.Bibliotekadefiniujefunkcje,któremogązostaćużytepodczaspisaniaprogramubezkonsumpcjidodatkowegomiejsca,anidodatkowegonakładupracyprogramisty.

ProgramArduinomożnapodzielićnatrzysekcje:• struktura,• dyrektywy(dlazmiennychstałych),• funkcje. StrukturaArduinoskładasięzsetup()orazfunkcjiloop().Częśćsetupsłużydoinicjalizacjizmiennych,definicjipinów(„Pin-Modes“)orazdefinicjiużytychbibliotek.

FunkcjaLooppowtarzanabędziewnieskończonejpętli,którapozwalaprogramowiwykonywaćsięnieprzerwanie,dopókiukładniezostanieodłączony.

Wprogramieużywasięzmiennych,abyprzechowywaćwnichdaneedytowalne,podczasgdywartościstałepozostająniezmienneizapisujesięwnich,np.funkcjonalnośćpinówI/O.

- 16 -

4.ROZPOCZĘCIEPRACY

4.1.Pobranieiinstalacjaoprogramowania

Zainstalujwersję1oprogramowaniaArduinozpłyty.PóźniejmożeszpobraćnajnowsząwersjęoprogramowaniazestronyArduino.

WAŻNE:UżycieróżnychwersjioprogramowaniaArduinoiróżnychwersjiaplikacjimożestworzyćpewneproblemy.Bywa,żedlaaktualnejwersjioprogramowanianależyteżzmienićaplikacje,bobeztegomożeniezadziałać!

4.2.JęzykArduinoStrukturajęzykaArduinojestdokładnieopisananaoficjalnejstronieArduino.Nauczsięrozumiećcharakterystycznepunktyjęzykadopoziomu,któryjesttobiepotrzebnydopracy.

4.3InstalacjasterownikaUSBKiedypodłączyszpłytkę,Windowspowinienrozpoznaćnoweurządzenieirozpocząćinstalacjęsterownika(jeślinigdywcześniejnieużywałeśnatymkomputerzeArduino).NawersjachWin-dowsVistaipóźniejszych,sterownikpowiniensamsiępobraćizainstalować. WybierzurządzenieszeregowezmenuNarzędzia>Portyszeregowe.BędzietozapewneportCOM3lubwyższy(COM1orazCOM2sązazwyczajzarezerwowanedlasprzętu).

AbytosprawdzićmożeszodłączyćpłytkęArduinoiotworzyćmenuponownie:port,któryzniknie,towłaśnieten,podktóryprzypisanejestArduino.Podłączpłytkęiwybierzportszeregowy.

- 17 -

4.4MontażbateriiProjektrobotawymagaczterechbaterii“paluszków”,każdapo1,5V.Jeśliwoliszużyćbateriiwielokrotnegoładowania,należyzamontowaćzworkęJP4jakomostek,abyprzygotowaćsystemnaniższezasilanieztychbaterii(zobaczRys.1,numer4).

UWAGA!MontażzworkiJP4możewpłynąćnapolaryzacjębaterii.Sprawdź,czywszystkozostałoumieszczonepoprawnie.Dlabezpieczeństwaumieszczonazostałatamteżdiodaprostownicza.Bądźostrożny!BłędywpodłączeniuzasilaniazapomocązworkiJP4mogąpoważnieuszkodzićrobota.

Koszykbateryjnyzamontujjakponiżej(Rys.2).

Rys. 2:Montaż baterii.

TerazmożeszwłączyćrobotazapomocąprzełącznikaON/OFF.Leżącawpobliżuprzełącznikadiodazasilania(LED5)powinnasięzaświecić.

- 18 -

4.5ProgramowaniezprogramamiArduino

PodłączrobotdokomputerazapomocąkablaUSB.JeśliukładArduinojestpodłączonydoportuUSB,robotniepotrzebujebaterii-czerpiezasilaniezkomputera.

UWAGA:Robotzawszebędziesięaktywowałjaktylkopodłączonyzostaniedokomputera.PrzełącznikON/OFForazdiodazasilaniaLED5będąaktywnetylkowprzypadkuoperacjiwykonanychzbaterią.

TerazotwórzoprogramowanieArduino(zobaczRys.3a).

Rys.3aOprogramowanieArduino.Rys.3bOtwieraniepustegoprogramu 4.6WybórprogramuArduino

Zaczniemyodzaładowaniadorobotaprostegoprogramupróbnegonazwanego„blink”.Programsprawi,żedioda1(LED1)zapalisięwielokrotnie. Załadujprogrampoprzezwyszukanieikliknięcieprogramuwmenuoprogramowania: File>Examples>1.Basics>Blink(zobaczRys.3b),którypokliknięciuwyświetlisięwoknie(Rys.4a).

- 19 -

Rys.4aProgramBlink. Rys.4bWybórpłytki.

NatymetapienależyjeszczewybraźodpowiedniąpłytkęArduinowmenu:Tools>Board>ArduinoDuemilanoveLUBNanow/Atmega328(jaknaRys.4b).

4.7WybórpoprawnegoportuCOMWnastępnymkrokunależyzdefiniowaćpoprawnyportCOMdlainterfejsuArduino.BędzietozapewneCOM3lubwyższy(COM1iCOM2sąjużwużyciu). AbywybraćportCOMotwórzmenu:Tools>SerialPort>COM x.(zobacz Rys. 5)

Rys.5WybórpoprawnegoportuCOM.

- 20 -

4.8WgrywanieprogramudoRobotaArduino

Kliknijprzycisk,któryzaznaczonyzostałczerwonąstrzałką(lubzamienniewybierzzmenu:„File>UploadingtoI/Oboard“),abywgraćwybranyprogramdopodłączonegorobotaArduino(Rys.6a).

Oknostatusunabieżącowyświetlajakprzebiegaproceskompilacjiprogramuigdyzakończysięonzsukcesem,rozpoczniesięprzesyłanieprogramudoukładu.Nakoniecwgrywaniaprogramuwokniepojawisiękomunikat:„Doneuploading“(jaknaRys.6b),atakżedioda12(LED12)zaświecisiękrótko.

Rys.6a)Wgrywanieprogramu. Rys.6b)Skończonewgrywanie.

Teraz możesz usunąć kabel USB, aby odłączyć go odkomputera. Podłącz baterię i włącz robota.

Abyzaczerpnąćdalszychinformacjiorazpobraćinneproduktyodwiedźjednozforumnastronach:

www.arexxx.com www.roboternetz.de

- 21 -

4.9Rozwiązywanieproblemów

NAJPIERW sprawdź czy robot otrzymuje wystarczającozasilania z portu USB. Da się to sprawdzić usuwając bateriei zamykając zworkę JP4 - powinna zapalić się dioda zasilania.

PROBLEM;niemapołączeniazrobotemAAR.

Sprawdźczydiody3i4migająkrótkokiedypodłączaszrobotdokomputerakablemUSB.

Czyrobotjestpodłączonyzkomputeremsprawdźwmanagerzeurządzeń(panelsterowania).

Rys.6c)Managerurządzeń(nazrzucieekranuduńskawersjaWIN7).

Port Robot FTDI jest zwyklepokazany w sekcji portów jako “USBSERIALPORT”.

SprawdźczystarownikdlapoprawnegoFTDIzostałzainstalowany.

Tojestwłaśnienajczęstszyproblem.PobierzizainstalujnajnowsząwersjęsterownikaFTDInakomputer.

PROBLEM;niedasięwgraćpliku.INOdorobota.

SprawdźczywybranyzostałodpowieniportCOM.BędzietoportróżnyodCOM1iCOM3.

SprawdźczywybrałeśodpowiedniityppłytkiArduinozATmega328.

Sprawdźczypliksketchposiadazainstalowanewszystkieniezbędnebiblioteki.WejdźwMenu entry “sketch-->Library --> (zobacz na stronie 22).

- 22 -

4.10 AutotestAAR

ZpłytyCDotwórzprogramAAR_selftestiwgrajplik.inodorobotaAAR.AbywgraćwybranyprogramdopodłączonegorobotaArduinokliknijopcję,któranaRys.7zostałaoznaczonaczerwonąstrzałką(lubzamienniewejdźwmenu“File>UploadingtoI/O”board).

Ładowanie bibliotek Ładowaniebibliotekwykonujesiępoprzezmenu“sketch”>“Library”>SoftPWM oraz TimerOnezCD(przykłady).

Rys.7Wgrywanieprogramu. Rys.8Serialmonitor.

OtwórzserialmonitortakjakpokazanonaRys.8.

Pilnuj,bypołączeniezrobotemkablemUSBniezostałoprzerwane!Upewnijsię,żebateriesąnamiejscuisąnaładowane.WłączzasilanierobotaprzełącznikiemON/OFF.

Rozpocznijpierwszytestipodążajzakrokamiwserialmonitor.

serial monitor

SV1

Rys.6d)biblioteki

Otwórzbiblioteki(wersjaduńska)

- 23 -

5 MODUŁYROZSZERZAJĄCEAAR

5.1 ModułyrozszerzająceASUROdlaRobotaArduino

RobotAREXXArduinoposiadawieleróżnychpołączeńdlamodułówrozszerzających.PinyzłączyAARsąrównieżzgodnezrobotemAREXXASURO(zestawprogramowalnywjęzykuC).Oznaczato,żemożnaużywaćtychsamychrozszerzeńzarównodozestawuAREXXASURO,jakrównieżidoninejszegorobotaArduino.

NapłycieznajdujesiękilkaprzykładowychprogramówArduino,abyśmógłrozpocząćpracęzrozszerzeniamiodrazu.

RobotASUROrównieżposiadaogólnyzestawdoeksperymentowania(ARX-EXP2),któregomożnaużywaćdotwoichwłasnychrozszerzeńArduino.

PoniżejznajdujesięrozkładPINówzłączyzestawurozszerzeńAAR.NapłytcezłączatesąoznaczoneSV8,SV9orazSV10.

ARX-EXP2 AREXXPŁYTKADOEKSPERYMENTÓW

1. D82. D43. A34. GND5. VCC6. A27. TXD8. RXD

SV1 SV8,SV9orazSV10 SV2

1. SET2. AUX3. TXD4. RXD5. EN6. VCC7. GND

1. SCK/PB52. SCL/ ADC5/PC53. WS_RIGHT/INT0/PD24. RGND5. PWM1_L/AIN0/OC0A/PD66. MOSI/OSC2A/PB37. MISO/PB48. SDA/ ADC4/PC4

Czerwonakropkatopin1Rys.9. Stykidlarozszerzeń

- 24 -

5.2 KonfiguracjerozszerzeńASURO

ARX-ULT10 AREXX ULTRA SOUND KIT

UżyjprzykładowegoprogramuArduinoAAR_ULTRA zCD.Ztymprogramemrobotcofasię,gdynapotkaprzeszkodę.

ARX-SNK20 AREXXSNAKEVISION(PYRO)KIT

UżyjprzykładowegoprogramuArduinoAAR_SNAKEzCD.

Ztymprogramemrobotbędziepodążałzaciepłymobiektem.

ARX-DSP30 AREXX DISPLAY KIT

UżyjprzykładowegoprogramuArduinoAAR_DISPLAYzCD.

Ztymprogramemnawyświetlaczupokazujesiętekst,aprzyciskimożnadowolniezaprogramować.

- 25 -

ARX-MNSP55 AREXX MINE SWEEPER KIT

UżyjprzykładowegoprogramuArduinoAAR_MINEzCD.

Ztymprogramemrobotbędziewykrywałmetal.

ARX-APC220 AREXX WIRELESS KIT

ZobaczprogramAAR_APC220spośródprzykładowychplikównaCD.

UżyjprzykładowegoprogramuArduinoAAR_SRC.

PotrzebnybędzieteżprogramVisualBasicnakomputerze(AAR_VB).

ZzestawemAREXXARX-APC-220możnasterowaćrobotemAAR bezprzewodowo.

Poniżejopisanezostało,jaktodziała:-PodłączRP6v2USBProgrammerorazAPC-220dokomputera.-PodłączinnyAPCdorobotaAAR(środkowezłącze).-ZaładujdaneAAR_SRC do procesora robota AAR.-ZainstalujoprogramowanieAAR_VBnakomputerze.-WybierzodpowiedniportCOMwoprogramowaniuAAR-VB.

RP6v2USBProgrammerzAPC-220

- 26 -

ANDROID–PROGRAM

ARX-BT3 AREXX BLUETOOTH KIT

ZestawARX-BT03umożliwiacisterowanierobotaAARpoprzezBluetoothiaplikacjęnaANDROID.

Otwórz plik AAR_AndroidappzpłytyizainstalujaplikacjęBLUETOOTH_AAR.APKnaswoimurządzeniu.ZtegosamegoplikuzainstalujplikAAR_SRC_BluetoothnarobocieAAR.

Podążajzainstrukcjamiponiżej:- PodłączmodułBluetoothdopłytkiPCBrobota.- ZaładujdaneBluetoothANDROIDdoprocesorarobota.- ZaładujdaneANDROIDAPKdoswojegosmartfonalubtabletu.

MożeszznaleźćteżaplikacjeAREXXnapłyciepodnazwąAAR_AndroidapplubwsklepieGOOGLEPLAY.

- 27 -

6.POBOCZNEINFORMACJENATEMAT OBWODÓW MOSTKA HMostekHtoobwódelektroniczny,któryodwracapolaryzacjęurządzenia(np.silnikaprądustałego-DC)poprzezsterowanieczteremaprzełącznikami.Bardzoczestoużywasięgowrobotycedosterowania obrotami silnika w dwie przeciwne strony. Nowoczesne systemyużywająukładówscalonychdosterowaniasilnikiem,aleabypoznaćpodstawoweproblemyzwiązaneznapięciemzasilającymkluczowymmożesięokazaćużyciearchaicznegoukładudosterowania.

6.1 MostekHdlanapięciazasilającego3VoltObwódsterującywrobotachHyperPeppyzawierajądwatranzystoryPNPTR7orazTR8,atakżetranzystoryNPNTR9orazTR10.Wtymprojekciepracęzezwalamyjedyniedwómtranzystorom,abyprzewodziłyprądydosilnikaMjednocześnie:

przezTR7iTR10lubzamiennieprzezTR8iTR9.

SymulatorMicrocap(darmowawersjatestowategoprogramu)toprogram,którypozwalanałatwąiwygodnąsymulacjęukładuDCorazodczytwartościzoknaschematu:

Rys. 10: Symulacja mostka H robota Hyper Peppy.

- 28 -

PrzyjrzyjmysięsilnikowiprądustałegoM.WobwodzierezystorR14imitujedziałanieprzedwzmacniacza.Tenrezystormapóźniejwpływnawyprowadzeniatranzystorównazywanebazą,akonkretnienatranzystoryTR6iTR5,którychnapięciebazybędzierówne0V.Ztegopowoduprawagałąźprzewodziistotneprądy.

TranzystoryTR8,TR5iTR9przewodzą,ainnesąwtymczasiezablokowane.JaktylkoR14dostanienapięciedodatnie,prawagałąźzostaniezablokowanaiprądnasilnikuzostanieodwrócony.SymulatorMicrocapobliczaprądydlawszystkichkomponentóworazodczytujewartościzoknaschematów.Całyprądzasilania3-woltowejbateriibędziewynosiłokoło300mA(miliamperów).TakniezwykleniskienapięciezasilającetegoobwoduzależyodkombinacjikrzemutranzystorówPNPiNPN,którepracująprzynapięciuprzwodzeniarównym0.7V.Jednakżesilnikumieszczonyzostałpomiędzydwomapinamitranzystoranazwanymikolektorami,którejedyniewstanienasyconymprzewodząprzynapięciu0.3V.DlasilnikaMteprzełączenianapięcianastępująprzyszacowanymnapięciu1.5V.WartościobliczoneprzezMicrocapwidniejąnaRys.11..

Rys.11:UstawieniasilnikaDCdlamostkaHwrobocieHyperPeppy.

- 29 -

3-woltowenapięciezasilającejestidealnymrozwiązaniemdlarobota,któryswojenapięcieczerpieztylkodwóchpaluszkówbaterii.TrudnojednakzawrzećtanzystoryPNPwukadziescalonymtakimjakL293D.Układyscalone(IC-ang.integratedcircuit)mająwieleplusów:niezawodność,ochronaprzednieodpowiednimbudowaniemobwodów,atakżemałyrozmiariwaga.ZtegopowoduzdecydowaliśmysięużyćchipuL293DzobwodempodwójnegomostkaH,abymócjednocześniesterowaćdwomasilnikamiprądustałego.

6.2 MostekHdla4,5VoltChipL293D(Rys.10)pozwalanasterowanieprądamiwyjściowymiażdo600mAnakażdykanał(prądmaksymalny:1.2A).Napięciezasilającesterownika(VCC2)możewahaćsięmiędzy4.5Va36V,coczynichipL293DjednymznajlepszychdosterowaniasilnikówDC.

Minimalnenapięciezasilające(VCC2)wynosiwłaśnie4.5V,coponiekądzmuszanasdowybraniaażczterechbateriijakoźródłozasilania.Takiewymogizwiększająrównieżwagęcałkowitąrobota.Takącenępłacisięzaużycienowoczesnychrozwiązańdlaobwodów.

Rys. 12 Obwód z mostkiem H oraz chipem L293D.

- 30 -

7. OdometriaTenrozdziałpoświęconyjestinteresującympomysłomnaaplikacjędlarobotaAARdlaosób,któresązainteresowanepogłębieniemtematuprojektówzwiązanychzrobotyką.

7.1 ReakcjanaświatłoikolorSensoryświatłoczułepozwoląnamprogramowaćrobota,abyreagowałnalinięorazkolory.Wpierwszymzprzedstawionychprzykładówrobotpowinienjeździćpotorzewkształcieósemki.Programnapisanyzostałwpętli,czylirobotjestzmuszonydonieprzerwanej pracy.

Drugiitrzeciprzykładuczyrobotaunikaćźródełczerwonegoświatłaorazjednocześnielgnąćdozielonego.Takiezachowaniejestznanezżycia,m.in.owadów,któredziękitemupotrafiąprzetrwać.

7.2 RobotmelomanInteresującymmożnaodnaleźćtakżewzórzachowań,którezależąodhałasuwjegośrodowisku.Niespokojnegorobotawyposażonegowwrażliwymikrofonmożna“nauczyć”jakunikaćostrejmuzykizbasemijednocześnielgnąćdowysokiejmuzykifletowej.Jegozainteresowaniewysokimiczęstotliwościamidźwiękumogąnawetbyćważniejszeniżjegostrachprzedtyminiskimi.Wtensposóbrobotbędziemiałzazadanieuciekaćodźródłamuzykiheavymetalowejikierowaćsięwstronęwysokiejmuzykifletu.

Wzoryzachowań,którezależąodwysokichiniskichczęstotliwości,światłaorazkolorów,wymagająjedyniekilkuczujników,dwóchfiltrówczęstotliwościikilkuczujnikówświatławyposażonychwfiltrykoloru.

- 31 -

7.3 ZłożonerobotytypulinefollowerRoboty,którepodążajązaświatłemlubpotorzejkrzywejwymagająźródłaświatła,np.diodylubwiększejilościczujnikówświatła.Takieurządzeniapozwalająukładowinaidentyfikacjęlinii,poktórejrobotmapodążać.Pierwszymkrokiemwprogramiepowinnybyćinstrukcjepozwalającerobotowinapoczątkoweodnalezienielinii,któratworzywzór,poktórymrobotmasięporuszać.Takiwzórmożesięskładaćzinstrukcji,gdziewzoremjest,np.spirala,czyliokrągozwiększającymsiępromieniu.Robotbędziepodążałzaliniątoruwyznaczonymprzezliniędopókiczujniktęliniębędziewykrywać.Pisanietakichprogramównależydoosobnejkategoriioprogramowaniairozwiązujeproblemypodążaniazakażdym,nawettrudnymwzorem,np.zostrymizakrętamiitd.

7.3.1 Złożonezachowania(jakozadanieprogramistyczne)Projektmożebyćspomplikowany,np.jeślimusipracowaćwśródskomplikowanego,wielokolorowegootoczeniaorazlinii,azazadaniemapodążaniezaczerwonąlinią,którazaprowadzigodobezpiecznegoicichego“garażu”.

Jaktylkohałasustanie,robotmożeopuścić“garaż”izacząćszukaćzielonejliniiprowadzącejdokolejnego,pełnegomuzyki.

Jeślimuzykazawierawsobiewysokieczęstotliwości,którychrobotnielubi,opuścitomiejscewposzukiwaniudrogidodomu,czypierwszegobezpiecznego“garażu”.

- 32 -

Doświadczeniprogramiścizdająsobiesprawęzezłożonościorazwymogówprojektowychprogramu,którywymagawieluróżnychzależnościodkolorówioddźwięków.Programiścistojąwtedyprzedzadaniemstworzeniaprogramu,któryopieraćsiębędzienahierar-chiczniewykonujcychsięfunkcjach.Stworzenietakiegokonceptupozwalananapisaniezłożonegoirzetelnegooprogramowania,którewykonywaćbędziekonkretnezadanie.Złożonośćoprogramowaniamożesprawić,żeprogramistazaczniepodziwiaćzłożonośćmałychorganizmówżywych,któreprzecieżkorzystająztakichmechanizmówwcodziennymżyciupodczasposzukiwaniapożywienialubschronienia.Naturasamawienajlepiej,jakiemechanizmysąnajdoskonalszeiulepszaje,byprzetrwaćmoglinawetteoretycznienajsłabsi!

- 33 -

8.ProgramowaniewBoot-loader

UWAGA!Opisane w tym rozdziale opcje wymagajądużego doświadczenia programistycznego.

MożeszzaładowaćdomikrokontroleraArduino-bootloaderprzypomocySTK500.AbywgraćdomikrokontroleraAtmegajakikolwiekprogram,któryzostałnapisanywjęzykuArduino,procesorAtmegamusibyćwyposażonywspecjalnyArduino-bootloader.Tenboot-loaderzadbaopoprawnąlokalizacjęwszystkichużytychznakówwewnątrzpamięciAtmega.Abyzainstalowaćboot-ladera,potrzebnebędą:*płytkaprogramowalnaAVR(naprzykładpłytkaSTK500)*12-woltowenapięciezasilające(dlaSTK500)*RobotAARzawierającynapłytcezłączeISP(Rys.7)*PCzfizycznymportemCOM(lepiej,żebyniebyłotokonwerterUSB-RS232,którymożepowodowaćbłędyoprzekroczeniulimituczasu).

Należyzainstalowaćaktualną(lubzaktualizowaćistniejącą)wersjęprogramuArduino,którymożnaznaleźćnastronieinternetowejwww.arduino.cc.Pobranyplikbędziemiałrozszerzenie.ZIPlub.RAR.Rozpakujteplikiiumieśćgdzieśnadyskutwardym.

AbyzaładowaćArduino-bootloaderdorobotaużyjnp.programuWINAVR.

Uwaga!OprogramowanieARDUINOjesttypufreewareiodczasudoczasumożeniewspółpracowaćprawidłowozboatloaderamiArduino!

Jeślidoświadczychproblemówtegotypulubpodobne,możeszposzukaćpomocynawieludostępnychforumistroninternetowych

Arduino,gdziebyćmożektośmiałjużpodobnyproblem.

Rys.12:ZłączeISP

- 34 -

DODATEK

- 35 -

A. LISTA ELEMENTÓW Element Wartość Pakiet

C1 18pF 0805 C2 18pF 0805 C3 0.1uF C0805K C4 0,1uF 0805 C6 0,1uF 0805 C7 470uF CPOL-USF C8 0,1uF 0805 C9 4,7uF 1206 C11 0,1uF 0805 C12 0,1uF 0805 C13 0,1uF 0805 C14 0,1uF 0805 C15 0,1uF 0805 C16 470uF CPOL-USF C17 470uF CPOL-USF C19 470uF CPOL-USF D1 MBR0520 SOD-123 D2 1N4001 DO41-10 IC1 FT232RL SSOP28 IC2 L293D DIL16 IC3 ATMEGA328AU ATMEGA328P-AU IC4 74AHC1G14DCK 74AHC1G14DCK IC5 74AHC1G14DCK 74AHC1G14DCK JP1 M1 1X02 JP2 M2 1X02 JP3 BAT 1X02 JP4 4,8V 1X02 JP5 ISP 2X03 SV2 złącze żeńskie FE07-1 T1 SFH300 LED5MM T2 SFH300 LED5MM T3 LPT80A LPT80A T4 LPT80A LPT80A U$1 3,3V PIN-T U$2 FE03-1 FE03-1 U$3 FE03-1 FE03-1 U$4 FE02-1 FE02-1 X1 PN61729-S PN61729-S LED1 Rd LED5MM LED2 Bl LEDCHIP-LED0805LED3 Rd LEDCHIP-LED0805 LED4 Gn LEDCHIP-LED0805 LED5 Bl LEDCHIP-LED0805 LED6 Rd LEDIRL80A

- 36 -

Element Wartość Pakiet

LED8 Rd LEDCHIP-LED0805LED9 Rd LEDCHIP-LED0805LED10 Rd LEDCHIP-LED0805LED11 Rd LEDCHIP-LED0805LED12 Gn LEDCHIP-LED0805LED13 Rd LEDCHIP-LED0805LED14 Bl LEDCHIP-LED0805LED16 Rd LEDCHIP-LED0805LED17 Rd LEDCHIP-LED0805LED18 Rd LEDIRL80A Q1 16MHz CRYSTALHC49UP R1 20k R-US_R0805 R2 20k R-US_R0805 R3 1k5 R-US_R0805 R4 220 R-US_R0805 R5 1k5 R-US_R0805 R6 1k R-US_R0805 R7 680 R-US_R0805 R8 680 R-US_R0805 R9 20k R-US_R0805 R10 20k R-US_R0805 R11 220 R-US_R0805 R12 220 R-US_R0805 R13 10k R-US_R0805 R14 220 R-US_R0805 R15 220 R-US_R0805 R16 220 R-US_R0805 R17 220 R-US_R0805 R18 220 R-US_R0805 R19 220 R-US_R0805 R20 10k R-US_R0805 R21 10k R-US_R0805 R22 10k R-US_R0805 R23 10k R-US_R0805 R24 220 R-US_R0805 R25 220 R-US_R0805 R26 220 R-US_R0805 R27 220 R-US_R0805 R28 220 R-US_R0805 R29/C3 0.1uF C0805 R31 10k R-US_R0805 R32 12k R-US_R0805 S1 TACT SWITCH TACT_SWITCH S2 255SB 255SB SV1 złącze żeńskie FE08-1

- 37 -

B. GŁÓWNA PŁYTKA PCB - RZUT Z GÓRY

- 38 -

C. GŁÓWNA PŁYTKA PCB - RZUT Z DOŁU

- 39 -

D. SCHEMATY AAR

ATm

ega3

28P

- 40 -

E. 3D PCB AAR