สารบัญ:
- ขั้นตอนที่ 1: สร้างวงจรอิเล็กทรอนิกส์
- ขั้นตอนที่ 2: แก้ไขรหัส Verilog
- ขั้นตอนที่ 3: อัปโหลดรหัส Verilog
- ขั้นตอนที่ 4: อัปโหลดรหัส Raspberry Pi
- ขั้นตอนที่ 5: มาลองดูกัน
วีดีโอ: FPGA Cyclone IV DueProLogic ควบคุมกล้อง Raspberry Pi: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
แม้ว่า FPGA DueProLogic จะได้รับการออกแบบอย่างเป็นทางการสำหรับ Arduino แต่เราจะทำให้ FPGA และ Raspberry Pi 4B สามารถสื่อสารกันได้
มีการใช้งานสามงานในบทช่วยสอนนี้:
(A) กดปุ่มสองปุ่มพร้อมกันบน FPGA เพื่อพลิกมุมกล้อง RPi
(B) Raspberry Pi 4B ควบคุมวงจร LED ภายนอกของ FPGA
(C) ถ่ายทอดสดกล้อง Raspberry Pi บนเบราว์เซอร์ผ่าน WiFi
ขั้นตอนที่ 1: สร้างวงจรอิเล็กทรอนิกส์
ขั้นตอนที่ 2: แก้ไขรหัส Verilog
เมื่อคุณซื้อ FPGA DueProLogic คุณควรได้รับดีวีดี หลังจากที่คุณเปิด "Projects_HDL" คุณจะเห็นไฟล์โค้ด HDL ดั้งเดิม หลังจากที่คุณตั้งค่าพินแพลนเนอร์แล้ว ให้เพิ่มโค้ดที่ไฮไลท์ตามที่แสดงในหัวข้อ 2A, 2B, 2C และ 2D
2A: หากต้องการเปิดใช้งานปุ่มกด คุณต้องใช้รหัสนี้
// สวิตช์ปุ่มกด
สายอินพุต UBA,
สายเข้า UBB
ในการสื่อสารกับ Raspberry Pi คุณต้องเพิ่มสิ่งเหล่านี้
reg sel_send; // เปิดใช้งาน Raspberry pi
เร็กคอร์ด; //รับจาก raspberry pi
2B: ในการกำหนดค่าให้กับพอร์ต คุณควรแก้ไขรหัสตามนั้น
กำหนด XIO_1[3] = start_stop_cntrl;
กำหนด XIO_2[2] = rece; //เอาต์พุตสูงหรือต่ำในวงจร LED
กำหนด XIO_2[3] = ~UBA; //กดปุ่ม
กำหนด XIO_2[4] = UBB; //กดปุ่ม
กำหนด XIO_2[5] = sel_send; // FPGA ส่งสัญญาณไปยังราสเบอร์รี่ pi
กำหนด sel_read= XIO_5[1]; //FPGA รับสัญญาณจากราสเบอร์รี่ pi
กำหนด c_enable = XIO_5[2]; //XIO_5 -- UB57 -- D17
กำหนด LEDExt = XIO_5[5];
2C: หากกดปุ่มสองปุ่มพร้อมกัน FPGA จะส่งเอาต์พุตสูงไปยัง Raspberry Pi
เสมอ @(sel_send หรือ UBB หรือ UBA) //ส่งไปที่ RPi
เริ่ม
ถ้า (UBB == 1'b0 && UBA == 1'b0)
sel_send = 1'b1;
อื่น
sel_send = 1'b0;
จบ
2D: FPGA อ่านสัญญาณจาก Raspberry Pi ด้วยความถี่สัญญาณนาฬิกา 66MHz พอร์ต XIO_2[2] เชื่อมโยงกับ 'rece'
@(sel_read) เสมอ //read pi
เริ่ม
ถ้า (sel_read == 1'b1)
Rece = 1'b0;
อื่น
Rece = 1'b1;
จบ
ขั้นตอนที่ 3: อัปโหลดรหัส Verilog
จากนั้นอัปโหลดไฟล์ pof ที่คอมไพล์ไปยัง FPGA หากตรวจไม่พบฮาร์ดแวร์โดยอัตโนมัติ ให้คลิก "การตั้งค่าฮาร์ดแวร์" เพื่อแก้ไขด้วยตนเอง
ขั้นตอนที่ 4: อัปโหลดรหัส Raspberry Pi
เส้นที่ไฮไลต์ช่วยให้ FPGA สามารถสื่อสารกับ Raspberry Pi
รหัส Raspberry Pi แบบเต็มสำหรับโครงการนี้
A = GPIO.input(พิน) #read FPGAprint(A);
ถ้า(A==1):
camera.rotation = 0
GPIO.output(18, GPIO. LOW) #ส่งไปที่FPGA
ถ้า(A==0):
camera.rotation = 180
GPIO.output(18, GPIO. HIGH) #ส่งไปที่FPGA
ขั้นตอนที่ 5: มาลองดูกัน
เปิดเบราว์เซอร์ของคุณและพิมพ์ที่อยู่ IP ของคุณเช่น 192.168.xx.xxx:8000.
ท้ายที่สุดระบบควรใช้งานได้!
แนะนำ:
FPGA Cyclone IV DueProLogic - ปุ่มกดและไฟ LED: 5 ขั้นตอน
FPGA Cyclone IV DueProLogic - ปุ่มกดและไฟ LED: ในบทช่วยสอนนี้ เราจะใช้ FPGA เพื่อควบคุมวงจร LED ภายนอก เราจะใช้งานต่อไปนี้ (A) ใช้ปุ่มกดบน FPGA Cyclone IV DuePrologic เพื่อควบคุม LED (B) Flash LED บน & ปิดเป็นระยะVideo demo Lab
FPGA Cyclone IV DueProLogic ควบคุมเซอร์โวมอเตอร์: 4 ขั้นตอน
FPGA Cyclone IV DueProLogic ควบคุมเซอร์โวมอเตอร์: ในบทช่วยสอนนี้ เราจะเขียนโค้ด Verilog เพื่อควบคุมเซอร์โวมอเตอร์ เซอร์โว SG-90 ผลิตโดย Waveshare เมื่อคุณซื้อเซอร์โวมอเตอร์ คุณอาจได้รับแผ่นข้อมูลที่แสดงแรงดันไฟฟ้าขณะทำงาน แรงบิดสูงสุด และ Pu
เกม Arduino Cyclone: 5 ขั้นตอน (พร้อมรูปภาพ)
เกม Arduino Cyclone: ฉันไม่เคยเล่นเกมอาเขตไซโคลนจริง ๆ แต่ฉันชอบแนวคิดที่จะเล่นกับเวลาตอบสนองของเรา ฉันออกแบบเกมย่อขนาด ประกอบด้วยไฟ LED 32 ดวงที่สร้างเป็นวงกลม ไฟ LED จะสว่างขึ้นทีละดวงในฐานะผู้ไล่ล่านำ เป้าหมายคือการกดปุ่ม
Cyclone (เกม Arduino LED): 6 ขั้นตอน (พร้อมรูปภาพ)
Cyclone (เกม Arduino LED): ในบทช่วยสอนนี้ ฉันจะสอนวิธีสร้างเกม LED ที่มีโค้ดหรือประสบการณ์เพียงเล็กน้อย! ฉันมีความคิดนี้มาระยะหนึ่งแล้วและในที่สุดก็เริ่มสร้างมันขึ้นมา เป็นเกมสนุก ๆ ที่ทำให้เรานึกถึงเกมอาร์เคดทั้งหมด มีแบบฝึกหัดอื่นเ
เกมอาร์เคด Arduino Cyclone: 6 ขั้นตอน
เกม Arduino Cyclone Arcade: ไฟกะพริบตา! อาร์ดูโน! เกม! ยังต้องพูดอะไรอีก? เกมนี้อิงจากเกมอาร์เคด Cyclone ซึ่งผู้เล่นพยายามหยุดการเลื่อนแบบมีไฟ LED รอบวงกลมที่จุดใดจุดหนึ่ง