WEBSD (10 / 12 stap)

Stap 10: Video


Zoals ik al zei aan het begin, ik ben dit project begonnen omdat ik was het lezen van het boek:
Programmering 16-Bit PIC Microcontrollers in C: leren om te vliegen de PIC 24

In een van de hoofdstukken blijkt hoe te genereren van een composiet videosignaal (NTSC een PAL) met de SPI-module van de pic. Dus zijn hier de resultaten van het spelen mee.

----------------------------------------------------------- Video--------------------------------------------------------------
Dit project is een volgende de boeken per pagina. De beste manier om diep te begrijpen wat er gaande is het lezen van het boek. Dus voor deze zal gewoon de code links met geen verklaring (met uitzondering van de opmerkingen in de code).

Een van de folowings in de project-souce in MPLAB opnemen:

CleanScreen.c - lege NTSC frame
TestPatern1.c - Test patroon om te zien of video buffer ik
CornerBox.c - 4 vakjes op de hoeken, om te zien als alle pixels worden weergegeven
RandomPatern.c - test van de plotPixel-functie
LineTest1.c - proberen om een lijn te tekenen
LineTest2.c - Bresenham algoritme voor lijnen
graph1.c - 2D grafiek, berekend door de pic
graph2.c - 3D grafiek, hetzelfde als voorheen maar mooier
Mandelbrot.c - de Mandelbrotverzameling tekenen op de vlieg

(ik stel voor dat u de volgorde om te zien hoe ding zijn ontwikkeld)

Vervolgens compileren en branden van de pic om het werken te zien.

--------------------------------------------------- SDPicture ----------------------------------------------------------------
HACKADAY Bedankt voor de inspiratie en de uitleg van enkele spullen van dit project. Wikipedia ook veel geholpen.

Dit project lezen gewoon de SD-kaart zoekt monochroom, 256 x 192 (schermresolutie), BMP bestanden op de kaart.

Dan het decodeert het en breng de afbeelding naar de video buffer, hen te tonen op het TV-scherm.

Het was gebaseerd op dit project van hackaday: digitale foto frame
Wikipedia was uiterst nuttig voor het maken van mij begrijpen de BITMAP-bestanden: BITMAP

-------------------------------------------------------- Games --------------------------------------------------------------
Een hint in het afsluitende hoofdstuk van het boek die mij. Dubbele buffering kan worden gebruikt om het maken van vloeiende bewegingen op het scherm voor dingen zoals spelletjes.

Dubbele buffer is een methode die wordt gebruikt door elke videokaart voor de productie van afbeeldingen. Een buffer is Toon op het scherm, terwijl de andere is trekken. Wanneer de tekening wordt gedaan zijn buffers verwisseld.

Dat was het, ik nodig om te bouwen van een video game. Maar hoe sommige besturingselementen verbinden met dit bord, 4 pinnen niet zou genoeg zijn voor een directe verbinding. Een andere PIC aangesloten via een seriële poort zou OK. Maar uit een vorige hoofdstuk van het boek ik heb enkele routines te verbinden een PS/2-toetsenbord. Slechts twee pinnen nodig, alleen de truc van de weerstand om te veranderen de 5v niveau vorm naar 3,3 v (het toetsenbord is 5v) van toepassing. 2 pinnen voor het toetsenbord + 2pins voor de video-uitgang, Video toetsenbord bestuur werd gedaan.

Nu net koos een spel, eerste keuze SNAKE. De code is geschreven in een top-down-mode. Een structuur te houden de slang variabelen, routines voor het tekenen van de slang, tekenen het blok van het lichaam...
Is leuk om de code van deze te controleren.

Het was een leuk spel, maar multispeler is beter. Waarom geen beroep doen op een van de klassiekers: PONG. Dit was snel code, maar moet nog steeds nodig enkele Pools.  Ik hoop om een video van deze video games te posten.

Gerelateerde Artikelen