Artykuły o technologiach IT, programowaniu, testowaniu i nie tylko

ARDUINO, NEOPIXEL STICK I CZUJNIK TEMPERATURY

Czyli jak zrobić termometr za pomocą Arduino?

termometr1Jeśli chcesz zacząć przygodę z Arduino to dobrze trafiłeś. W poniższym artykule opiszę jak zbudować termometr elektroniczny na przykładzie Arduino Micro. Postaram się krok po kroku wyjaśnić jak połączyć poszczególne elementy oraz jak napisać program, który wyświetli zmierzoną temperaturę na pasku złożonym z diod.

Co będzie Ci potrzebne?

komponenty

Źródła obrazków: 1. https://commons.wikimedia.org/wiki/File:Arduino_Micro.jpg, 2. http://www.kr4.us/neopixel-stick-8-x-ws2812-5050-rgb-led.html, 3. http://www.acmesystems.it/1wire, 4. http://sklepwideo.pl/kabel_usb-microusb_0_6m, 5. http://abc-rc.pl/Zworki-zestaw-75, 6. http://shelfkey.com/orderProduct.aspx?prodid=1397&partno=220-1/4W, 7. http://technovade.pl/arduino/arduino-akcesoria/plytka-stykowa-prototypowa-830-otworow.html

  1. Mikrokontroler Arduino. W moim przykładzie używam płytki Arduino Micro. Można też użyć innego modelu Arduino.
  2. NeoPixel Stick. Jest to pasek 8 indywidualnie adresowanych diod. Ja użyłam 5 sztuk czyli w sumie 40 diod. Można użyć więcej bądź mniej. Maksymalna liczba diod podłączonych do jednego pinu mikrokontrolera to około 500.
  3. Czujnik temperatury DALLAS 18B20. Można go zakupić w sklepie internetowym Botland.
  4. Przewód micro USB.
  5. Zestaw przewodów męsko – męskich.
  6. Oporniki 220Ω i 4,7kΩ.
  7.  Płytka stykowa.

Podłączenie elementów

DSC_0471

Podłączenie modułu NeoPixel:

neopixel_tyl

Źródło obrazka: https://www.sparkfun.com/products/12661

Przewody należy przylutować ze strony gdzie widnieje DIN (Data IN – sygnał sterujący z mikrokontrolera). Wyprowadzenie GND (masa modułu) łączymy z pinem GND na płytce Arduino (często również oznaczane symbolem 2000px-Earth_Ground.svg. Wyprowadzenie 5VDC (napięcie zasilania, 18mA na jedną diodę) łączymy z pinem 5V w Arduino, a DIN łączymy z opornikiem 220Ω, a następnie z dowolnym pinem cyfrowym (w moim przypadku jest to pin 13).

Więcej o samej płytce Arduino możesz przeczytać na angielskiej stronie producenta lub po polsku na stronie sklepu internetowego Botland.

stick_back_connection

Źródło obrazka: http://techblog.steelseries.com/2016/04/14/gamesense-fun-with-neopixels.html

W przypadku gdy chcemy połączyć ze sobą więcej modułów NeoPixel Stick to wejście DIN łączymy w wyjściem DOUT (Data OUT – wyjście do podłączenia kolejnego modułu).

Więcej informacji znajdziesz na stronie producenta NeoPixel Stick.

Podłączenie czujnika temperatury:

czujniksensorPierwszą nóżkę (GND) należy połączyć z pinem GND na płytce Arduino. Drugą nóżkę (DQ – Data In/Out) należy połączyć z dowolnym pinem cyfrowym (w moim przypadku pin 2). Trzecią nóżkę (VDD – Power Supply Voltage) należy połączyć z pinem 5V w Arduino. Oprócz tego wyjście DQ należy połączyć z VDD opornikiem 4,7 kΩ.

Więcej informacji znajdziesz w specyfikacji.

Program

arduinoIDE

Aby rozpocząć programowanie należy pobrać Arduino IDE ze strony producenta. Po zainstalowaniu można przystąpić do pracy. Aby wgrać program do mikrokontrolera należy podłączyć go za pomocą przewodu USB. Następnie wybrać odpowiedni typ płytki (Narzędzia -> Płyta -> Arduino Micro) oraz port, do którego podłączone zostało Arduino (Narzędzia -> Port  -> np. COM4). Teraz wystarczy już tylko kliknąć w przycisk z ikoną strzałki i program zostanie wgrany do mikrokontrolera. Po zakończonym wgrywaniu pojawi się komunikat “Skończone wgrywanie”.

Uruchomienie

monitorPo wgraniu programu do mikrokontrolera program od razu zacznie działać. W Arduino IDE możemy otworzyć okno szeregowego monitora i obserwować jaka temperatura jest zwracana przez nasz sensor.

 

Séquence 01_4Czas na test :). Na obrazku po prawej widać działanie termometru. Do czujnika przyłożyłam woreczek z lodem. Widać, że po przyłożeniu lodu temperatura spada. Gdy zabrałam lód to temperatura ponownie się podnosi. Polecam dalsze eksperymentowanie z Arduino. Na stronie producenta można znaleźć całą masę tutoriali i przykładów, a internet roi się od pomysłów i inspiracji, więc do dzieła!

Przydatne linki:

Arduino IDE

Biblioteka OneWire

Strona Adafruit (producent diod NeoPixel)

Specyfikacja czujnika temperatury 

Sklep internetowy z elektroniką

 


  • lubiesezamki

    Ciekawy artykuł Karolino. 🙂 Na początku tekstu — gdzie piszesz o podłączaniu diód — proponuję wspomnieć jeszcze o wydajności prądowej zasilania Arduino. Ogólnie w tym celu powinno być zastosowane zasilanie zewnętrzne (nie polecam najtańszych zasilaczy, bo u mnie zrobiła się dyskoteka jak podłączyłem taśmę złożoną z 60 diód).
    Dodatkowo polecam bibliotekę FastLED http://fastled.io/ jeśli ktoś chce się pobawić diodami na inne sposoby.

Nawigacja