Talaan ng mga Nilalaman:
- Hakbang 1: Pag-configure ng Vivado
- Hakbang 2: Packaging VGA Driver IP
- Hakbang 3: Zynq IP
- Hakbang 4: GPIO IP
- Hakbang 5: I-block ang Memory
- Hakbang 6: Iba Pang IP
- Hakbang 7: SDK
- Hakbang 8: Konklusyon
Video: Pagpapakita ng Salamin: 8 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ang layunin ng proyektong ito ay upang lumikha ng pagpapaandar ng pagpapakita ng imahe ng isang Smart Mirror. Nagawang ipakita ng salamin ang mga pagtataya (maaraw, bahagyang maaraw, maulap, mahangin, ulan, kulog, at niyebe) at mga halaga ng temperatura mula -9999 ° hanggang 9999 °. Ang mga halaga ng pagtataya at temperatura ay mahirap na naka-code na parang gayahin ang mga ito na na-parse mula sa isang API ng panahon.
Gumagamit ang proyekto ng isang Zynq-Zybo-7000 board na nagpapatakbo ng FreeRTOS at gumagamit ng Vivado 2018.2 upang idisenyo at mai-program ang hardware.
Mga Bahagi:
Zynq-Zybo-7000 (na may FreeRTOS)
19 LCD (640x480)
VGA cable
12 "x 18" acrylic mirror
Hakbang 1: Pag-configure ng Vivado
I-download ang Vivado 2018.2 mula sa Xilinx at gamitin ang lisensya sa Webpack. Ilunsad ang Vivado at "Lumikha ng Bagong Project" at bigyan ito ng isang pangalan. Susunod na piliin ang "RTL Project" at lagyan ng tsek ang "Huwag tukuyin ang mga mapagkukunan sa oras na ito." Kapag pumipili ng isang bahagi, piliin ang "xc7z010clg400-1" at ang hit na "Tapusin" sa susunod na pahina.
Hakbang 2: Packaging VGA Driver IP
Idagdag ang vga_driver.sv file sa Mga Pinagmulan ng Disenyo. Susunod, i-click ang "Mga Tool" at piliin ang "Lumikha at Mag-package ng Bagong IP." Piliin ang "I-package ang iyong kasalukuyang proyekto." Pagkatapos pumili ng isang lokasyon ng IP at "Isama ang.xci file." I-click ang "OK" sa popup at pagkatapos ay "Tapusin."
Sa "Mga Hakbang sa Pagbalot" pumunta sa "Suriin at Package" at piliin ang "Package IP."
Ngayon ang vga_driver ay dapat na magagamit bilang isang IP block.
Hakbang 3: Zynq IP
Sa ilalim ng seksyong "IP Integrator", piliin ang "Lumikha ng Disenyo ng I-block." Idagdag ang "ZYNQ7 Processing System" at i-double click ang block. I-click ang "I-import ang Mga Setting ng XPS" at i-upload ang ZYBO_zynq_def.xml file.
Susunod, sa ilalim ng "Pag-configure ng PS-PL" buksan ang dropdown para sa "AXI Non Secure Enablement" at suriin ang "M AXI GP0 interface."
Susunod, sa ilalim ng "MIO Configuration" buksan ang dropdown para sa "Application Processor Unit" at suriin ang "Timer 0" at "Watchdog."
Panghuli, sa ilalim ng "Clock Configuration" buksan ang dropdown para sa "PL Fabric Clocks" at suriin ang "FCLK_CLK0" at sa 100 MHz.
Hakbang 4: GPIO IP
Magdagdag ng dalawang bloke ng GPIO sa Disenyo ng Block. Gagamitin ang mga GPIO upang makontrol ang address ng pixel at ang mga bahagi ng RGB ng mga pixel. I-configure ang mga bloke tulad ng ipinakita sa mga imahe sa itaas. Kapag naidagdag at na-configure mo ang parehong mga bloke pagkatapos ay i-click ang "Run Connection Automation."
GPIO 0 - Kinokontrol ng Channel 1 ang address ng pixel at kinokontrol ng Channel 2 ang pulang kulay.
Ang GPIO 1 - Kinokontrol ng Channel 1 ang berdeng kulay at kinokontrol ng Channel 2 ang asul na kulay.
Hakbang 5: I-block ang Memory
Magdagdag ng isang Block Memory Generator IP sa Block Design at i-configure tulad ng ipinakita sa itaas. Ang mga kulay ng pixel ay nakasulat sa mga memory address na pagkatapos ay basahin ng driver ng VGA. Ang linya ng address ay kailangang tumugma sa dami ng mga pixel na ginagamit kaya kailangan itong maging 16 na piraso. Ang data sa ay 16 din bit dahil mayroong 16 na kulay na piraso. Wala kaming pakialam tungkol sa pagbabasa ng anumang kinikilala na mga piraso.
Hakbang 6: Iba Pang IP
Ipinapakita ng nakalakip na pdf ang nakumpleto na Disenyo ng Block. Idagdag ang nawawalang IP at kumpletuhin ang mga koneksyon. Gayundin ang "Gumawa ng Mga Panlabas" para sa mga output ng kulay ng VGA at ang patayo at pahalang na mga output ng pag-sync.
xlconcat_0 - Pinagsasama ang mga indibidwal na kulay upang bumuo ng isang 16 bit RGB signal na pinakain sa Block RAM.
xlconcat_1 - Pinagsasama ang mga signal ng haligi at hilera mula sa driver ng VGA at pinakain sa Port B ng Block RAM. Pinapayagan nito ang driver ng VGA na basahin ang mga halagang kulay ng pixel.
VDD - Patuloy na nakakonekta sa HINDI sa pagsulat na paganahin ang Block RAM upang maaari kaming palaging tama dito.
xlslice_0, 1, 2 - Ginagamit ang mga hiwa upang masira ang signal ng RGB sa indibidwal na mga signal ng R, G, at B na maaaring mapakain sa driver ng VGA.
Kapag nakumpleto na ang Disenyo ng Block, bumuo ng isang HDL wrapper at idagdag ang mga hadlang na file.
* Ang Disenyo ng Block ay batay sa tutorial na isinulat ni benlin1994 *
Hakbang 7: SDK
Ang code na nagpapatakbo ng Disenyo ng Block na ito ay kasama sa ibaba. Naglalaman ang Init.c ng mga pagpapaandar na humahawak sa pagguhit (mga pagtataya, bilang, simbolo ng degree, atbp.). Ang pangunahing loop sa main.c ay kung ano ang tumatakbo kapag ang board ay na-program. Itinatakda ng loop na ito ang mga halaga ng pagtataya at temperatura at pagkatapos ay tawagan ang mga paggana ng pagguhit sa init.c. Kasalukuyan itong nag-loop sa lahat ng pitong mga pagtataya at sunod-sunod na ipinapakita. Inirerekumenda na magdagdag ka ng break point sa linya 239 upang makita mo ang bawat imahe. Ang code ay nagkomento at bibigyan ka ng karagdagang impormasyon.
Hakbang 8: Konklusyon
Upang mapabuti ang kasalukuyang proyekto, maaaring mag-upload ang isang preload na mga imahe ng pagtataya sa mga form ng mga file ng COE sa I-block ang Mga Generator ng Memorya. Kaya sa halip na iguhit nang manu-mano ang mga pagtataya tulad ng ginawa namin sa C code, maaaring mabasa ng isa ang mga imahe. Sinubukan naming gawin ito ngunit hindi namin ito gumana. Nabasa namin ang mga halagang pixel at na-output ang mga ito ngunit lumikha ito ng mga kalat na imahe na hindi katulad ng na-upload namin sa RAM. Ang data ng Block Memory Generator ay kapaki-pakinabang na basahin.
Ang proyekto ay mahalagang kalahati ng isang Smart Mirror dahil nawawala ang aspeto ng pagkakakonekta sa internet. Ang pagdaragdag nito ay magbibigay ng isang kumpletong Smart Mirror.
Inirerekumendang:
Pagpapakita ng CO2: 9 Mga Hakbang (na may Mga Larawan)
Pagpapakita ng CO2: Tulad ng iminumungkahi ng pangalan nito, ang proyekto sa Display ng CO2 ay isang maliit na sensor ng gas gas na mai-plug sa USB upang madaling masubaybayan ang polusyon sa panloob at panlabas. Ang antas ng CO2 ay ipinapakita nang live, ngunit posible sa maliit na application na ibinigay sa dokumentasyon
8051 Interfacing Sa DS1307 RTC at Pagpapakita ng Timestamp sa LCD: 5 Mga Hakbang
8051 Interfacing With DS1307 RTC at Displaying Timestamp sa LCD: Sa tutorial na ito ipinaliwanag namin sa iyo tungkol sa kung paano namin mai-interface ang 8051 microcontroller sa ds1307 RTC. Narito ipinapakita namin ang RTC oras sa lcd gamit ang proteus simulation
Simpleng Pagpapakita ng Panahon Gamit ang Raspberry PI at Cyntech WeatherHAT: 4 na Hakbang
Simple Weather Display Gamit ang Raspberry PI at Cyntech WeatherHAT: * Noong 2019 binago ng Yahoo ang API nito, at tumigil ito sa paggana. Hindi ko namalayan ang pagbabago. Noong Setyembre ng 2020 ang proyektong ito ay na-update upang magamit ang OPENWEATHERMAP API Tingnan ang na-update na seksyon sa ibaba, ang natitirang impormasyon na ito ay mabuti pa rin
Pagpapakita ng Edge-Lit Seven Segment Clock: 16 Hakbang (na may Mga Larawan)
Edge-Lit Seven Segment Clock Display: Pitong segment na pagpapakita ang nasa paligid ng higit sa isang siglo (https://en.wikipedia.org/wiki/Seven-segment_display) at bubuo ng pamilyar na hugis ng mga numero sa mga digital na relo, mga panel ng instrumento at maraming iba pang mga pagpapakita sa bilang. Naging
DHT 11 Pagpapakita ng Temperatura at Humidity: 4 na Hakbang
DHT 11 Temperatura at Humidity Display: Mga Kinakailangan na Bahagi (UK Shopping Stock) Arduino Nano - https://www.amazon.co.uk/Arduino-compatible-Nano-CH340-USB/dp/B00ZABSNUSDHT 11 Sensor - https: // www .adafruit.com / product / 3861.3 " OLED Green Screen https://www.amazon.co.uk/DSD-TECH-Screen-Support