LCD Magic (2 / 9 stap)

Stap 2: Gebruik van een schermbuffer


De standaardeffecten worden beperkt. Natuurlijk kunt u de code van de bibliotheek uitbreiden. Met behulp van de buffer in uw script is het meest duidelijk en nodigt voor meer experimenten.

Gewoon initialiseren een array van 4 door 17:

 char screen1[4][17] = { " ", " ", " ", " " }; 

Waarom 17 in plaats van 16? Omdat de char-aray een zogenaamde terminator moet.

Wees voorzichtig om te veranderen van een char binnen het scherm zoals dit:

 screen1[0][c2] = '?';//this between ''is a char //and not like this: screen1[0][c2] = "?";//wrong: this between "" is a string, not a char 

Want dit een char-matrix is. De laatste lijn probeert te passen een tekenreeks binnen deze char, wat resulteert in een fout. (Een string is een karakter met een terminator char, dus ten minste 2 c hars lang.)

Vullen van de buffer gebeurt met een aangepaste stringCopy functie:
We willen vullen de buffer regels op specifieke posities, zodat we geen gebruik van de strCopy maken konden.

 unsigned char myStrCopy( unsigned char startAddress, char *arraySource, char *arrayDest, unsigned char arrayLength){ unsigned char counter = 0; while ( counter < arrayLength){ arrayDest[ startAddress + counter ] = arraySource [ counter ]; counter++; } return startAddress + counter; } 

Deze code"kopiëren" meer C op zoek met behulp van verwijzingen kan worden gemaakt, maar dan u hebt om te begrijpen meer over pointers en tekens. U moet u de aanwijzer in de parameters voor de arraySource, en arrayDest. Dit werkt dan zonder het maken van kopieën van de arays en hebben om terug te keren de gewijzigde arrays. Het is een beetje als het werken met globals.

Om een mooie overgangseffect wordt de inhoud van de buffer overgebracht naar het scherm op een willekeurige manier, maken een beetje van nieuwsgierigheid naar het publiek. Het bericht is geopenbaard, in plaats van gegooid op het scherm.

 void bufferToScreen(){ int cc = 0; //255 times random writing of the characters of the buffer while ( cc< 255 ){ int hx = random(4); int hy = random (16); int hpx = 0;//there is a function for this later on int hpy = 0; if ( hx == 1 || hx == 3) hpx = 1; if ( hx > 1 ) hpy = 16; lcd.setCursor(hy+hpy, hpx); lcd.print( screen1[hx][hy] ); delay(10); cc++; } delay(100); //copy all to be sure all is shown lcd.setCursor(0, 0); lcd.print( screen1[0] ); lcd.setCursor(0, 1); lcd.print( screen1[1] ); lcd.setCursor(16, 0); lcd.print( screen1[2] ); lcd.setCursor(16, 1); lcd.print( screen1[3] ); } 

Met uw tekst in de buffer, kunt u veel meer effecten verzinnen.
Op dit moment bevat de buffer geen speciale tekens.

Gerelateerde Artikelen

Magic 8 Ball Esp8266 en I2c LCD-scherm met

Magic 8 Ball Esp8266 en I2c LCD-scherm met

Ik dacht dat het zou een beetje leuk om te maken een Magic 8 Ball met behulp van een Arduino en een i2c LCD-scherm, dus hier zijn sommige instructies op hoe dit te doen.Stap 1: Spullen die je zal nodigVan een soort Arduino (ik gebruik een esp8266 maa
Privacy monitor gehackt van een oude LCD-Monitor

Privacy monitor gehackt van een oude LCD-Monitor

ten slotte je iets kunt doen met die oude LCD-monitor hebt u in de garage.U kunt het veranderen in een privacy-monitor! Het ziet er helemaal wit voor iedereen behalve u, omdat u zijn "magic" bril!Alles wat je echt moethebben is een paar van de o
Magic Mirror kostuum

Magic Mirror kostuum

dit is mijn 2011 Halloween kostuum. Het is een volledig functionele Toverspiegel kostuum. Er zijn tal van middelen die er voor het maken van magische spiegels, maar ik wilde een stap verder gaan. Alles wat ik vond was voor een installatie, en ik wild
DIY Magic Mirror en Photobooth - Arduino Powered

DIY Magic Mirror en Photobooth - Arduino Powered

een geassembleerd kit voor dit project is nu beschikbaar bijSeeedstudio.comMeer info op dit project op http://diymagicmirror.com De software voor dit project is open source open sourceWie is de mooiste van allemaal. Maak uw eigen Magic Mirror en ontd
De Magic koffer

De Magic koffer

The Magic koffer is een uitloper van de Magic Mirror project diymagicmirror.comDe koffer zit op de top van een laptop die de software wordt uitgevoerd. De laptop is aangesloten op een Arduino die is verbonden aan enkele sensoren. Hier is de logische
Magic 8 Ball

Magic 8 Ball

Dit Instructable ontstond vervulling de project-eis van de Makecourse bij de Universiteit van Zuid-Florida (www.makecourse.com).Hallo en welkom op mijn MakeCourse project. Voor mijn afstudeerproject koos ik om opnieuw een elektronische "magic 8 ball.
Interactieve Magic Mirror met Candy Dispenser

Interactieve Magic Mirror met Candy Dispenser

voor Halloween 2012 heb ik een interactieve Magic Mirror. De Magic Mirror heeft een sonar (PING))) sensor die detecteert wanneer kinderen zijn zijn vlakbij. Vervolgens de mirror zegt een paar willekeurige zinnen en zakt automatisch snoep naar de emme
Magic F bom

