Monk S. - Arduino dla początkujących. Kolejny krok, Elektronika
[ Pobierz całość w formacie PDF ]
//-->Spis treściO autorze .......................................................................................................................................... 9Podziękowania ............................................................................................................................... 10Wstęp .............................................................................................................................................. 11Pobieranie przykładów ...................................................................................................................... 12Czego będę potrzebował? .................................................................................................................. 12Korzystanie z tej książki .................................................................................................................... 12Rozdział 1. Programowanie Arduino ......................................................................................... 15Czym jest Arduino ............................................................................................................................. 15Instalacja i środowisko programistyczne ........................................................................................ 17Instalacja środowiska programistycznego ..................................................................................18Blink ..............................................................................................................................................18Wycieczka po płytce Arduino .......................................................................................................... 21Zasilanie .......................................................................................................................................21Złącza zasilania ............................................................................................................................22Wejścia analogowe .......................................................................................................................22Złącza cyfrowe ..............................................................................................................................22Płytki Arduino .................................................................................................................................... 23Uno i pochodne ............................................................................................................................23Duże płytki Arduino ....................................................................................................................24Małe płytki Arduino ....................................................................................................................25Płytki LilyPad i LilyPad USB ......................................................................................................26Nieoficjalne płytki Arduino .........................................................................................................27Język programowania ........................................................................................................................ 27Modyfikacja szkicu Blink .................................................................................................................. 27Zmienne ............................................................................................................................................... 29If ............................................................................................................................................................ 30Pętle ...................................................................................................................................................... 31Funkcje ................................................................................................................................................. 32Wejścia cyfrowe .................................................................................................................................. 33Wyjścia cyfrowe .................................................................................................................................. 3534ARDUINO DLA POCZĄTKUJĄCYCH. KOLEJNY KROKMonitor portu szeregowego ..............................................................................................................35Tablice i macierze ...............................................................................................................................37Wejścia analogowe .............................................................................................................................38Wyjścia analogowe .............................................................................................................................40Korzystanie z bibliotek .......................................................................................................................42Typy danych obsługiwane przez Arduino ......................................................................................43Polecenia Arduino ..............................................................................................................................44Podsumowanie ....................................................................................................................................46Rozdział 2. Pod maską ..................................................................................................................47Krótka historia Arduino ....................................................................................................................47Anatomia Arduino .............................................................................................................................47Procesory AVR ....................................................................................................................................48ATmega328 .................................................................................................................................. 48ATmega32u4 ............................................................................................................................... 50ATmega2560 ............................................................................................................................... 50AT91SAM3X8E ........................................................................................................................... 51Arduino i Wiring ................................................................................................................................51Od szkicu do Arduino ........................................................................................................................55AVR Studio ..........................................................................................................................................56Instalacja programu rozruchowego .................................................................................................58Instalacja programu rozruchowego za pomocą aplikacji AVR Studio i programatora ......... 59Instalacja programu rozruchowego za pomocą zintegrowanego środowiskaprogramistycznego Arduino i drugiej płytki Arduino ........................................................... 60Podsumowanie ....................................................................................................................................62Rozdział 3. Przerwania i zegary ...................................................................................................63Przerwania sprzętowe ........................................................................................................................63Piny przerwań ............................................................................................................................. 66Tryby przerwań ........................................................................................................................... 67Aktywacja wbudowanego rezystora podciągającego ................................................................ 67Procedury obsługi przerwań ....................................................................................................... 67Zmienne ulotne ........................................................................................................................... 68Podsumowanie wiadomości na temat procedur obsługi przerwań ......................................... 69Włączanie i wyłączanie obsługi przerwań ......................................................................................69Zegary i przerwania ............................................................................................................................70Podsumowanie ....................................................................................................................................73Rozdział 4. Przyspieszanie Arduino ............................................................................................75Jak szybko działa Twoje Arduino? ...................................................................................................75Porównanie płytek Arduino ..............................................................................................................76Przyspieszanie wykonywania operacji arytmetycznych ...............................................................77Czy naprawdę musisz stosować wartości typu float? ................................................................ 77Przeglądanie kontra obliczanie .........................................................................................................78Szybkie wejścia-wyjścia ......................................................................................................................80Podstawowa optymalizacja kodu ............................................................................................... 80Bajty i bity .................................................................................................................................... 82SPIS TREŚCI5Porty układu ATmega328 ...........................................................................................................82Bardzo szybkie działanie wyjść cyfrowych .................................................................................84Szybkie wejścia cyfrowe ...............................................................................................................84Przyspieszanie wejść analogowych .................................................................................................. 86Podsumowanie ................................................................................................................................... 88Rozdział 5. Arduino i mały pobór prądu ................................................................................... 89Płytki Arduino i pobór prądu ........................................................................................................... 89Prąd i akumulatory ............................................................................................................................ 91Zmniejszenie częstotliwości taktowania ......................................................................................... 92Wyłączanie komponentów ............................................................................................................... 94Usypianie ............................................................................................................................................. 95Biblioteka Narcoleptic .................................................................................................................95Budzenie za pomocą zewnętrznych przerwań ...........................................................................97Ograniczanie pobieranego prądu za pomocą wyjść cyfrowych .................................................. 99Podsumowanie ................................................................................................................................. 101Rozdział 6. Pamięć ....................................................................................................................... 103Pamięć Arduino ................................................................................................................................ 103Korzystanie z minimalnej ilości pamięci RAM ........................................................................... 104Korzystanie z właściwych struktur danych ............................................................................. 105Zachowaj ostrożność, korzystając z rekurencji ....................................................................... 105Przechowywanie w pamięci flash stałych będących łańcuchami .......................................... 107Rozpowszechnione błędne przekonania .................................................................................. 108Pomiar wolnej pamięci ............................................................................................................. 108Korzystanie z minimalnej ilości pamięci flash ............................................................................. 108Korzystaj ze stałych .................................................................................................................. 109Usuwaj zbędne elementy szkicu ............................................................................................... 109Pomiń program rozruchowy .................................................................................................... 109Statyczna i dynamiczna alokacja pamięci ..................................................................................... 109Łańcuchy ............................................................................................................................................ 111Tablice elementów typu char ................................................................................................... 111Biblioteka Arduino StringObject ............................................................................................. 114Korzystanie z pamięci EEPROM ................................................................................................... 115Przykład korzystania z pamięci EEPROM ............................................................................. 116Korzystanie z biblioteki avr/eeprom.h ..................................................................................... 118Ograniczenia pamięci EEPROM ............................................................................................. 120Korzystanie z pamięci Flash ........................................................................................................... 120Zapisywanie danych na kartach SD ............................................................................................... 121Podsumowanie ................................................................................................................................. 122Rozdział 7. Korzystanie z magistrali I2C .................................................................................. 123Warstwa sprzętowa .......................................................................................................................... 125Protokół magistrali I2C ................................................................................................................... 126Biblioteka Wire ................................................................................................................................. 126Inicjacja magistrali I2C ............................................................................................................ 127Wysyłanie danych przez urządzenie nadrzędne .................................................................... 127Odbieranie danych przez urządzenie nadrzędne ................................................................... 1276ARDUINO DLA POCZĄTKUJĄCYCH. KOLEJNY KROKPrzykład działania magistrali I2C ..................................................................................................128Radio FM TEA5767 .................................................................................................................. 128Przesyłanie danych pomiędzy dwoma płytkami Arduino ..................................................... 130Płytki z diodami LED ................................................................................................................ 133Zegar czasu rzeczywistego DS1307 .......................................................................................... 134Podsumowanie ..................................................................................................................................135Rozdział 8. Praca z urządzeniami wyposażonymi w interfejs 1-Wire ..................................137Sprzęt obsługujący interfejs 1-Wire ...............................................................................................137Protokół 1-Wire ................................................................................................................................138Biblioteka OneWire ..........................................................................................................................139Inicjalizowanie biblioteki OneWire ......................................................................................... 139Skanowanie magistrali ............................................................................................................. 139Korzystanie z układu DS18B20 ......................................................................................................141Podsumowanie ..................................................................................................................................143Rozdział 9. Praca z urządzeniami wyposażonymi w interfejs SPI ........................................145Operowanie bitami ...........................................................................................................................145Wartości binarne i szesnastkowe ............................................................................................. 146Maskowanie bitów .................................................................................................................... 146Przesuwanie bitów .................................................................................................................... 148Sprzęt obsługujący magistralę SPI ..................................................................................................150Protokół SPI ......................................................................................................................................151Biblioteka SPI ....................................................................................................................................151Przykład komunikacji za pomocą interfejsu SPI .........................................................................153Podsumowanie ..................................................................................................................................157Rozdział 10. Szeregowa transmisja danych za pośrednictwem układu UART ...................159Sprzęt służący do szeregowej transmisji danych ..........................................................................159Protokół obsługujący szeregową transmisję danych ...................................................................162Polecenia służące do obsługi szeregowej transmisji danych ......................................................162Biblioteka SoftwareSerial .................................................................................................................164Przykłady szeregowej transmisji danych .......................................................................................165Komunikacja pomiędzy komputerem a Arduino za pośrednictwem interfejsu USB ........... 165Komunikacja pomiędzy dwoma płytkami Arduino ............................................................... 167Moduł GPS ................................................................................................................................ 169Podsumowanie ..................................................................................................................................172Rozdział 11. Obsługa interfejsu USB ........................................................................................173Emulacja klawiatury i myszy ...........................................................................................................173Emulacja klawiatury ................................................................................................................. 174Przykład emulacji klawiatury .................................................................................................. 175Emulacja myszy ......................................................................................................................... 175Przykład emulacji myszy .......................................................................................................... 176Programowanie hosta USB .............................................................................................................176Płytka USB Host i obsługująca ją biblioteka ........................................................................... 177Host USB płytki Arduino Due .................................................................................................. 180Podsumowanie ..................................................................................................................................182
[ Pobierz całość w formacie PDF ]