Arduino_dla_poczatkujacych_Kolejny_krok_arpokk.pdf

(1624 KB) Pobierz
Tytuł oryginału: Programming Arduino™ Next Steps: Going Further with Sketches
Tłumaczenie: Konrad Matuk
ISBN: 978-83-283-0013-2
Original edition copyright © 2014 by McGraw-Hill Education.
All rights reserved.
Polish edition copyright © 2015 by HELION S.A.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording or by any information storage
retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi
ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie,
ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody
wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/arpokk
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/arpokk.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
O autorze .......................................................................................................................................... 9
Podziękowania ............................................................................................................................... 10
Wstęp .............................................................................................................................................. 11
Pobieranie przykładów ...................................................................................................................... 12
Czego będę potrzebował? .................................................................................................................. 12
Korzystanie z tej książki .................................................................................................................... 12
Rozdział 1. Programowanie Arduino ......................................................................................... 15
Czym jest Arduino ............................................................................................................................. 15
Instalacja i środowisko programistyczne ........................................................................................ 17
Instalacja środowiska programistycznego ..................................................................................18
Blink ..............................................................................................................................................18
Wycieczka po płytce Arduino .......................................................................................................... 21
Zasilanie .......................................................................................................................................21
Złącza zasilania ............................................................................................................................22
Wejścia analogowe .......................................................................................................................22
Złącza cyfrowe ..............................................................................................................................22
Płytki Arduino .................................................................................................................................... 23
Uno i pochodne ............................................................................................................................23
Duże płytki Arduino ....................................................................................................................24
Małe płytki Arduino ....................................................................................................................25
Płytki LilyPad i LilyPad USB ......................................................................................................26
Nieoficjalne płytki Arduino .........................................................................................................27
Język programowania ........................................................................................................................ 27
Modyfikacja szkicu Blink .................................................................................................................. 27
Zmienne ............................................................................................................................................... 29
If ............................................................................................................................................................ 30
Pętle ...................................................................................................................................................... 31
Funkcje ................................................................................................................................................. 32
Wejścia cyfrowe .................................................................................................................................. 33
Wyjścia cyfrowe .................................................................................................................................. 35
3
Kup książkę
Poleć książkę
4
A
RDUINO DLA POCZĄTKUJĄCYCH
. K
OLEJNY KROK
Monitor portu szeregowego ..............................................................................................................35
Tablice i macierze ...............................................................................................................................37
Wejścia analogowe .............................................................................................................................38
Wyjścia analogowe .............................................................................................................................40
Korzystanie z bibliotek .......................................................................................................................42
Typy danych obsługiwane przez Arduino ......................................................................................43
Polecenia Arduino ..............................................................................................................................44
Podsumowanie ....................................................................................................................................46
Rozdział 2. Pod maską ..................................................................................................................47
Krótka historia Arduino ....................................................................................................................47
Anatomia Arduino .............................................................................................................................47
Procesory AVR ....................................................................................................................................48
ATmega328 .................................................................................................................................. 48
ATmega32u4 ............................................................................................................................... 50
ATmega2560 ............................................................................................................................... 50
AT91SAM3X8E ........................................................................................................................... 51
Arduino i Wiring ................................................................................................................................51
Od szkicu do Arduino ........................................................................................................................55
AVR Studio ..........................................................................................................................................56
Instalacja programu rozruchowego .................................................................................................58
Instalacja programu rozruchowego za pomocą aplikacji AVR Studio i programatora ......... 59
Instalacja programu rozruchowego za pomocą zintegrowanego środowiska
programistycznego Arduino i drugiej płytki Arduino ........................................................... 60
Podsumowanie ....................................................................................................................................62
Rozdział 3. Przerwania i zegary ...................................................................................................63
Przerwania sprzętowe ........................................................................................................................63
Piny przerwań ............................................................................................................................. 66
Tryby przerwań ........................................................................................................................... 67
Aktywacja wbudowanego rezystora podciągającego ................................................................ 67
Procedury obsługi przerwań ....................................................................................................... 67
Zmienne ulotne ........................................................................................................................... 68
Podsumowanie wiadomości na temat procedur obsługi przerwań ......................................... 69
Włączanie i wyłączanie obsługi przerwań ......................................................................................69
Zegary i przerwania ............................................................................................................................70
Podsumowanie ....................................................................................................................................73
Rozdział 4. Przyspieszanie Arduino ............................................................................................75
Jak szybko działa Twoje Arduino? ...................................................................................................75
Porównanie płytek Arduino ..............................................................................................................76
Przyspieszanie wykonywania operacji arytmetycznych ...............................................................77
Czy naprawdę musisz stosować wartości typu float? ................................................................ 77
Przeglądanie kontra obliczanie .........................................................................................................78
Szybkie wejścia-wyjścia ......................................................................................................................80
Podstawowa optymalizacja kodu ............................................................................................... 80
Bajty i bity .................................................................................................................................... 82
Kup książkę
Poleć książkę
S
PIS TREŚCI
5
Porty układu ATmega328 ...........................................................................................................82
Bardzo szybkie działanie wyjść cyfrowych .................................................................................84
Szybkie wejścia cyfrowe ...............................................................................................................84
Przyspieszanie wejść analogowych .................................................................................................. 86
Podsumowanie ................................................................................................................................... 88
Rozdział 5. Arduino i mały pobór prądu ................................................................................... 89
Płytki Arduino i pobór prądu ........................................................................................................... 89
Prąd i akumulatory ............................................................................................................................ 91
Zmniejszenie częstotliwości taktowania ......................................................................................... 92
Wyłączanie komponentów ............................................................................................................... 94
Usypianie ............................................................................................................................................. 95
Biblioteka Narcoleptic .................................................................................................................95
Budzenie za pomocą zewnętrznych przerwań ...........................................................................97
Ograniczanie pobieranego prądu za pomocą wyjść cyfrowych .................................................. 99
Podsumowanie ................................................................................................................................. 101
Rozdział 6. Pamięć ....................................................................................................................... 103
Pamięć Arduino ................................................................................................................................ 103
Korzystanie z minimalnej ilości pamięci RAM ........................................................................... 104
Korzystanie z właściwych struktur danych ............................................................................. 105
Zachowaj ostrożność, korzystając z rekurencji ....................................................................... 105
Przechowywanie w pamięci flash stałych będących łańcuchami .......................................... 107
Rozpowszechnione błędne przekonania .................................................................................. 108
Pomiar wolnej pamięci ............................................................................................................. 108
Korzystanie z minimalnej ilości pamięci flash ............................................................................. 108
Korzystaj ze stałych .................................................................................................................. 109
Usuwaj zbędne elementy szkicu ............................................................................................... 109
Pomiń program rozruchowy .................................................................................................... 109
Statyczna i dynamiczna alokacja pamięci ..................................................................................... 109
Łańcuchy ............................................................................................................................................ 111
Tablice elementów typu char ................................................................................................... 111
Biblioteka Arduino StringObject ............................................................................................. 114
Korzystanie z pamięci EEPROM ................................................................................................... 115
Przykład korzystania z pamięci EEPROM ............................................................................. 116
Korzystanie z biblioteki avr/eeprom.h ..................................................................................... 118
Ograniczenia pamięci EEPROM ............................................................................................. 120
Korzystanie z pamięci Flash ........................................................................................................... 120
Zapisywanie danych na kartach SD ............................................................................................... 121
Podsumowanie ................................................................................................................................. 122
Rozdział 7. Korzystanie z magistrali I2C .................................................................................. 123
Warstwa sprzętowa .......................................................................................................................... 125
Protokół magistrali I2C ................................................................................................................... 126
Biblioteka Wire ................................................................................................................................. 126
Inicjacja magistrali I2C ............................................................................................................ 127
Wysyłanie danych przez urządzenie nadrzędne .................................................................... 127
Odbieranie danych przez urządzenie nadrzędne ................................................................... 127
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin