W samochodzie wożę ze sobą tracker'a zbudowanego w oparciu o ARDUINO PRO MICRO.
Stację pogodową, emitującą w świat informacje o temperaturze, wilgotności i ciśnieniu atmosferycznym na mojej działce, mam zbudowaną na bazie ARDUINO PRO MICRO.
Podwójny i-GATE dla pasma 2 m i 70 cm (zdjęcia i opis we wcześniejszym poście) skonstruowany został w oparciu o 2 x ARDUINO NANO.
O ARDUINO NANO oparty jest mój analizator antenowy a właściwie skaner SWR wykonany w/g K6BEZ w wersji SP3NYR.
Moja drukarka 3D (opisana we wcześniejszym poście) sterowana jest przez ARDUINO MEGA.
![]() |
ARDUINO UNO PinOut |
![]() |
ARDUINO UNO Rev 3 mikrokontroler AVR ATmega328 osadzony w podstawce DIP28. Złącza: USB typ B oraz DC 5,5/2,1. Wymiar płytki 75 x 54 mm. |
![]() |
ARDUINO NANO na punktach lutowniczych widać pozostawioną podczas lutowania przeze mnie kalafonię. Powinienem ją zmyć denaturatem. Złącze mini-USB. Wymiar płytki 45 x 19 mm. |
STARTER SHIELD
Starter Shield'y zawierają najczęściej używane elementy t.j.: wyświetlacze, przyciski, przeróżne czujniki, brzęczyki, linijki i matryce LED, joysticki, klawiatury, głośniki, mikrofony, diody laserowe, silniki, serwa, itp. Występują jako "kity" do polutowania lub jako gotowe moduły. Producenci SHIELD'ów najczęściej dodają przykładowe oprogramowania i załączają biblioteki wbudowanych komponentów. Warianty oprogramowania obejmują rozwiązania od bardzo prostych do mocno skomplikowanych projektów.
Poniżej opisuję swoje doświadczenia z kilkoma shield'ami.
LCD Keypad Shield
Wbudowany wyświetlacz tekstowy posiada dwa wiersze po 16 znaków. Wyposażony jest w 16-pinowe złącze. Podświetlany jest jedną diodą. Kolor znaku - biały, kolor podświetlania - niebieski. W gotowych shield'ach wyświetlacz bywa jeszcze oferowany jako żółto - zielony. Wyświetlacz sterowany jest przez układ HD447804 w trybie 4-bitowym. Sterownik może obsłużyć wyświetlacze 4-wierszowe do 40 znaków w każdym wierszu. Oto tablice znaków bezpośrednio dostępnych dla wyświetlacza dla kodu A01 i dla kodu A02. Własne znaki można edytować w kreatorze a zapisać można maksymalnie 8 własnych znaków. Można również stworzyć duże znaki obejmujące dwie linie wyświetlacza.
Należy użyć biblioteki LCD4bit library: LiquidCyistal, LcdBarGraph.
Za chwilę dostępna będzie uniwersalna biblioteka LCD obsługująca wyświetlacze:
4 bit, 8 bit, I2C, Shift Register i SPI.
![]() |
Podłączenie wyświetlacza LCD w trybie 4-bitowym. Schemat dla tych, którzy nie korzystają z gotowego shield'a. |
![]() |
Obraz po wczytaniu dołączonego oprogramowania testowego. Aby poprawnie działały przyciski w Shield w ver 1.0 należy przedefiniować "speed reasons" dla przycisków. |
![]() |
Po zadeklarowaniu pinów LCD: LiquidCrystal lcd(8, 9, 4, 5, 6, 7); możliwe jest wprowadzanie pierwszych tekstów. Poniżej skech. |
// lcd(RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int numRows = 2;
int numCols = 16;
void setup()
{
Serial.begin(9600);
lcd.begin(numRows, numCols);
lcd.clear();
}
void loop()
{
}
void loop()
{
lcd.setCursor(2,0);
lcd.print("Moje ARDUINO");
lcd.setCursor(2,1);
lcd.print("jest super !");
}
#include <LiquidCrystal.h>
// lcd(RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int numRows = 2;
int numCols = 16;
void setup()
{
Serial.begin(9600);
lcd.begin(numRows, numCols);
lcd.clear();
}
void loop()
{
if (Serial.available() > 0)
{
char ch = Serial.read();
if (ch == '|')
{
lcd.clear();
}
else if (ch == '/')
{
lcd.setCursor(0, 1);
}
else
{
lcd.write(ch);
}
}
}
Wpisywanie tekstów z monitora portu szeregowego:
- znak | czyści ekran wyświetlacza
- znak / przenosi kursor do nowego wiersza
#include <LiquidCrystal.h>
// lcd(RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int numRows = 2;
int numCols = 16;
void setup()
{
Serial.begin(9600);
lcd.begin(numRows, numCols);
lcd.clear();
}
void loop()
{
if (Serial.available() > 0)
{
char ch = Serial.read();
if (ch == '|')
{
lcd.clear();
}
else if (ch == '/')
{
lcd.setCursor(0, 1);
}
else
{
lcd.write(ch);
}
}
}
![]() |
Pierwszy tekst w "negatywie". SERDUSZKA jako znaki specjalne ! |
![]() |
A co z polskimi literami ? Jeszcze brakuje "Ż". |
![]() |
Znaleziona w necie pierwsza gra... W samej grze biorą udział tylko przyciski UP i DOWN. |
![]() |
Generator wyników gier liczbowych. Przyciskami LEFT i RIGHT wybieramy ilość wylosowanych liczb. Przyciskami UP i DOWN wybieramy pulę liczb do losowania. Przyciskiem SELECT rozpoczynamy losowanie. |
Pierwszy wyświetlacz, jaki kupiłem, miał białe znaki z niebieskim podświetleniem, dziś bardziej podobają mi się czarne znaki z podświetlaniem zielonym. |
![]() |
Uproszczony schemat LCD Keypad Shield. |
![]() |
Wyprowadzenia pinów z LCD KeyPad w tym piny JCSP. |
Odnalazłem program, którym można zmierzyć dzielniki napięcia realizowane przez klawiaturę LCD KeyPad. Okazało się, że mocno się różnią od zadeklarowanych na powyższym rysunku. Trzeba pamiętać aby klawiaturę przedefiniować w swoich projektach. Pomoc można odnaleźć na stronie: https://github.com/nettigo/NettigoKeypad/.
Porównanie wyświetlacza 2004 japońskiego z chińskim. |
Przykładowy wpis na wyświetlaczu 2004 z czarnymi "kropkami" z dolnego zdjęcia. Konwerter posiada adres 0x27 szesnastkowo na magistrali I2C. Poniżej skech. |
#include <LiquidCrystal_I2C.h>
#define BACKLIGHT_PIN 3
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);
void setup()
{
lcd.begin(20,4);
lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
}
void loop()
{
lcd.setCursor(3,0);
lcd.print("Serdecznie witam");
lcd.setCursor(6,1);
lcd.print("na moim blogu");
lcd.setCursor(0,2);
lcd.print("SP5QWJ.BLOGSPOT.com");
lcd.setCursor(0,3);
lcd.print(">>>>>>>>>>>> Slawek");
}
Konwerter LCM1602 I2C do wyświetlacza LCD
Na spodniej części płytki konwertera mamy trzy pary punktów lutowniczych.Od sposobu połączenia tych punktów zależy adres dla magistrali I2C.
Standardowo punkty lutownicze nie są połączone - wtedy adres LCD to 0x27.
W przypadku polutowanych trzech par punktów mamy adres - 0x20.
Poniżej zaprezentowane są możliwe do uzyskania adresy.
(+) oznacza zwartą parę punktów lutowniczych
(O) oznacza otwartą parę punktów lutowniczych
A0 A1 A2
O O O 0x27
+ O O 0x26
O + O 0x25
+ + O 0x24
O O + 0x23
+ O + 0x22
O + + 0x21
+ + + 0x20
Widzimy, że mamy dostępnych osiem adresów dla magistrali I2C;
tym samym maksymalnie możemy skorzystać z ośmiu wyświetlaczy.
Każdy LCD musi mieć unikalny adres dla magistrali I2C.
Konwertery występują w kilku wariantach. Najpopularniejszy jest oparty o chipset PCF8574T i ten właśnie posiada adres 0x27. Możemy natrafić na inne wykonanie konwerterów z innymi adresami:
Chipset PCF8574 - 0x20
Chipset PCF8574T - 0x27
Chipset PCF8574A - 0x38
Chipset PCF8574AT - 0x3F
Dla upewnienia się z jakim adresem mamy do czynienia należy skorzystać z programu I2C Scanner.
Program sczytuje adresy wszystkich aktualnie podłączonych urządzeń.
1602 LCD I2C MCP23017 SHIELD
Wyświetlacz sterowany poprzez magistralę I2C zajmuje jedynie dwa piny cyfrowe i trzy piny do podświetlenia. Dwa piny magistrali I2C mogą być wykorzystane przez inne adresowalne czujniki np.: RTC. Dodatkowo pięć pinów zajętych jest przez pięcio-kierunkowy joystick.Kontrast wyświetlacza możemy regulować potencjometrem.
Nie ma możliwości sterowania jasnością wyświetlacza.
Shield nie pasuje do ARDUINO MEGA - piny I2C należy wtedy podpiąć zewnętrznymi przewodami.
Chipset Shield oparty jest o chipset MCP-23017. |
Wyżej opisany w blogu chipset PCF8574 oferował nam jedynie osiem portów.
Jest to 16-bitowy ekspander we/wy. Jednak shield wykorzystuje jedynie 8 bitów.
Charakteryzuje się bardzo niskim prądem czuwania: maksymalnie 1µA.
Podstawowy adres wyświetlacza to: 0x20
Biblioteka do obsługi układu znajduje się na stronie Adafruit github
- LCD -
RS - GPB7
R/W - GPB6
E - GPB5
D4 - GPB4
D5 - GPB3
D6 - GPB2
D7 - GPB1
- JOYSTICK -
UP - GPA3
DOWN - GPA2
LEFT - GPA4
RIGHT - GPA1
MIDDLE - GPA0
W prawym dolnym rogu płytki wyświetlacza mamy joystick z pozycjami: UP, DOWN, LEFT, RIGHT, i MIDDLE po przyciśnięciu joystick'a. Do zdjęcia zdjąłem folijkę z wyświetlacza (!). |
#include <Adafruit_RGBLCDShield.h>
#include <utility/Adafruit_MCP23017.h>
Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setCursor(1,0);
lcd.print("Witam na blogu");
lcd.setCursor(4,1);
lcd.print("-SP5QWJ-");
}
void loop()
{
}
DIGIT Shield
Czterocyfrowy, siedmiosegmentowy wyświetlacz LED 0,56"
Ułatwia wyświetlanie liczb całkowitych i zmiennoprzecinkowych.
Z ARDUINO shield połączony jest tylko czterema pinami: 2, 3, 4, 5.
![]() |
PCB DIGIT Shield |
![]() |
Digit Shield ver 1 z uruchomioną prostą aplikacją. |
Na wyświetlaczu "świeci" folijka ochronna. |
Biblioteka DIGIT Shield
Biblioteka nie obejmuje LEONARDO.
Bardzo proste przykłady
2,4" TFT LCD Display Shield Touch Panel
kontroler ST7781 (ID=0x7783)
biblioteka ADAFRUIT ILI932X zmodyfikowana do ST7783
![]() |
Displey jeszcze z naklejoną folijką. |
2,4" po zdjęciu folii obraz wyświetla z błędem !
Nie znalazłem jeszcze przyczyny błędu.
Rozdzielczość 240 x 320 pixeli 18 bit
Sterownik ST7781
|
Tick Tock Shield
* DS1307 RTC - popularny układ do odmierzania czasu,
I2C, 2 V do 3,5 V, 1 mA,
wymaga zewnętrznego kwarcu 32,760 Hz 12,5 pF +20 ppm
posiada pamięć o rozmiarze 56 bajtów,
której zawartość musi być podtrzymywana bateryjnie.
* Adjustable Time Parameters.
* TM1636 - sterownik wyświetlacza 7-segmentowego LED
* Thermistor-based Thermometer.
* LDR-based Lux/ Light Intensity Meter.
* RTC Battery Voltage Measurement.
Tick Tock Shield program demonstracyjny
Sam lutując prototypowe obwody układy scalone montuję w podstawkach. Podoba mi się, że w tym shield'zie scalaki: TM1636 i DS1307 oraz wyświetlacz LED typu TOF-5461BS są właśnie zamontowane w podstawkach.
* TM1636 - sterownik wyświetlacza 7-segmentowego LED
* Thermistor-based Thermometer.
* LDR-based Lux/ Light Intensity Meter.
* RTC Battery Voltage Measurement.
Tick Tock Shield program demonstracyjny
![]() |
Sterownik TM-1636 wyświetlacza 7-segmentowego. Znajduje się w podstawce pod wyświetlaczem. |
![]() |
Tick Tock Shield podczas testowania przycisków i diod LED. Bez kłopotu udały się testy buzera. Z zegarem natrafiłem na problem. Dołączone biblioteki nie działały na platformie ARDUINO UNO R3. |
![]() |
PCB |
![]() |
Uproszczony schemat Tick Tock Shield. |
Próby wczytania dołączonych bibliotek spełzły na niczym, nie były zgodne z platformą ARDUINO UNO R3. Szukając w necie opisu i uwag natrafiłem na następujący post z 31 stycznia 2016 roku:
The I2C
pins differ from the Arduino 328 to the Arduino 2560. This is solved on the R3
versions of the boards (which I use) by adding additional I2C pins (SDA, SCL)
next to AREF on both boards. Unfortunately the Starter Shield EN (Tick Tock shield) does not use the new
I2C pins, instead it is wired to Analog 4 and Analog 5. I solved this
issue by placing two wires from pin 20 and 21 (SDA, SCL)on the 2560 to pin A4
and A5 (SDA, SCL) on the shield on top of the 2560.
Nie brałem pod uwagę możliwych błędów hardwarowych ?!
Już wszystko działa poprawnie - dowodem są załączone zdjęcia:
![]() |
Godziny i minuty. Wyświetlacz czerwony. |
![]() |
Rok Wyświetlacz czerwony. |
![]() |
Ustawianie dnia tygodnia. Wyświetlacz - tym razem założyłem żółty, mam jeszcze wyświetlacz blado-zielony. |
![]() |
Termometr Odczyt 21* C |
* DATA - dzień i miesiąc
* ROK - postać czterocyfrowa
* DZIEŃ TYGODNIA - umieściłem mało czytelne "hieroglify" na powyższych zdjęciach
* TEMPERATURA - pomiar z termistora 10 kOhm
* NATĘŻENIE OŚWIETLENIA - pomiar z fotoopornika 10 kOhm
* NAPIĘCIE BATERII PODTRZYMUJĄCEJ ZEGAR w [mV] - CR220 - 3 V, 40 mAh
Wyprowadzenia wyświetlacza TOF-5461BS 12 pinów, 0,56" |
Multi Purpose Shield
2-way button module
2-way LED module
Full Color LED Module
IR receiver module
Brightness sensor module
LM35D temperature sensor module
Passive buzzer module
Rotary potentiometer module
DHT11 temperature and humidity sensor module
One I2C interface (A4 SDA, A5 SCL)
One TTL serial port
Two channel digital ports (D7, D8)
One channel analog port (A3)
Reset buton
Widok płytki od strony sensora temperatury, odbiornika podczerwieni i elementu światłoczułego. |
![]() |
Wyprowadzenia LM35D. |
Źródło przydatnych bibliotek
Biblioteka z IRremote.h i dht11.h
Należy użyć bibliotek: IRremote.h i dht11.h
Istnieją dwa czujniki DHT11 i DHT22. Różnią się dokładnością i zakresem działania.
Czujnik DHT11 jest mniej dokładny i nie nadaje się do pomiaru temperatur ujemnych.
Trzeba o tym pamiętać budując "prawdziwą" stację pogodową.
Dokładność pomiaru temperatur dla czujnika DHT22 jest 4x większa niż DHT11.
Zakres pomiaru wilgotności dla DHT11 jest od 20-80% dla DHT22 od 0-100%
![]() |
Uproszczony schemat Multi Purpose Shield. |
Obsługuje karty SD i TF popularnie zwane kartami micro SD.
Shieldy SD mogą być spinane w stosy.
![]() |
SD Shield z włożoną kartą SD. Pod spodem płytki jest kieszeń na kartę micro SD. |
![]() |
Uproszczony schemat karty SD. |
ETHERNET Shield end SD Card
Adres IP dla shield należy nadać samemu z puli adresów wewnętrznej sieci.
10.0.1.x lub 192.168.1.x . "X" w podanym adresie musi być liczbą z zakresu 1 do 255.
Oczywiście wybrany adres aktualnie nie może być używany. Osobiście do określenia zajętych adresów IP używam programu PortScan.
Sygnalizacja stanów pracy modułu za pomocą diod LED:
* PWR: stan zasilania modułu
* LINK: status podłączenia do sieci, sygnalizacja ruchu w sieci
* FULLD: połączenie sieciowe full duplex
* 100M: sygnalizacja prędkości sieci 100 Mb/s (led off - 10 Mb/s)
* RX: sygnalizacja odbierania danych przez moduł
* TX: sygnalizacja wysyłania danych przez moduł
* COLL: kolizja w sieci
![]() |
Shield obsługujący ethernet oparty o mikroukład. |
![]() |
WIZnet W5100. |
Multi Motor Control L293D Shield
Biblioteka i przykładowe oprogramowanie.
Opis
4 CHANNEL RELAY Shield
Wlutowane przekaźniki mają rezystancję wewnętrzną cewki 125 Ohm.
Napięcie minimalne do zadziałania przekaźnika to 3,8 V DC, maksymalne: 6,5 V DC.
Pobór mocy przez jeden przekaźnik: 0,2 W.
Napięcie testowe 1.000 V.
Jeden styk przełączający o maksymalnym prądzie przełączania 5 A.
Maksymalne napięcie przełączane 60 V DC i 240 V AC.
Maksymalna obciążenie styków roboczych przekaźników dla 24 V DC wynosi 3 A.
Dopuszczalny prąd dla napięcia 240 V AC to 1 A.
![]() |
Uproszczony schemat 4 Channel Relay Shield. |
![]() |
Na płytce drukowanej widać szerokie ścieżki, które mają przewodzić prąd do 10 A. Tak jest dla przekaźników 1, 2 i 3. Przekaźnik nr 4 potraktowany został troszkę po macoszemu. |
Płytka z przekaźnikami w wersji 3A. |
ESP8266-12E WiFi UART Wireless Shield
Płytka kompatybilna z WeMos D1 WiFi ESP8266
Działa w oparciu o moduł ESP-8266EX z wbudowaną anteną PCB
Wbudowany konwerter USB-UART (CH340G)
Rozstaw złączy kompatybilny z Arduino UNO R3
Po instalacji dodatku ESP8266 Core możliwość programowania przy użyciu Arduino IDE
Ilość wejść / wyjść cyfrowych: 11 (maksymalne napięcie linii: 3,3 V)
Wejście analogowe: 1 (zakres napięcia zasilania: 0 - 3,3 V)
Obsługuje bezprzewodową aktualizację firmware (OTA)
Wbudowany stabilizator napięć: 5 V / 1 A oraz 3,3 V
Wbudowany przycisk zerowania mikrokontrolera (RESET)
Maksymalne napięcie wejściowe (wtyk 5,5 x 2,1): 24 V DC
Możliwość zasilenia poprzez złącze micro-USB
Wymiary płytki: 69 x 54 x 15 mm
![]() |
Ogólny widok płytki. |
Moduł WiFi 802.11 b/g/n z układem ESP8266, na złączu jest 9 linii GPIO oraz 1 linia ADC. Częstotliwość: 2,4 GHz. Poziom mocy nadawanej: +25 dBm. Wbudowana antena PCB. |
Na pokładzie wlutowany jest stabilny, przemysłowy moduł WiFi ESP8266 charakteryzujący się dużą odpornością na zakłócenia. Antena PCB.
Cztery diody LED wyświetlają status ESP8266:
* PWR: stan zasilania modułu
* DFU:
* AP:
* STA:
PROGRAMATOR AVR ISP Shield "OPEN-SMART"
Mój programator z osadzonym mikrokontrolerem ATMEGA 328P-PU. Uwaga ! na zdjęciu mikrokontroler jest niewłaściwie umieszczony. Wycięcie na chip'ie powinno być od strony dźwigni podstawki ZIF ! |
Shield ułatwiający wgrywanie bootloader'a lub swojego kodu na nową kość ATmegi.
Można skorzystać z ArduinoISP ustawiając programator: Arduino as ISP, następnie należy mikrokontroler umieścić w podstawce ZIP i wydać komendę Wypal booloader.
Można skorzystać z oprogramowania o nazwie: OPENSMART_ISP pobrane ze strony:
https://github.com/RalphBacon/Bootloader-Shield-8MHz Działa wtedy głośniczek.
ZIF (Zero Insertion Force) 28 pin.
Obsługuje: ATmege328P, ATmega168P, ATmega8 oraz płyty ARDUINO: UNO, MEGA, NANO i PRO MINI - korzystamy wtedy z ISP-6 pin lub ISP-8 pin..
Na pokładzie wlutowany jest buzer, który obok diod LED, informuje o sukcesie pojedynczym dźwiękiem lub błędzie programowania dźwiękiem podwójnym.
Zasilany jest napięciem 5 V. Podczas programowania pobiera maksymalny prąd 500 mA.
RGB LED 2812 PIXEL MATRIX Shield
Moduł wyposażony w 40 LED RGB WS2812
Napięcie zasilania: 5V
Sterowanie: pin 13 z Arduino
Wymiary: 68 x53mm
"WS2812" to sterownik WS2811 zamknięty w obudowie diody RGB.
Ogromną zaletą tego układu jest jego zdolność szeregowego łączenia, a także możliwość sterowania praktycznie dowolną ilością diod RGB tylko za pomocą pojedynczego pinu cyfrowego mikrokontrolera za pośrednictwem magistrali 1-Wire.
Wymaga wczytania biblioteki Adafruit_NeoPixel.h
Opis
Biblioteka
KLAWIATURA 4x4 + WYŚWIETLACZ LCD NOKIA 5100
iBridges ver. 1.2
Rozmiar: 48 wierszy i 84 kolumn.
Wykorzystuje sterownik PCD8544.
Komunikacja odbywa się poprzez interfejs szeregowy SPI.
Wymiary modułu: 45 x 45 mm.
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
void setup() {
display.begin();
display.setContrast(50);
display.clearDisplay();
}
void loop() {
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(3,5);
display.print("Zapraszam na");
display.setTextColor(BLACK);
display.setCursor(14,17);
display.print("moj blog");
display.setTextColor(BLACK);
display.setCursor(3,30);
display.setTextSize(2);
display.print("SP5QWJ");
display.display();
}
Obsługuje: ATmege328P, ATmega168P, ATmega8 oraz płyty ARDUINO: UNO, MEGA, NANO i PRO MINI - korzystamy wtedy z ISP-6 pin lub ISP-8 pin..
Na pokładzie wlutowany jest buzer, który obok diod LED, informuje o sukcesie pojedynczym dźwiękiem lub błędzie programowania dźwiękiem podwójnym.
Zasilany jest napięciem 5 V. Podczas programowania pobiera maksymalny prąd 500 mA.
RGB LED 2812 PIXEL MATRIX Shield
Moduł wyposażony w 40 LED RGB WS2812
Napięcie zasilania: 5V
Sterowanie: pin 13 z Arduino
Wymiary: 68 x53mm
![]() |
Przesyłkę z Chin otrzymałem w bardzo ładnym kartonowym pudełeczku. |
Pojedyńczy element WS 2812. Zdjęcie wykonane zestawem makro opisanym we wcześniejszym poście. |
"WS2812" to sterownik WS2811 zamknięty w obudowie diody RGB.
Ogromną zaletą tego układu jest jego zdolność szeregowego łączenia, a także możliwość sterowania praktycznie dowolną ilością diod RGB tylko za pomocą pojedynczego pinu cyfrowego mikrokontrolera za pośrednictwem magistrali 1-Wire.
![]() |
Zdjęcie WS2812 zapożyczone z internetu. |
Wymaga wczytania biblioteki Adafruit_NeoPixel.h
Opis
Biblioteka
KLAWIATURA 4x4 + WYŚWIETLACZ LCD NOKIA 5100
iBridges ver. 1.2
![]() |
Monitor portu szeregowego podczas sprawdzania klawiatury 4x4. Należy ustawić szybkość transmisji na 115200 baud. Jak widać ARDUINO Uno zostało wpięte w port COM-13. |
Rozmiar: 48 wierszy i 84 kolumn.
Wykorzystuje sterownik PCD8544.
Komunikacja odbywa się poprzez interfejs szeregowy SPI.
Wymiary modułu: 45 x 45 mm.
Opis wyprowadzeń wyświetlacza NOKIA 5110 LCD. Przesyłkę z Polski otrzymałem z rozlanym wyświetlaczem. |
![]() |
Tabela pokazuje, jak wyświetlacz został podłączony w zaprezentowanym skech'u. |
Krótki napis na wyświetlaczu NOKIA 5110 Poniżej skech. |
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
void setup() {
display.begin();
display.setContrast(50);
display.clearDisplay();
}
void loop() {
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(3,5);
display.print("Zapraszam na");
display.setTextColor(BLACK);
display.setCursor(14,17);
display.print("moj blog");
display.setTextColor(BLACK);
display.setCursor(3,30);
display.setTextSize(2);
display.print("SP5QWJ");
display.display();
}
Link do Wiki: https://www.itead.cc/wiki/IBridge gdzie zamieszczony jest prosty programik.
Producent IBridge do chwili publikacji bloga opracował trzy wersje płyki 4x4.
ADAPTER X|Bee Bluetooth SRS485 RS485/APC220 I/O Sensor ver. 5.0
- 14 portów wejścia/wyjścia (12 interfejsów serw) oraz zasilania
- Interfejs: RS485
- Interfejs:
IIC
I2C
TWI
- Przycisk reset
- Interfejs transferu zgodny z XBee/Bluetooth
XBee to proste w użyciu bezprzewodowe moduły komunikacyjne.
- Bee Bluetooth - wejście dla zewnętrznego zasilania (włączane przyciskiem)
- Konwerter napięcia
- Piny z wyjściem 3V3
- Wsparcie dla kart SD
VS1053B MP3 MUSIC Shield
Odtwarza wiele formatów muzycznych
Dekoduje dźwięk
Posiada interface SPI
Wyjście słuchawkowe 30 Ohm
Wejścia LINE IN
Zabudowany mikrofon
Gniazdo kart SD - umożliwia odtwarzania plików MP3 z karty SD
Opis
Producent IBridge do chwili publikacji bloga opracował trzy wersje płyki 4x4.
ADAPTER X|Bee Bluetooth SRS485 RS485/APC220 I/O Sensor ver. 5.0
![]() |
Opis złączy adaptera XBee. |
- Interfejs: RS485
- Interfejs:
IIC
I2C
TWI
- Przycisk reset
- Interfejs transferu zgodny z XBee/Bluetooth
XBee to proste w użyciu bezprzewodowe moduły komunikacyjne.
- Bee Bluetooth - wejście dla zewnętrznego zasilania (włączane przyciskiem)
- Konwerter napięcia
- Piny z wyjściem 3V3
- Wsparcie dla kart SD
Płytka adaptera XBee wpięta w Arduino UNO |
VS1053B MP3 MUSIC Shield
Odtwarza wiele formatów muzycznych
Dekoduje dźwięk
Posiada interface SPI
Wyjście słuchawkowe 30 Ohm
Wejścia LINE IN
Zabudowany mikrofon
Gniazdo kart SD - umożliwia odtwarzania plików MP3 z karty SD
Opis
Wymagane biblioteki
TERMINAL Z ZACISKAMI ŚRUBOWYMI
Terminal pozwalający wpiąć płytkę Arduino UNO wyposażony w listwy z zaciskami śrubowymi o rastrze 3,5 mm.
Dzięki takiemu rozwiązaniu bez problemu możemy podłączyć do naszego Arduino dowolne urządzenie z wyprowadzeniami w postaci kabli.
Płytka PCB pomiędzy złączami terminala zawiera pola o rastrze 2,54 mm czyli 1/10 cala, pozwalające w trwały sposób przylutować dodatkowe elementy potrzebne w projekcie. Część punktów lutowniczych jest połączonych część wolnych. Dioda LED podłączona jest do punktu D-13.
Na płytce jest pełna kompatybilność pinów ARDUINO-UNO R3.
Płytka posiada gniazdo zasilania od 7-12 V, regulatory napięć 3,3 V i 5 V.
Zasilanie poprzez gniazdo USB zabezpieczone jest bezpiecznikiem 500 mA.
NANO TERMINAL ze złączami śrubowymi.
Adapter przeznaczonych dla płytek Arduino Nano
oraz innych posiadający ten sam rozstaw wyprowadzeń np. płytek z serii Nucleo.
PŁYTKA PROTOTYPOWA type -1-
Na płytce o rastrze 2,54 mm (1/10 cala) mamy:
- dwie diody LED
- dwa przyciski micro-swich
- miejsce lutownicze pod układ 14-Pin SOIC SMD
- złącze ISP
PŁYTKA PROTOTYPOWA type -3-
Prototype PCB Protoshield for Arduino UNO R3.
Płytka wykonana jest w rastrze 2,54 mm czyli 1/10 cala,
Średnica otworów: 0,9 mm czyli 0,035 cala.
Wymiary płytki: 68,58 mm x 53,34 mm
Grubość PCB: 1,6 mm
Materiał PCB: FR-4 fiber-glass.
Popularnie raster 2,54 określany jest jako 1/10 cala, jednak dokładnie są to 3/32 cala.
Wiele modułów dla ARDUINO przygotowanych jest w rastrze 2,0 mm.
Raster 2 mm w przeliczeniu daje nam ułamek 5/64 cala.
Lekarstwem na pogodzenie różnych rastrów jest płytka prototypowa COMBO, która na swojej powierzchni ma wydzielone pole z rastrem 2 mm.
MOJE STANOWISKO "PRÓB i TESTÓW" z PŁYTKAMI STYKOWYMI ver 1.0
Budowę stanowiska prototypowego rozpocząłem od zamontowania na płycie ze szkło-epoksydu o wymiarach 225 x 305 mm dwóch uniwersalnych płytek stykowych po 830 pól każda
(830 Point Testing PCB Breadboard) (Solderless Prototype Breadboard). Szkło-epoksyd był na tyle mało sztywny, że poza narożnymi nóżkami musiałem dodać nóżkę podpierającą w środku całe stanowisko prototypowe.
Dodałem jeszcze dwie długie zasilające płytki stykowe 100 polowe - te przy dolnej krawędzi stanowiska. Mają one tą samą długość co płytki stykowe 830 polowe a szerokość tylko dwóch wierszy oznaczonych kolorami i nadrukami: (+) i (-).
Płytki wyposażyłem w moduły zasilające 3,3V i 5V z gniazdem USB, przełącznikiem i diodą LED.
Wąskie płytki stykowe zaopatrzyłem w gniazda DC 2,5/5,5.
Na stanowisku znalazło się ARDUINO UNO R3.
Szybko przykręciłem wyświetlacz LCD 1602 wraz z wlutowanym "odwrotnie" modułem I2C. Tak aby można było spokojnie regulować jasność wyświetlacza i aby był dostęp do zworki.
Problemem była decyzja jaki kolor wyświetlacza wybrać ?!
Następnie zamontowałem trzy liniowe potencjometry obrotowe: 1 KOhm, 10 KOhm i 100 KOhm.
Kolejny był 3-cyfrowy woltomierz.
Następnie:
- wyświetlacz 8-cyfr 7-segmentowy z kontrolerem MAX-7219,
- matryca 8x8 LED ze sterownikiem MAX-7219-CNG,
- zestaw dwóch przekaźników z cewką 12V DC z optoizolacją, obciążalność styków 10A 250V AC,
- przetwornica impulsowa DC-DC step-down oparta o LM-2596 z wyświetlaczem,
- klawiatura 4x4 KeyPad,
- silnik krokowy.
W płytkę stykową widać wpięty moduł ze złączem śrubowym ARK.
Całość zasilam z zasilacza impulsowego 12 V 5 A.
TERMINAL Z ZACISKAMI ŚRUBOWYMI
Terminal pozwalający wpiąć płytkę Arduino UNO wyposażony w listwy z zaciskami śrubowymi o rastrze 3,5 mm.
Dzięki takiemu rozwiązaniu bez problemu możemy podłączyć do naszego Arduino dowolne urządzenie z wyprowadzeniami w postaci kabli.
Płytka PCB pomiędzy złączami terminala zawiera pola o rastrze 2,54 mm czyli 1/10 cala, pozwalające w trwały sposób przylutować dodatkowe elementy potrzebne w projekcie. Część punktów lutowniczych jest połączonych część wolnych. Dioda LED podłączona jest do punktu D-13.
![]() |
Terminal z zaciskami śrubowymi. |
IO SHIELD
Shield umożliwia w łatwy i przejrzysty sposób podpięcie sensorów do ARDUINO.IO Shield. |
ARDUINO-NANO do ARDUINO-UNO SHIELD
Dzięki tej płytce możliwe jest uruchomienie fabrycznych shield'ów przygotowanych dla platformy UNO przez miłośników platformy NANO.Na płytce jest pełna kompatybilność pinów ARDUINO-UNO R3.
Płytka posiada gniazdo zasilania od 7-12 V, regulatory napięć 3,3 V i 5 V.
Zasilanie poprzez gniazdo USB zabezpieczone jest bezpiecznikiem 500 mA.
Przykładowa konfiguracja płytki..... |
NANO TERMINAL ze złączami śrubowymi.
oraz innych posiadający ten sam rozstaw wyprowadzeń np. płytek z serii Nucleo.
![]() |
Terminal Arduino NANO, NUCLEO ze złączami śrubowymi |
Terminal z "zapiętym" ARDUINO NANO. |
PŁYTKA PROTOTYPOWA type -1-
Na płytce o rastrze 2,54 mm (1/10 cala) mamy:
- dwie diody LED
- dwa przyciski micro-swich
- miejsce lutownicze pod układ 14-Pin SOIC SMD
- złącze ISP
![]() |
Płytka prototypowa o rastrze 2,54 mm. |
PŁYTKA PROTOTYPOWA type -3-
Prototype PCB Protoshield for Arduino UNO R3.
Płytka wykonana jest w rastrze 2,54 mm czyli 1/10 cala,
Średnica otworów: 0,9 mm czyli 0,035 cala.
Wymiary płytki: 68,58 mm x 53,34 mm
Grubość PCB: 1,6 mm
Materiał PCB: FR-4 fiber-glass.
PŁYTKA PROTOTYPOWA COMBO
ARDUINO UNO R3 oraz płytki prototypowe wykonane są w rastrze 2,54 mm.Popularnie raster 2,54 określany jest jako 1/10 cala, jednak dokładnie są to 3/32 cala.
Wiele modułów dla ARDUINO przygotowanych jest w rastrze 2,0 mm.
Raster 2 mm w przeliczeniu daje nam ułamek 5/64 cala.
Lekarstwem na pogodzenie różnych rastrów jest płytka prototypowa COMBO, która na swojej powierzchni ma wydzielone pole z rastrem 2 mm.
MOJE STANOWISKO "PRÓB i TESTÓW" z PŁYTKAMI STYKOWYMI ver 1.0
Budowę stanowiska prototypowego rozpocząłem od zamontowania na płycie ze szkło-epoksydu o wymiarach 225 x 305 mm dwóch uniwersalnych płytek stykowych po 830 pól każda
(830 Point Testing PCB Breadboard) (Solderless Prototype Breadboard). Szkło-epoksyd był na tyle mało sztywny, że poza narożnymi nóżkami musiałem dodać nóżkę podpierającą w środku całe stanowisko prototypowe.
Dodałem jeszcze dwie długie zasilające płytki stykowe 100 polowe - te przy dolnej krawędzi stanowiska. Mają one tą samą długość co płytki stykowe 830 polowe a szerokość tylko dwóch wierszy oznaczonych kolorami i nadrukami: (+) i (-).
Płytki wyposażyłem w moduły zasilające 3,3V i 5V z gniazdem USB, przełącznikiem i diodą LED.
Wąskie płytki stykowe zaopatrzyłem w gniazda DC 2,5/5,5.
Na stanowisku znalazło się ARDUINO UNO R3.
Szybko przykręciłem wyświetlacz LCD 1602 wraz z wlutowanym "odwrotnie" modułem I2C. Tak aby można było spokojnie regulować jasność wyświetlacza i aby był dostęp do zworki.
Problemem była decyzja jaki kolor wyświetlacza wybrać ?!
Następnie zamontowałem trzy liniowe potencjometry obrotowe: 1 KOhm, 10 KOhm i 100 KOhm.
Kolejny był 3-cyfrowy woltomierz.
Następnie:
- wyświetlacz 8-cyfr 7-segmentowy z kontrolerem MAX-7219,
- matryca 8x8 LED ze sterownikiem MAX-7219-CNG,
- zestaw dwóch przekaźników z cewką 12V DC z optoizolacją, obciążalność styków 10A 250V AC,
- przetwornica impulsowa DC-DC step-down oparta o LM-2596 z wyświetlaczem,
- klawiatura 4x4 KeyPad,
- silnik krokowy.
W płytkę stykową widać wpięty moduł ze złączem śrubowym ARK.
Całość zasilam z zasilacza impulsowego 12 V 5 A.