Witam majsterkowiczów! Nazywam się Mateusz i chcę wam przedstawić mój projekt wykorzystujący nadajnik i odbiornik RF 433Mhz oraz cyfrowy czujnik temperatury DS18B20. Jest to mój pierwszy artykuł na Majsterkowiczach, więc proszę o wyrozumiałość :) Do tego projektu wykorzystałem Arduino nano i Raspberry Pi model B. Ten sam projekt można wykonać wykorzystując dwa Arduino, jeżeli ktoś byłby tym zainteresowany mogę zrobić o tym oddzielny artykuł.
Zdjęcia:




Co będzie nam potrzebne:
- Raspberry Pi,
- Dowolne Arduino,
- Cyfrowy czujnik temperatury DS18B20,
- Rezystor 4.7k Ohm lub 10k Ohm (Ja użyłem 4.7k Ohm),
- Ekran LCD na I2C (Ja użyłem ekranu 20×4),
- Moduł radiowy i odbiornik 433Mhz,
- Przewody połączeniowe,
- Mała płytka stykowa.
- Podłączamy wszystkie elementy wg. schematu:
- Gdy już wszystko podłączyliśmy, to zanim przystąpimy do kodu powinniśmy wgrać biblioteki do naszego Arduino
Wgrywamy bibliotekę OneWire, DallasTemperature, VirtualWire. - Uruchamiamy Arduino IDE i wpisujemy nasz kod:
- Wgrywamy nasz kod na Arduino i przystępujemy do przygotowania naszego Raspberry.
- Instalujemy pakiet WiringPi
- Następnie pobieramy program do odbierania temperatur z naszego Arduino.
- Powinniśmy zobaczyć temperatury wysyłane z Arduino, teraz zostało nam sprawić by program uruchamiał się automatycznie i napisać program w pythonie, który będzie dzielił nasz wynik przez 1000 i wyświetlał go na ekranie LCD.
i do pliku dopisujemy
- Teraz tworzymy dwie biblioteki dla naszego ekranu:
i wklejamy kod:
- W końcu tworzymy nasz program wyświetlający temperaturę.
Udało nam się wyświetlić temperaturę na naszym ekranie z Arduino Nano :).
Jak macie jakieś pytania lub zauważyliście jakiś błąd piszcie w komentarzach postaram się na nie odpowiedzieć :). Pozdrawiam Mateusz.
Hej, też jestem Mateusz :DD
mam pytanko, w jakim celu skorzystałeś z biblioteki RCSwitch zamiast normalnego VirtualWire?
Cześć :D
Wykorzystałem bibliotekę RCSwitch, bo jest ona również dostępna na RPi i wiem, że będzie to na 100% kompatybilne ze sobą. Ale jak będę miał wolny czas to spróbuję również użyć VirtualWire jak mi się uda to gdzieś to dodam. Widziałem twój kanał na YT super filmy tworzysz, tylko mało ich jest :(. Pozdrawiam Mateusz
Chętnie bym tworzył więcej gdybym miał czas, od jakiegoś czasu staram się dodawać filmy raz na tydzień ale to też nie zawsze wychodzi. Czasami też mam problemy z tym g*em jakim jest Movie Maker…. czas się przesiąść na coś lepszego…
Polecam ci pobrać i używać Sony Vegasa, mnie jeszcze nigdy nie zawiódł. Jak będziesz miał jakiś problem to pisz do mnie np. na maila iwaniszczukmateusz@gmail.com lub na GG: 25863455 z chęcią pomogę :)
Każdy poleca ale nikt nie chce płacić xD
Polecam zakupy w sieciach sklepów torrent :).
Zmieniłem bibliotekę na VirtualWire :P
Wszystko fajnie ale taki dokładny termometr przydał by mi się na arduino. 3 miejsca po przecinku to fajna sprawa. Mam nadzieję że odzwierciedla rzeczywistość.
Na arduino to trzeba było by chyba zmodyfikować bibliotekę, żeby zwracała temperature z 3 miejscami, na raspberry z tym nie ma problemu bo jak podzieli się wynik z pliku przez 1000 to wychodzi temperatura z 3 miejscami po przecinku. Termometr jest super dokładny, często porównuje te temperatury z tymi co są dostępne na różnych stronach w internecie i się nie wiele różnią max o 1 stopień. Nie wiem jak jest w wersji wodoodpornej ale w tej z założoną izolacją z pozostałości po skrętce jest super. Pozdrawiam Mateusz :)
Temperaturę można zobaczyć jeszcze na stronie: http://89.229.136.81/
Oraz z aplikacji na androida. Może kiedyś opiszę jak zrobić taką aplikację z sterowaniem diodą rgb normalnymi diodami i temperaturą.
Dioda rgb:
Super projekt, tylko kod jakbyś bardziej wyjaśnił to było by super. Ja jak kupię jakieś arduino to spróbuje zrobić to u siebie. Za pomysł daję 5.
Do kodu na Arduino dodałem komentarze, mam nadzieję, że teraz już wiadomo co znaczy każda linijka kodu :)
Kody nie działają :( Nie wiem, dlaczego ale przy uruchomieniu RFSniffer’a nie czyta żadnych kodów z transmitera.
Ja mam dokładnie to samo, zamówiłem już drugi pakiet RF 433 i zobaczymy co z tego wyjdzie.
Witaj, co to jest za układ pomiędzy wyświetlaczem, a Raspberry Pi? Bo niby LCD można podłączyć bezpośrednio do maliny, ale sterując tym kontrolerem przez I2C mamy dobry zysk nóżek ;-)
Projekt spoko.
To jest Konwerter sygnału wyświetlacza HD44780 na 4pin z sygnału I2C TWI IIC .
http://allegro.pl/konwerter-lcd-hd44780-i2c-iic-twi-arduino-avr-arm-i5900520901.html
Super, dzięki ;-)
A nie lepiej było od razu zrobić to z biblioteką RadioHead, biblioteka Virtualwire nie jest już od kilku lat wspierana.
Masz może pomysł, jak wykorzystać jeden odbiornik, i kilka nadajników? To byłoby fajne i tanie rozwiązanie na kilka (kilkanaście_ termometrów do automatyki domowej. Jak dałoby się to jeszcze wpiąć w ethernet (nawet modół W5100) to byłoby super
Czy do raspberry też trzeba jakieś kody wprowadzić?
1.Czy do raspberry też trzeba wgrać do pythona jakieś kody?
Potrzebuje sterowac pilotem RF 433mhz urzadzenia podpiete do raspberry pi z odbiornikiem RF. Widzial ktos taki projekt?
Przydał by się projekt z użyciem Bluetooth 4.1