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 nachar
byte()
- zamienia dowolny typ nabyte
int()
- zamienia dowolny typ naint
word()
- zamienia dowolny typ naword
long()
- zamienia dowolny typ nalong
float()
- zamienia dowolny typ nafloat
String()
- 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.