Tartalomjegyzék:
- 1. lépés: Elektronikus áramkör építése
- 2. lépés: A Verilog -kód szerkesztése
- 3. lépés: Töltse fel a Verilog -kódot
- 4. lépés: Töltse fel a Raspberry Pi kódot
- 5. lépés: Próbáljuk ki
Videó: FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Annak ellenére, hogy az FPGA DueProLogic -t hivatalosan az Arduino számára tervezték, az FPGA -t és a Raspberry Pi 4B -t kommunikálhatóvá tesszük.
Ebben az oktatóanyagban három feladatot hajtanak végre:
(A) Nyomja meg egyszerre az FPGA két nyomógombját az RPi kamera szögének megfordításához.
(B) A Raspberry Pi 4B vezérli az FPGA külső LED áramkörét.
(C) Élőben közvetítse a Raspberry Pi kamerát a böngészőben WiFi -n keresztül
1. lépés: Elektronikus áramkör építése
2. lépés: A Verilog -kód szerkesztése
Az FPGA DueProLogic megvásárlásakor DVD -t kell kapnia. A "Projects_HDL" megnyitása után látnia kell az eredeti HDL kódfájlt. A tűtervező beállítása után adja hozzá a kiemelt kódot a 2A, 2B, 2C és 2D szakaszban látható módon.
2A: A nyomógombok aktiválásához ezt a kódot kell használnia
// Nyomógombos kapcsolók
bemeneti vezeték UBA,
bemeneti vezeték UBB
A Raspberry Pi -vel való kommunikációhoz ezeket hozzá kell adnia.
reg sel_send; // aktiválja a Raspberry pi -t
reg rece; // málna pi -től kapott
2B: Ahhoz, hogy értékeket rendeljen a portokhoz, ennek megfelelően kell szerkesztenie a kódot
hozzárendelni XIO_1 [3] = start_stop_cntrl;
hozzárendel XIO_2 [2] = rece; // HIGH vagy LOW kimenet a LED áramkörben
hozzárendel XIO_2 [3] = ~ UBA; //nyomógomb
hozzárendel XIO_2 [4] = UBB; //nyomógomb
hozzárendel XIO_2 [5] = sel_send; // Az FPGA jelet küld a málna pi -nek
sel_read hozzárendelése = XIO_5 [1]; // Az FPGA jeleket fogad a málna pi -től
hozzárendel c_enable = XIO_5 [2]; // XIO_5 - UB57 - D17
hozzárendelni LEDExt = XIO_5 [5];
2C: Ha két nyomógombot egyszerre nyom meg, az FPGA HIGH kimenetet küld a Raspberry Pi -nek.
mindig @(sel_send vagy UBB vagy UBA) // küld RPi -nek
kezdődik
ha (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
más
sel_send = 1'b0;
vége
2D: Az FPGA 66MHz órajelű frekvencián olvassa a Raspberry Pi jelét. Az XIO_2 [2] port a "rece" -hez van kapcsolva.
mindig @(sel_read) // olvassa pi
kezdődik
if (sel_read == 1'b1)
rece = 1'b0;
más
rece = 1'b1;
vége
3. lépés: Töltse fel a Verilog -kódot
Ezután töltse fel az összeállított pof fájlt az FPGA -ba. Ha nem észlel automatikusan hardvert, kattintson a "Hardverbeállítás" gombra a kézi javításhoz
4. lépés: Töltse fel a Raspberry Pi kódot
A kiemelt vonalak lehetővé teszik, hogy az FPGA kommunikáljon a Raspberry Pi -vel.
A projekt teljes Raspberry Pi kódja,
A = GPIO.input (pin) #read FPGAprint (A);
ha (A == 1):
kamera.forgatás = 0
GPIO.output (18, GPIO. LOW) #küldés az FPGA -nak
ha (A == 0):
kamera.forgatás = 180
GPIO.output (18, GPIO. HIGH) #küldés az FPGA -nak
5. lépés: Próbáljuk ki
Nyissa meg a böngészőt, és írja be az IP -címét, pl. 192.168.xx.xxx:8000.
Végül is a rendszernek működnie kell!
Ajánlott:
FPGA Cyclone IV DueProLogic - Nyomógomb és LED: 5 lépés
FPGA Cyclone IV DueProLogic - Nyomógomb és LED: Ebben az oktatóanyagban az FPGA -t fogjuk használni a külső LED áramkör vezérlésére. A következő feladatokat fogjuk végrehajtani (A) A LED vezérléséhez használja az FPGA Cyclone IV DuePrologic nyomógombjait. (B) Vaku LED világít & időnként ki
FPGA Cyclone IV DueProLogic vezérlő szervomotor: 4 lépés
FPGA Cyclone IV DueProLogic vezérlő szervomotor: Ebben az oktatóanyagban Verilog kódot írunk a szervomotor vezérléséhez. Az SG-90 szervót a Waveshare gyártja. A szervomotor vásárlásakor kaphat egy adatlapot, amely felsorolja az üzemi feszültséget, a maximális nyomatékot és a javasolt teljesítményt
Arduino Cyclone Game: 5 lépés (képekkel)
Arduino Cyclone Game: Soha nem játszottam az igazi ciklon arcade játékkal, de tetszik az ötlet, hogy a reakcióidővel játszunk. Terveztem egy miniatürizált játékot. 32 LED -ből áll, amelyek kört alkotnak, a LED -ek egyenként világítanak, mint egy ledes üldöző. A cél egy gomb megnyomása
Arduino Cyclone Arcade Game: 6 lépés
Arduino Cyclone Arcade Game: Villogó, mutatós fények! Arduino! Játszma, meccs! Mit kell még mondani? Ez a játék a Cyclone arcade játékon alapul, ahol a játékos megpróbálja megállítani a led körüli görgetését egy adott helyen
Cyclone LED Arcade Game: 4 lépés
Cyclone LED Arcade Game: A projekt célja egy egyszerű játék létrehozása volt egy Arduino használatával, amely interaktív és szórakoztató lenne a gyerekek számára. Emlékszem, hogy a Cyclone arcade játék az egyik kedvenc arcade játékom volt, amikor fiatalabb voltam, ezért úgy döntöttem, hogy megismétlem. T