Arduino dla początkujących. Kolejny krok Autor: Simon
Transkrypt
Arduino dla początkujących. Kolejny krok Autor: Simon
Arduino dla początkujących. Kolejny krok Autor: Simon Monk Spis treści • • • • O autorze Podziękowania Wstęp o Pobieranie przykładów o Czego będę potrzebował? o Korzystanie z tej książki Rozdział 1. Programowanie Arduino o Czym jest Arduino o Instalacja i środowisko programistyczne Instalacja środowiska programistycznego Blink o Wycieczka po płytce Arduino Zasilanie Złącza zasilania Wejścia analogowe Złącza cyfrowe o Płytki Arduino Uno i pochodne Duże płytki Arduino Małe płytki Arduino Płytki LilyPad i LilyPad USB Nieoficjalne płytki Arduino o Język programowania o Modyfikacja szkicu Blink o Zmienne o If o Pętle o Funkcje o Wejścia cyfrowe o Wyjścia cyfrowe o Monitor portu szeregowego o Tablice i macierze o Wejścia analogowe o Wyjścia analogowe Korzystanie z bibliotek Typy danych obsługiwane przez Arduino Polecenia Arduino Podsumowanie Rozdział 2. Pod maską o Krótka historia Arduino o Anatomia Arduino o Procesory AVR ATmega328 ATmega32u4 ATmega2560 AT91SAM3X8E o Arduino i Wiring o Od szkicu do Arduino o AVR Studio o Instalacja programu rozruchowego Instalacja programu rozruchowego za pomocą aplikacji AVR Studio i programatora Instalacja programu rozruchowego za pomocą zintegrowanego środowiska programistycznego Arduino i drugiej płytki Arduino o Podsumowanie Rozdział 3. Przerwania i zegary o Przerwania sprzętowe Piny przerwań Tryby przerwań Aktywacja wbudowanego rezystora podciągającego Procedury obsługi przerwań Zmienne ulotne Podsumowanie wiadomości na temat procedur obsługi przerwań o Włączanie i wyłączanie obsługi przerwań o Zegary i przerwania o Podsumowanie Rozdział 4. Przyspieszanie Arduino o Jak szybko działa Twoje Arduino? o Porównanie płytek Arduino o Przyspieszanie wykonywania operacji arytmetycznych Czy naprawdę musisz stosować wartości typu float? o Przeglądanie kontra obliczanie o Szybkie wejścia-wyjścia Podstawowa optymalizacja kodu Bajty i bity Porty układu ATmega328 Bardzo szybkie działanie wyjść cyfrowych Szybkie wejścia cyfrowe o Przyspieszanie wejść analogowych o Podsumowanie Rozdział 5. Arduino i mały pobór prądu o Płytki Arduino i pobór prądu o Prąd i akumulatory o Zmniejszenie częstotliwości taktowania o o o o • • • • Wyłączanie komponentów Usypianie Biblioteka Narcoleptic Budzenie za pomocą zewnętrznych przerwań o Ograniczanie pobieranego prądu za pomocą wyjść cyfrowych o Podsumowanie Rozdział 6. Pamięć o Pamięć Arduino o Korzystanie z minimalnej ilości pamięci RAM Korzystanie z właściwych struktur danych Zachowaj ostrożność, korzystając z rekurencji Przechowywanie w pamięci flash stałych będących łańcuchami Rozpowszechnione błędne przekonania Pomiar wolnej pamięci o Korzystanie z minimalnej ilości pamięci flash Korzystaj ze stałych Usuwaj zbędne elementy szkicu Pomiń program rozruchowy o Statyczna i dynamiczna alokacja pamięci o Łańcuchy Tablice elementów typu char Formatowanie łańcuchów za pomocą wielokrotnego wywoływania polecenia print Formatowanie łańcuchów za pomocą polecenia sprint Ustalanie długości łańcucha Biblioteka Arduino StringObject Tworzenie łańcuchów Łączenie łańcuchów Inne funkcje zdefiniowane w bibliotece StringObject o Korzystanie z pamięci EEPROM Przykład korzystania z pamięci EEPROM Korzystanie z biblioteki avr/eeprom.h Ograniczenia pamięci EEPROM o Korzystanie z pamięci Flash o Zapisywanie danych na kartach SD o Podsumowanie Rozdział 7. Korzystanie z magistrali I2C o Warstwa sprzętowa o Protokół magistrali I2C o Biblioteka Wire Inicjacja magistrali I2C Wysyłanie danych przez urządzenie nadrzędne Odbieranie danych przez urządzenie nadrzędne o Przykład działania magistrali I2C Radio FM TEA5767 Przesyłanie danych pomiędzy dwoma płytkami Arduino Płytki z diodami LED Zegar czasu rzeczywistego DS1307 o Podsumowanie Rozdział 8. Praca z urządzeniami wyposażonymi w interfejs 1-Wire o o • • • Sprzęt obsługujący interfejs 1-Wire Protokół 1-Wire Biblioteka OneWire Inicjalizowanie biblioteki OneWire Skanowanie magistrali o Korzystanie z układu DS18B20 o Podsumowanie Rozdział 9. Praca z urządzeniami wyposażonymi w interfejs SPI o Operowanie bitami Wartości binarne i szesnastkowe Maskowanie bitów Przesuwanie bitów o Sprzęt obsługujący magistralę SPI o Protokół SPI o Biblioteka SPI o Przykład komunikacji za pomocą interfejsu SPI o Podsumowanie Rozdział 10. Szeregowa transmisja danych za pośrednictwem układu UART o Sprzęt służący do szeregowej transmisji danych o Protokół obsługujący szeregową transmisję danych o Polecenia służące do obsługi szeregowej transmisji danych o Biblioteka SoftwareSerial o Przykłady szeregowej transmisji danych Komunikacja pomiędzy komputerem a Arduino za pośrednictwem interfejsu USB Komunikacja pomiędzy dwoma płytkami Arduino Moduł GPS o Podsumowanie Rozdział 11. Obsługa interfejsu USB o Emulacja klawiatury i myszy Emulacja klawiatury Przykład emulacji klawiatury Emulacja myszy Przykład emulacji myszy o Programowanie hosta USB Płytka USB Host i obsługująca ją biblioteka Host USB płytki Arduino Due o Podsumowanie Rozdział 12. Obsługa sieci o Sprzęt sieciowy Płytka rozszerzeń wyposażona w kontroler sieci Ethernet Arduino Ethernet i Arduino EtherTen Arduino i Wi-Fi o Biblioteka Ethernet Nawiązywanie połączenia Stawianie serwera sieci Web Tworzenie żądań o Przykład szkicu korzystającego z biblioteki Ethernet Sprzętowy serwer sieci Web Pobieranie danych w formacie JSON o o o • • • • Biblioteka WiFi Nawiązywanie połączenia Funkcje zdefiniowane w bibliotece WiFi o Przykładowy szkic korzystający z sieci Wi-Fi o Podsumowanie Rozdział 13. Cyfrowe przetwarzanie sygnałów o Wprowadzenie do cyfrowego przetwarzania sygnałów o Uśrednianie odczytów o Wstęp do filtrowania o Prosty filtr dolnoprzepustowy o Cyfrowe przetwarzanie sygnałów przez Arduino Uno o Cyfrowe przetwarzanie sygnałów przez Arduino Due o Generowanie kodu filtrującego o Transformacja Fouriera Analizator spektrum Pomiar częstotliwości o Podsumowanie Rozdział 14. Praca z użyciem tylko jednego procesu o Zmiana skali o Dlaczego wątki są zbędne o Funkcje setup i loop Najpierw wykrywaj, a dopiero później reaguj Pauza, która nie blokuje mikrokontrolera o Biblioteka Timer o Podsumowanie Rozdział 15. Tworzenie bibliotek o Kiedy należy tworzyć biblioteki? o Stosowanie klas i metod o Przykładowa biblioteka TEA5767 Radio Określ interfejs programistyczny Utwórz plik nagłówkowy Utwórz plik implementacji Utwórz plik ze słowami kluczowymi Utwórz folder z przykładami o Testowanie biblioteki o Publikacja biblioteki o Podsumowanie Dodatek A Podzespoły o Płytki Arduino o Płytki rozszerzeń o Moduły o Dystrybutorzy o • • • •