Znacząca większość osób rozpoczynających naukę programowania zaczyna swoją zabawę od napisania programu wyświetlającego napis „Hello world!”. Podobnie jest w przypadku nauki programowania mikrokotrolerów, tylko z jedną małą różnicą – pierwszy napisany program ma powodować miganie diody LED. Z tego względu pierwszym zagadnieniem, z którym spotyka się każdy z nas jest konieczność obsługi portów I/O – Input/Output, czyli po polsku: wejścia i wyjścia.
W drugiej części poradnika zajmiemy się napisaniem programu i krótkiego progamu do pomiaru temperatury za pomocą termistora. Niezbędny nam będzie oczywiście termistor – wykorzystamy termistor NTC (1o kΩ). Zaprzęgniemy też do pracy mikrokontroler ATmega8, a dla wizualizacji wyników podłączymy wyświetlacz LCD 16×2. Schemat połączeń przedstawia Rysunek 1.
Termistory to swojego rodzaju rezystory, których opór jest silnie zależny od temperatury (znacznie bardziej niż jesteśmy do tego przyzwyczajeni w przypadku standardowych oporników). Wykorzystanie tej cechy, która dla rezystorów jest zjawiskiem negatywnym w tym przypadku znalazło idealne zastosowanie do pomiarów temperatury ze stosunkowo dużą dokładnością.
Bardzo często zdarza się, że pewne, używane układy wymagają zasilania napięciem 3,3 V. Jeżeli korzystamy z platformy Arduino, to sprawa jest prosta – mamy dostępny pin, na którym panuje właśnie takie napięcie. Co jednak zrobić, jeżeli nie posiadamy Arduino, a chcemy korzystać z układów zasilanych 3,3 V na płytce stykowej. Otóż rozwiązanie jest bardzo proste:
Magistrala I²C służy do przesyłania danych (komunikacji) pomiędzy urządzeniami elektronicznymi, a dokładniej pomiędzy układem nadrzędnym (Master) oraz urządzeniami typu Slave. Magistrala I²C jest oparta o transmisję szeregową prowadzoną za pomocą dwóch linii sygnałowych SDA (linia przesyłu danych) oraz SCL (sygnał zegarowy). Najczęściej występującym rodzajem transmisji jest zastosowanie jednego układu Master oraz kilku układów Slave. Rozpoznawanie układów w magistrali realizowane jest poprzez nadanie im unikalnego adresu, który użytkownik może modyfikować sprzętowo (łącząc odpowiednie piny układu z masą lub napięciem zasilania).
Przedstawiam bardzo prosty układ, idealny do trenowania lutowania elementów SMD.
Schemat układu jest bardzo prosty: