
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03

HiFive1 to pierwsza kompatybilna z Arduino płytka oparta na RISC-V, zbudowana z procesorem FE310 firmy SiFive. Płyta jest około 20 razy szybsza niż Arduino UNO, ale podobnie jak płyta UNO, nie ma łączności bezprzewodowej.
Na szczęście na rynku dostępnych jest kilka niedrogich modułów, które łagodzą to ograniczenie. W tym samouczku użyłem ESP32 lub ESP8266 w celu uzyskania łączności bezprzewodowej. Pomimo tego, jak tani jest ESP-01, ze względu na konieczność zaprogramowania go szkicem Arduino, ESP-01 był mniej praktycznym rozwiązaniem. Aby zaprogramować ESP-01, potrzebuje zewnętrznego adaptera USB na ESP-01, którego nie miałem w czasie tworzenia tego samouczka. (Jeśli jesteś zainteresowany użyciem HiFive1 z ESP-01, skorzystaj z tego linku) Rozważałem również użycie Arduino Shield, ale skończyłem z ESP8266/32 ze względu na stosunkowo wysoką cenę, jaką ma większość tarcz.
Ten projekt skupi się na stworzeniu systemu wykrywania intruzów, który będzie działał poprzez wysyłanie powiadomienia do MQTT Broker za każdym razem, gdy czujnik ultradźwiękowy (SRF05) wykryje obiekt przekraczający jego linię wzroku.
Materiały potrzebne do tego projektu:
- Płyta HiFive1 (można kupić tutaj)
- Moduł deweloperski ESP32 lub NodeMCU ESP8266 1.0
- Rezystor 10k x 2
- rezystor 1k
- Deska do krojenia chleba
- kabel połączeniowy x 6
- Moduł ultradźwiękowy SRF05
- Urządzenie przenośne
Krok 1: Konfiguracja środowiska

Zainstaluj Arduino IDE
1. Postępuj zgodnie z instrukcjami, aby zainstalować pakiet Arduino płyty HiFive1 i sterownik USB.
2. Zainstaluj pakiet płyt ESP32 lub ESP8266 dodając odpowiedni adres URL do "Plik->Preferencje->Additional Boards Manager":
- ESP8266 -
- ESP32 -
Krok 2: Okablowanie ESP32


Jeśli używasz ESP8266, przejdź do kroku 3.
Ważne: SRF05 jest dostępny w 2 wersjach pinout, które są lustrzanymi wersjami siebie, upewnij się, że masz ten sam moduł co mój, korzystając z poniższego linku.
Aby uzyskać więcej informacji technicznych na temat SRF05, kliknij ten link.
GND (HiFive1) - > GND (SRF05)5v (HiFive1) - > VCC (SRF05) DI/O 11 (HiFive1) - > Styk wyzwalający (SRF05)DI/O 12 (HiFive1) - > Styk echa (SRF05)DI/ O 5 (HiFive1) -> Tx (ESP32) DI/O 6 (HiFive1) -> Rx (ESP32)
Uwaga: Upewnij się, że zworka IOREF jest ustawiona na 3,3v.
Krok 3: Okablowanie ESP8266


Ważne: SRF05 jest dostępny w 2 wersjach pinout, które są lustrzanymi wersjami siebie nawzajem, upewnij się, że masz ten sam moduł co mój, korzystając z poniższego linku.
Aby uzyskać więcej informacji technicznych na temat SRF05, kliknij ten link
GND (HiFive1) - > GND (SRF05)5v (HiFive1) - > VCC (SRF05)DI/O 11 (HiFive1) - > Styk wyzwalający (SRF05) DI/O 12 (HiFive1) - > Styk echa (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP8266)DI/O6 (HiFive1) -> Rx (ESP8266)
Uwaga: Upewnij się, że zworka IOREF jest ustawiona na 3,3V.
Krok 4: Programowanie
Kod HiFive1:
Przed programowaniem ustaw "Tools->Board" na płytkę HiFive1, "Tools->CPU Clock Frequency" na "256MHz PLL", "Tools->Programmer" na "SiFive OpenOCD" i wybierz właściwy port szeregowy.
Będziesz także musiał pobrać tę bibliotekę Ultrasonic i ten PubSubClient i wyodrębnić je do folderu Arduino Libraries znajdującego się w "User->Documents->Arduino->Libraries".
ESP32/8266 Kod:
Podczas programowania płyta ESP powinna mieć odłączone sprzętowe styki Rx i Tx. Po pomyślnym przesłaniu kodu ponownie podłącz styki Rx i Tx na ESP, aby zapewnić komunikację między HiFive1 a ESP.
Dla ESP32 - Ustaw "Tools->Board" na "ESP32 Dev Module", "Tools->Programmer" na "AVRISP mkll" i wybierz odpowiedni port szeregowy.
Dla ESP8266 - Ustaw "Tools->Board" na "NodeMCU 1.0 (Moduł ESP-12E)", "Tools->Programmer" na "AVRISP mkll" i wybierz odpowiedni port szeregowy.
Kod szkicu został stąd zapożyczony z modyfikacjami, aby przekształcić go w system wykrywania intruzów.
Krok 5: Konfiguracja klienta




Użyłem brokera MQTT w chmurze (tego) i telefonu z Androidem z tą aplikacją.
Aby wszystko skonfigurować, musisz otworzyć konto.
Użyj dostarczonych zrzutów ekranu, aby przejść przez konfigurację CloudMQTT i aplikacji.
Krok 6: Wynik końcowy




Uwaga: Powinieneś ustawić szybkość transmisji monitora szeregowego na 115200, ponieważ jest to szybkość transmisji, której używamy w naszym szkicu.
Twój końcowy wynik powinien wyglądać podobnie do końcowych zrzutów ekranu
Zalecana:
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków

Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow.: 4 kroki

Object Detection W/ Dragonboard 410c lub 820c Using OpenCV i Tensorflow.: Ta instrukcja opisuje, jak zainstalować OpenCV, Tensorflow i frameworki uczenia maszynowego dla Pythona 3.5 w celu uruchomienia aplikacji Object Detection
Czujnik wody lub alarm przy użyciu tranzystorów 2N2222: 5 kroków

Czujnik wody lub alarm wykorzystujący tranzystory 2N2222: Kto nie nienawidzi, kiedy pada, gdy niektóre rzeczy są na zewnątrz? (i nie zdajesz sobie sprawy, że pada). Przynajmniej ja! Dlatego wymyśliłem taki projekt. Zacznijmy
Wysokościomierz Arduino przy użyciu BMP i SPI lub I2C OLED: 5 kroków

Arduino Altimeter przy użyciu BMP i SPI lub I2C OLED: Przez długi czas szukałem wysokościomierza i temperatury za pomocą jednego czujnika i wyświetlałem go na OLED opartym na SPI. Ponieważ nie mogłem znaleźć niczego precyzyjnego, pomyślałem, że zbuduję własną przy użyciu biblioteki U8glib. W YouTube jest jeden samouczek
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: 18 kroków (ze zdjęciami)

DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: to moja pierwsza publikacja eva artykułu o majsterkowaniu w Internecie. Więc przepraszam za literówki, protokoły itp. Poniższe instrukcje pokazują, jak zrobić PRACOWĄ lutownicę na gorące powietrze odpowiednią do WSZYSTKICH zastosowań wymagających lutowania. To lutowanie gorącym powietrzem