Każdy z nas łatwiej zapamiętuje nazwy niż liczby. Na tym opiera się współczesne programowanie. By pod wygodnymi, krótkimi nazwami stworzonymi przez programistę zapamiętać liczby i kawałki kodu.
Zmienne służą do wygodnego zapamiętywania danych programu pod jakąś nazwą.
Ponieważ są różne rodzaje danych, są też różne rodzaje zmiennych.
Żeby zapamiętać liczbę, trzeba stworzyć zmienną typu int [ang. skrót "integer" - liczba całkowita (ujemne i dodatnie bez ułamków)].
int nazwaZmiennej;
By zapamiętać napis używa się zmiennych typu String [ang. ciąg znaków].
String zmiennaZNapisem;
Zapisywanie danych w zmiennej
Do zapisywania danych w zmiennej służy znaczek =.
int jakasZmienna;
jakasZmienna = 2;
int innZmienna = 2500;
String napis = "Napis w zmiennej";
Różne rodzaje zmiennych
Komputery, a szczególnie małe kontrolery jak Arduino mają mało pamięci. Wymyślono więc różne rodzaje zmiennych liczbowych. Przechowują różne zakresy liczb, im mniejszy, tym mniej zajmuje pamięci.
int- przechowuje liczby od -32768 do 32767, zajmuje 2 bajty pamięciword- przechowuje liczby od 0 do 65535, zajmuje 2 bajty pamięcibyte- przechowuje liczby od 0 do 255, zajmuje 1 bajt pamięcichar- przechowuje liczby od -128 do 127, zajmuje 1 bajt pamięcilong- przechowuje liczby od -2 miliardów do 2 miliardów, zajmuje 4 bajty pamięciunsigned long- przechowuje liczby od 0 do 4 miliardów, zajmuje 4 bajty pamięci
Są też dodatkowe rodzaje zmiennych do liczb ułamkowych:
float- zapamiętuje ułamki z dokładnością do 7 cyfr po przecinku, zajmuje 4 bajtydouble- zapamiętuje ułamki z dokładnością do 15 cyfr po przecinku, zajmuje 8 bajtów
float zmiennaZUlamkiem = 2.54;
double liczbaPi = 3.1415926535897;
Przetwarzanie jednego typu na inny
Czasem zachodzi potrzeba zamiany jednego rodzaju zmiennej na inny np. liczbę na napis.
String tekst;
int liczba = 200;
tekst = String(liczba);
Zamienia liczbę ze zmiennej "liczba" na tekst w zmiennej "tekst".
Wystarczy napisać na jaki typ chcesz zamienić i w nawiasie wstawić nazwę zmiennej.
Dostępne typy do zamiany to:
char()- zamienia dowolny typ nacharbyte()- zamienia dowolny typ nabyteint()- zamienia dowolny typ naintword()- zamienia dowolny typ nawordlong()- zamienia dowolny typ nalongfloat()- zamienia dowolny typ nafloatString()- zamienia dowolny typ naString
Obliczenia na zmiennych
Możesz przekazać dane z jednej zmiennej do drugiej.
zmienna1 = zamienna2;
Możesz robić obliczenia i ich wynik zapisywać do zamiennej.
zmienna2 = 2 + 2;
Możesz robić obliczenia z udziałem zmiennych.
zmienna2 = zamienna1 * 3;
Dostępne znaczki do obliczeń:
=- przekazanie danych do zmiennej+- dodawanie-- odejmowanie*- mnożenie/- dzielenie%- reszta z dzielenia(i)- działania w nawiasie wykonują się jako pierwsze
Skróty obliczeń
Jeśli operujesz na tej samej zmiennej, są też skróty niektórych operacji. Zamiast pisać:
zmienna = zmienna + 1;
Można napisać w skrócie:
zmienna += 1;
albo jeszcze krócej:
zmienna++;
Dostępne skróty to:
+=-=*=/=%=
Przykład
int licznik = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println(licznik);
licznik++;
delay(500);
}
Program wyświetla w monitorze portu szeregowego kolejne liczby co pół sekundy.