Magic F bom

Welkom bij de Magic 8 ball met een houding. In dit Instructable leert u hoe maak je een magische 8-bal met een digitaal scherm. Als u wil niet dat die heeft onbeleefd taal uit het dan is het een eenvoudig vast te stellen.Hoop dat u geniet van!Stap 1:
Temp & vochtigheid Sensor met LCD Disp & LED Indicator

Temp & vochtigheid Sensor met LCD Disp & LED Indicator

In dit instructable, ik heb gebruikt de DHT11 temperatuur & luchtvochtigheid sensor en de Arduino UNO om weer te geven van de huidige temperatuur & vocht lezingen in een 16 x 2 LCD Display. Naast, ik heb ook een 3-LED setup waarin 3 sets van tempe
ATTiny45/85 LCD Weergave besturingselement met een shift register, geprogrammeerd in Arduino

ATTiny45/85 LCD Weergave besturingselement met een shift register, geprogrammeerd in Arduino

uitgevoerd op een ATTiny45 van 85 chip Arduino is een grote kosten-spaarder voor mini-projecten. Echter geen u een HD44780 compatibele LCD display verbinding maken als u nodig hebt 6 uitgangen, maar u slechts 5 hebt. Dit probleem kan worden opgelost
Epson 1770W LCD Projector oververhitting? Repareren!

Epson 1770W LCD Projector oververhitting? Repareren!

Nogmaals ik ben het uitproberen van een andere manier van het schrijven van een Instructable. Ik nam een foto van elke stap in volgorde gegenereerd een GIF dat blijkbaar neemt te wijl voor vracht zo als u niet ziet de bovenstaande GIF dan geef het wa
Uw LCD/LED TV omvormen tot een hologram TV

Uw LCD/LED TV omvormen tot een hologram TV

Ik presenteer de drie eenvoudige stappen te transformeren uw LCD/LED-televisie tot een hologram TV...Zeer eenvoudig en zeer eenvoudig.Stap 1: Knippen en lijm... Vier transparante A4-vellen in trapeziumvormige vormen knippen en samen te voegen tot een
Hoe een Laptop LCD converteren naar een externe Monitor.

Hoe een Laptop LCD converteren naar een externe Monitor.

Hallo daar. Dit is mijn eerste InstructableEen tijdje terug ik zat rond en vroeg zich af wat te doen met mijn stroomloos laptop. Ik wist dat de moederbord was gebakken maar alles was nog in werkende staat. Dientengevolge, ik besloten om een externe m
Hoe maak je een Magic Mirror

Hoe maak je een Magic Mirror

In dit project die zal ik u laten zien toont hoe ik een Magic Mirror gemaakt dat de datum, tijd, wat nieuws en een beetje zin aan de onderkant. U zal een Raspberry Pi, een computerscherm en een webpagina gebruiken om het eruit als je "een intelligent