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
pinMode()
digitalWrite()
digitalRead()

Analogowe I/O
analogReference()
analogRead()
analogWrite() – PWM

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 
...

google_pluslinkedinmail