Spisu treści:
- Krok 1: Zbuduj obwód elektroniczny
- Krok 2: Edytuj kod Verilog
- Krok 3: Prześlij kod Verilog
- Krok 4: Prześlij kod Raspberry Pi
- Krok 5: Spróbujmy
Wideo: FPGA Cyclone IV DueProLogic steruje kamerą Raspberry Pi: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Pomimo tego, że FPGA DueProLogic jest oficjalnie zaprojektowane dla Arduino, zamierzamy sprawić, by FPGA i Raspberry Pi 4B były komunikowalne.
W tym samouczku zaimplementowano trzy zadania:
(A) Jednocześnie naciśnij dwa przyciski na FPGA, aby zmienić kąt kamery RPi.
(B) Raspberry Pi 4B steruje zewnętrznym obwodem LED FPGA.
(C) Transmisja na żywo z kamery Raspberry Pi w przeglądarce przez Wi-Fi
Krok 1: Zbuduj obwód elektroniczny
Krok 2: Edytuj kod Verilog
Kupując FPGA DueProLogic, powinieneś otrzymać płytę DVD. Po otwarciu „Projects_HDL” powinieneś zobaczyć oryginalny plik kodu HDL. Po skonfigurowaniu planera pinów dodaj podświetlony kod, jak pokazano w sekcji 2A, 2B, 2C i 2D.
2A: Aby aktywować przyciski, musisz użyć tego kodu
//Przełączniki przyciskowe
przewód wejściowy UBA,
przewód wejściowy UBB
Aby komunikować się z Raspberry Pi, musisz je dodać.
reg sel_send; //aktywuj Raspberry Pi
rejestracja; //otrzymane z pi malinowego
2B: Aby przypisać wartości do portów, należy odpowiednio edytować kod
przypisz XIO_1[3] = start_stop_cntrl;
przypisz XIO_2[2] = odbierz; //wyjście HIGH lub LOW w obwodzie LED
przypisz XIO_2 [3] = ~UBA; //naciśnij przycisk
przypisz XIO_2 [4] = UBB; //naciśnij przycisk
przypisz XIO_2[5] = sel_send; // FPGA wysyła sygnał do raspberry pi
przypisz sel_read= XIO_5[1]; //FPGA odbiera sygnał z raspberry pi
przypisz c_enable = XIO_5[2]; //XIO_5 - UB57 - D17
przypisz LEDExt = XIO_5[5];
2C: Jeśli dwa przyciski zostaną wciśnięte jednocześnie, FPGA wysyła sygnał wyjściowy HIGH do Raspberry Pi.
zawsze @(sel_send lub UBB lub UBA) //wyślij do RPi
rozpocząć
jeśli (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
w przeciwnym razie
sel_send = 1'b0;
kończyć się
2D: Układ FPGA odczytuje sygnał z Raspberry Pi o częstotliwości taktowania 66MHz. Port XIO_2[2] jest połączony z 'rece'.
zawsze @(sel_read) //odczytaj pi
rozpocząć
jeśli (sel_read == 1'b1)
rece = 1'b0;
w przeciwnym razie
rece = 1'b1;
kończyć się
Krok 3: Prześlij kod Verilog
Następnie prześlij skompilowany plik pof do FPGA. Jeśli żaden sprzęt nie zostanie wykryty automatycznie, kliknij „Konfiguracja sprzętu”, aby poprawić go ręcznie
Krok 4: Prześlij kod Raspberry Pi
Podświetlone linie umożliwiają komunikację FPGA z Raspberry Pi.
Pełny kod Raspberry Pi dla tego projektu,
A = GPIO.input(pin) #odczytaj FPGAprint(A);
jeśli(A==1):
obrót kamery = 0
GPIO.output(18, GPIO. LOW) #wyślij do FPGA
jeśli(A==0):
obrót kamery = 180
GPIO.output(18, GPIO. HIGH) #wyślij do FPGA
Krok 5: Spróbujmy
Otwórz przeglądarkę i wpisz swój adres IP, np. 192.168.xx.xxx:8000.
W końcu system powinien działać!
Zalecana:
FPGA Cyclone IV DueProLogic - przycisk i dioda LED: 5 kroków
FPGA Cyclone IV DueProLogic - Przycisk i dioda LED: W tym samouczku użyjemy układu FPGA do sterowania zewnętrznym obwodem diody LED. Zamierzamy wykonać następujące zadania (A) Użyj przycisków na FPGA Cyclone IV DuePrologic do sterowania diodą LED. (B) Dioda Flash włączona & okresowo wyłączaj Demo wideo Lab
FPGA Cyclone IV DueProLogic steruje serwomotorem: 4 kroki
FPGA Cyclone IV DueProLogic steruje serwomotorem: W tym samouczku napiszemy kod Veriloga do sterowania serwomotorem. Serwo SG-90 jest produkowane przez firmę Waveshare. Kupując serwosilnik, możesz otrzymać kartę katalogową, która zawiera napięcie robocze, maksymalny moment obrotowy i proponowaną Pu
Jak zrobić system Wi-Fi, który steruje oświetleniem i ogrzewaniem akwarium: 5 kroków?
Jak zrobić system Wi-Fi, który steruje oświetleniem i ogrzewaniem akwarium: Co robi? System, który automatycznie włącza / wyłącza akwarium zgodnie z harmonogramem lub ręcznie za pomocą przycisku lub żądania internetowego. System, który monitoruje temperaturę wody i wysyła wiadomości e-mail oraz alerty w przypadku
Gra Arduino Cyclone: 5 kroków (ze zdjęciami)
Gra Arduino Cyclone: Nigdy nie grałem w prawdziwą grę zręcznościową Cyclone, ale podoba mi się pomysł, aby grać z naszym czasem reakcji. Zaprojektowałem zminiaturyzowane gry. Składa się z 32 diod LED tworzących okrąg, diody LED zapalają się jedna po drugiej jak chaser led. Celem jest naciśnięcie przycisku
Samouczek: Jak Arduino steruje wieloma urządzeniami o tym samym adresie za pomocą multipleksera TCA9548A I2C: 3 kroki
Samouczek: Jak Arduino kontroluje wiele urządzeń o tym samym adresie za pomocą multipleksera TCA9548A I2C: Opis: Moduł multipleksera TCA9548A I2C umożliwia podłączenie urządzeń o tym samym adresie I2C (do 8 tego samego adresu I2C) podłączonych do jednego mikrokontrolera. Multiplekser pełni funkcję strażnika, przerzucając polecenia do wybranego zestawu