Tablice Informatyczne Arduino
Tablice Informatyczne Arduino
Wykaz portów dla Arduino UNO:
źródło – internet
Ściaga:
Struktury setup() loop()Struktury kontrolne if if…else for switch case while do… while break continue return goto |
Składnia języka ; {} // /* */ #define #includeOperacje arytmetyczne = (assignment operator) + (addition) – (subtraction) * (multiplication) / (division) % (modulo)Operatory porównania == (equal to) != (not equal to) < (less than) > (greater than) <= (less than or equal to) >= (greater than or equal to) |
Zmienne Stałe HIGH | LOW INPUT | OUTPUT true | false integer constants floating point constants |
Operatory logiczne && (and) || (or) ! (not)Operacje na wskaźnikach * dereference operator & reference operatorOperatory bitowe & (bitwise and) | (bitwise or) ^ (bitwise xor) ~ (bitwise not) << (bitshift left) >> (bitshift right) |
Pozostałe operatory ++ (increment) — (decrement) += (compound addition) -= (compound subtraction) *= (compound multiplication) /= (compound division) &= (compound bitwise and) |= (compound bitwise or) |
Typy zmiennych void boolean char unsigned char byte int unsigned int word long unsigned long float double string – char array String – object array |
Przerwania zewnętrzne attachInterrupt() detachInterrupt() interrupts() noInterrupts() |
Zmienne zakresowe variable scope static volatile const |
Konwersje char() byte() int() word() long() float() |
Komunikacja Serial |
Narzędzia sizeof() |
Matematyczne min() max() abs() constrain() map() pow() sqrt() |
Bitów i Bajtów lowByte() highByte() bitRead() bitWrite() bitSet() bitClear() bit() |
Funkcje Cyfrowe I/O Analogowe I/O |
Zaawansowane I/O tone() noTone() shiftOut() pulseIn() |
Czasu millis() micros() delay() delayMicroseconds() |
Trygonometryczne sin() cos() tan() |
Losowe randomSeed() random() |
Biblioteki standardowe w Arduino | |
EEPROM | odczyt zapis do pamięci EEPROM |
Ethernet | biblioteka funkcji sieciowych ETHERNET z wykorzystaniem modułu Arduino Ethernet Shield |
Firmata | biblioteka komunikacji z komputerem z wykorzystaniem RS232 |
LiquidCrystal | biblioteka obsługi wyświetlaczy LCD |
SD | biblioteka obsługi kart pamięci SD |
Servo | biblioteka obsługi napędów servo |
SPI | biblioteka obsługi interfejsu SPI (Serial Peripheral Interface) |
SoftwareSerial | biblioteka obsługi programowej interfejsu komunikacyjnego RS232 |
Stepper | biblioteka obsługi silników krokowych |
Wirebi | biblioteka obsługi interfejsu TWI/I2 C (Two Wire Interface) |
Biblioteki komunikacyjne: | |
Messenger | biblioteka do przetwarzania wiadomości tekstowych z komputera |
NewSoftSerial | ulepszona biblioteka do obsługi programowej transmisji RS232 |
OneWire | biblioteka obsługi interfejsu 1Wire |
PS2Keyboard | biblioteka obsługi klawiatury z interfejsem PS2 |
Simple Message System | biblioteka umożliwia wysyłanie wiadomości pomiędzy komputerem a Arduino |
SSerial2Mobile | umożliwia wysyłanie wiadomości tekstowych lub mail za pomocą telefonu komórkowego (za pomocą poleceń AT) |
Webduino | biblioteka serwera WWW z wykorzystaniem Arduino Ethernet Shield |
X10 | biblioteka umożliwia transmisje po liniach zasilających |
XBee | umożliwia komunikacje z API XBee |
SerialControl | umożliwia zdalną kontrolę innych Arduino za pomocą interfejsu RS232 |
Biblioteki do obsługi czujników: | |
Capacitive Sensing | biblioteka dla czujników pojemnościowych |
Debounce | biblioteka do obsługi przycisków |
Obsługa wyświetlaczy i matryc LED: | |
Improved LCD library | biblioteka obsługi wyświetlaczy LC |
GLCD | biblioteka obsługi graficznych LCD z kontrolerem KS0108 |
LedControl | biblioteka sterująca 7-segmentowymi wyświetlaczami LED oraz LED’ami z kontrolerami MAX7221 lub MAX7219 |
LedDisplay biblioteka obsługi wyświetlaczy z kontrolerem HCMS-29xx | |
Generatory: | |
Tone | biblioteka umożliwia generowanie dźwięku na dowolnym pinie mikrokontrolera |
TLC5940 | Umożliwia obsługę 16 kanałowego i 12 bitowego kontrolera PWM |
Data i godzina: | |
DateTime | biblioteka realizująca zegar i kalendarz |
Metro | biblioteka umożliwiające odmierzanie stałych odcinków czasu |
MsTimer2 | biblioteka generująca przerwanie co czas odmierzony w milisekundach |
Tekstowe: | |
TextString | biblioteka obsługi tekstów |
PString | biblioteka zapisu tekstu do bufora |
Streaming | uproszona biblioteka funkcji print() |
Struktura główna Szkicu (programu)
void setup() { //Instrukcje, które wykonają się jeden raz //np. do inicjacji ustawień procesora, konfiguracja peryferii itp } void loop() { //Instrukcje, które będą wykonywały się w koło, //w pętli nieskończonej. Znajdują się tu instrukcje głównego programu. }
Typy zmiennych
Nazwa typu | Rozmiar | Opis |
---|---|---|
void | 0 | Typ nieważny stosowany podczas deklaracji funkcji, która nie zwraca wartości |
char | 1 bajt | Znak ASCII np. ‘A’. Char przechowuje informację o kodzie, czyli liczba 66 to ‘B’. Typ przechowuje wartości od -128 do 127 |
unsigned char | 1 bajt | Znak ASCII zapisany jako liczba z przedziału 0 – 255 |
byte | 1 bajt | Liczba z przedziału 0 – 255 |
int | 2 bajty | Liczba z przedziału -32 768 do 32 767 |
unsigned int | 2 bajty | Liczba z przedziały 0 – 65535 |
word | 2 bajty | Liczba z przedziały 0 – 65535 |
long | 4 bajty | Liczba z przedziału -2 147 483 648 do 2 147 483 647 |
unsigned long | 4 bajty | Liczba z przedziału 0 – 4 294 967 295 |
float | 4 bajty | Liczba z przedziału -3.4028235E+38 do 3.4028235E+38 |
double | 4 bajty | W Arduino jak float |
string | … | Tablica znaków np. char Str1[15]; char Str2[8] = {‘a’, ‘r’, ‘d’, ‘u’, ‘i’, ‘n’, ‘o’}; char Str3[8] = {‘a’, ‘r’, ‘d’, ‘u’, ‘i’, ‘n’, ‘o’, ”}; char Str4[]=”arduino”; |
String | … | Klasa String umożliwia wykonywanie operacji na obiektach tekstowych. Zostanie opisana w odrębnym artykule. |
array | … | Tablica dowolnego typu np. int tab[10]; char tekst[8]=”arduino”; |
Przekształcenia pomiędzy typami danych
Nazwa funkcji | Opis |
---|---|
char(x) | Zamienia x dowolnego typu na typ char |
byte(x) | Zamienia x dowolnego typu na typ byte |
int(x) | Zamienia x dowolnego typu na typ int |
word(x) | Zamienia x dowolnego typu na typ word |
word(h,l) | Zamienia parę liczb l,h na liczbę typu word (h-starszy bajt, l-młodszy bajt) |
long(x) | Zamienia x dowolnego typu na typ long |
float(x) | Zamienia x dowolnego typu na typ float |
stałe, define…
#define ledPin 13 | // definicja pinu13 jako ledPin |
volatile | |
sizeof() | podanie ilości elementów w zmiennej/tablicy |
Stałe predefiniowane
</Typy danych Całkowite Rzeczywiste Łańcuchowe Znakowe Wskaźnikowe Inne Łańcuchy Operacje Konwersje Wyświetlanie Operacje liczbowe Obliczenia Konwersja Trygonometria Wartości domyślne>
Nazwa funkcji | Opis | |
---|---|---|
true | prawda logiczna. Odpowiednikiem może być dowolna liczba różna od zera. | |
false | fałsz logiczny. Odpowiednikiem może być liczba zero. | |
HIGH, LOW | Stany cyfrowych pinów układu. HIGH to stan wysoki (1), LOW stan niski (0). | |
INPUT, INPUT_PULLUP i OUTPUT | Konfiguracja pinów układu jako wejścia lub wyjscia. INPUT ustawia pin jako wejście, OUTPUT jako wyjście, INPUT_PULLUP aktywuje wewnętrzne podłączenie wejścia poprzez rezystor . |
Składnia języka
Instrukcje warunkowe
IF | Umożliwia warunkowe wykonanie określonego bloku kodu, a jeśli warunek nie jest spełniony – alternatywnego bloku. |
if(warunek) { instrukcja1; instrukcja2; }
oraz
if (warunek) { // polecenia A } else { // polecenia B }
switch case | Instrukcja wyboru, instrukcja decyzyjna – instrukcja umożliwiająca wybór instrukcji do wykonania spośród wielu opcji. |
switch (var) { case 1: //instrukcje dla var=1 break; case 2: //instrukcje dla var=2 break; default: // instrukcje domyślne (jeżeli var różne od 1 i 2) }
Pętle
for | Pętla która wykonuje się określoną z góry ilość razy |
for(i=0;10;i++) { //instrukcje do wykonania w pętli }
while | Pętla która wykonuje się tylko wtedy, kiedy warunek jest spełniony |
while(warunek) { //blok instrukcji do wykonania }
do { //blok instrukcji do wykonania } while(warunek)
for(i=0;10;i++) { if(i==5) break; Serial.print(i); }
for(i=0;10;i++) { if(i==5) continue; Serial.print(i); }
void funkcja() { instrukcja1; if(x==0) return; instukcja2; instrukcja3; }
goto | skok do pewnego miejsca w programie oznaczonego etykietą |
.... goto etykieta; //skocz do miejsca oznaczonego nazwą "etykieta' ..... .... .... etykieta: //etykieta od której będzie kontynuowany program ...

