Lichtkranttekst met Arduino en Adafruit TFT schild (2 / 2 stap)

Stap 2: Hoe het werkt


In deze demo weergegeven we deze tekenreeks:
. . Tekst schuiven met Adafruit TFT schild... (47 karakters?)
De tekst wordt weergegeven in de lichtkrant mode, in grote letters, met 18 tekens op het scherm scrollen.
U kunt de tekst vervangen door uw eigen bericht dat u wilt om te scrollen over het scherm.

De werking van de schets
-het merendeel van de werkzaamheden bij het monteren van de snaren van tekens dat wordt weergegeven in deze regel wordt gedaan:
{
t += text.charAt ((offset + i) % text.length());
}
Als je die lijn begrijpt, hoeft u niet enige verdere uitleg; stoppen met lezen.

-voort
U moet begrijpen hoe deze routine werkt voor iedereen anders, of het zal niet interessant, dus blijven lezen.
In deze uitleg zullen we een eenvoudiger voorbeeld, met een kortere tekst gebruikt.
String tekst = "Hello" (dat is 5 tekens).
En we zullen een kortere lichtkrant weergavebreedte bepalen.
Const int breedte = 10;
Ons doel is om deze tekenreeksen opeenvolgend worden weergegeven in het venster Eigenschappen voor beeldscherm:
HelloHello
elloHelloH
lloHelloHe
enz.

Om bij te houden waar we elke opeenvolgende tekstreeks beginnen we de variabele 'offset' gebruiken.
offset wordt verhoogd in de volgende regel om het beginpunt van de weergegeven tekenreeks.
voor (int offset = 0; offset < text.length(); offset ++)
in het volgende voorbeeld:
HelloHello offset == 0
elloHelloH offset == 1
lloHelloHe offset == 2
en zo verder totdat offset gelijk aan 5 is
Zoals hierboven vermeld, offset houdt spoor van het beginpunt van de tekenreeks.
We gebruiken een lus met de teller string i bij het monteren van de rest van de tekst telkens wordt de tekst weergegeven.
for (int i = 0; ik < breedte; i ++)
breedte is 10. Door het doorlopen van deze lus zullen 10 maal wij assembleren een tekenreeks die gelijk is aan de breedte van het marquee-weergavevenster, die 10 tekens is. We doen dit alles vóór het afdrukken de tekst naar het scherm.
Volgende halte is de regel dat bovengenoemde assembleert de tekenreeks één teken tegelijk als wij stapsgewijs door de i lus:
t += text.charAt ((offset + i) % text.length());
De eerste keer via deze lus t houdt de tekenreeks H. De tweede keer hij- en enzovoort, voor de 10 herhalingen van de lus, op welk punt t HelloHello houdt.
Wanneer de lus is voltooid, wordt de tekenreeks naar het scherm afgedrukt in de schets.
TFT.Print(t);
Op de eerste iteratie-offset == 0 en ik == 0. Text.length() == 5, dat is de lengte van onze string.
Dit geeft het resultaat t += text.charAt(0 % 5);
0% 5 gebruik de modulo operator %
Restbepaling bij deling is de rest wanneer twee gehele getallen zijn verdeeld.
0 gedeeld door 5 produceert rest 0.
Dus het resultaat van 0% 5 (vervangen door 0 mod 5) 0
En text.charAt(0) is het eerste teken van de tekenreeks: H.
De tweede keer door deze lus wordt ik verhoogd naar 1.
Het resultaat van 1% 5 (of 1 mod 5) is 1.
Dit voegt het tweede teken, e, aan de tekenreeks t. t nu is hij
Na 10 iteraties houdt t de tekens HelloHello.
Vervolgens drukken we t
TFT.Print(t);
En dan de offset variabele wordt verhoogd, gaan we via de i nieuwe lus starten, en wij assembleren de tekenreeks elloHelloH. De weergave wordt geschoven!

Gerelateerde Artikelen

Beheersing van een LED met arduino en Wifly schild

Beheersing van een LED met arduino en Wifly schild

Om te demonstreren hoe u apparaten via wifi met behulp van de arduino wifly shield kunt controleren, zal ik schakelaar aan en uit een LED door een http-verzoek te sturen vanuit mijn webbrowser naar het wifly-schild.Vereisten:1. de Arduino uno2. Wifly
Hoe te gebruiken 2,4" TFT LCD schild met Arduino Mega

Hoe te gebruiken 2,4" TFT LCD schild met Arduino Mega

Vandaag, ga ik je laten zien dat wij gebruiken 2,4" TFT LCD schild willen (er is mcufriend.com schrijft over dit schild) met Arduino Mega werkt, want het is niet zo makkelijk te lopen van elkaar. Maar met deze instructies kunt u uitvoeren en Wijzig c
Hoe te gebruiken 2.4 inch TFT LCD SPFD5408 met arduino MEGA 2560

Hoe te gebruiken 2.4 inch TFT LCD SPFD5408 met arduino MEGA 2560

Dit instructable zal u tonen hoe het SPFD5408 2.4 Inch LCD-scherm aan de arduino MEGA interfaceStap 1:Stap 2: BibliothekenSommigen van u kunnen hebben gekocht deze LCD-scherm of het denken op het krijgen vaneen. Haar een groot scherm voor het weergev
Gebruik uw Adafruit rgb lcd Pi plaat (voor Raspberry Pi) met Arduino

Gebruik uw Adafruit rgb lcd Pi plaat (voor Raspberry Pi) met Arduino

Hallo iedereen.Zoals de titel al zegt leert u hoe u uw Adafruit rgb lcd Pi plaat maar met Arduino. Ik kocht eens een maar nooit gebruikt met mijn Raspberry Pi en ik was op zoek naar een manier om het te gebruiken met mijn Arduino projecten. Met deze
Hoe te gebruiken 2.4 inch TFT LCD SPFD5408 met Arduino Uno en Mega

Hoe te gebruiken 2.4 inch TFT LCD SPFD5408 met Arduino Uno en Mega

Dit Instructable is om te weten hoe te werken TFT 2.4 met de controller SPFD5408met de bibliotheken van Adafruit voor TFT.Deze bibliotheek werkt de Adafruit TFT bibliotheken gewijzigd in TFT 2.4 schilden met de SPFD5408-controller.Nu is het voor Uno
XY MIDI Pad met Arduino en TFT

XY MIDI Pad met Arduino en TFT

Enkele weken geleden, toen ik keek na sommige ideeën/modules/schilden om te beginnen van nieuwe projecten/experimenten met microcontrollers vond ik iets interessant dat zou perfect passen in mijn oudere project "USB MIDI Controller met Aduino".I
Office buurman schild met Arduino

Office buurman schild met Arduino

In de volgende Instructable laten we u hoe maak je een Arduino-gecontroleerde office buurman schild.Dit project is een beetje anders dan wat we tot nu toe hebben gedaan aangezien u wilt aanbrengen de stand en het handvat voor het scherm.In de video z
Arduino seriële Terminal Oled met bibliotheek van Adafruit SSD1306

Arduino seriële Terminal Oled met bibliotheek van Adafruit SSD1306

Ik gebruikte de bibliotheek en de afbeeldingen Adafruit_GFX Adafruit_SSD1306 ik het platform van de Arduino gebruikt als seriële terminal maakteen de tekens ontvangen atravez een mini OLED-scherm, dit is alleen het eerste deel van een iets meer compl
DIY Bluetooth telefoon gecontroleerd BB-8 Droid met Arduino UNO

DIY Bluetooth telefoon gecontroleerd BB-8 Droid met Arduino UNO

Ik ben een grote fan van Star Wars en toen zag ik de Star Wars: The Force ontwaakt dacht ik dat ik behoefte aan een BB-8 droid. Het was geweldig hoe dit kleine gebied verplaatst in de film. Dus heb ik besloten dat ik moet dit droid die is gebaseerd o
Android gecontroleerd Bot met behulp van Adafruit motor Shield

Android gecontroleerd Bot met behulp van Adafruit motor Shield

Dit is een eenvoudige hobby circuit van Android gecontroleerd Bot usin Adafruit motor Shield & Arduino uno. De belangrijkste component die hier gebruikt is de Adafruit motor shield, Arduino Uno, Bluetooth & Android apparaat. Met behulp van Motor S
DIY gemotoriseerde bewegende timelapse camera dolly met Arduino

DIY gemotoriseerde bewegende timelapse camera dolly met Arduino

dit is mijn poging in het maken van een dolly voor een camera. Eerlijk gezegd mijn kennis over fotografie is beperkt, maar ik heb vrienden helpen met dit deel. Wat betreft het gebouw deel dat ik het aankan. Ik voor het eerst zag een bewegende video t
Real-time temperatuur loggen met Arduino, NodeJS en Plotly!

Real-time temperatuur loggen met Arduino, NodeJS en Plotly!

De motivatie voor dit project gekiemde na het lezen over Mark Zuckerberg de wens om te creëren een slimme huis voor een van zijn projecten van 2016. Worden geïntrigeerd mezelf, ik wilde proberen uit te voeren een zeer fundamentele temperatuur-logboek
Mijn tweede Project: Arduino 2,4" TFT

Mijn tweede Project: Arduino 2,4" TFT

Laatste keer had ik een project op 16 x 2 LCD display. Na dat ik dacht, 'het zou geweldig als met behulp van een kleurenscherm plaats.' Toen ik een kleurenscherm voor Arduino UNO zocht, vond ik er is beperking met behulp van UNO:"Vanwege de grootte v
Mini weerstation met Arduino

Mini weerstation met Arduino

Dit is mijn eerste instructable en eerste volwaardige Arduino project. Hoewel je kan het vinden van soortgelijke project, leert ik alot van dit project.Stap 1: Doel van weerstation Deze eenvoudige weerstation temperatuur en vochtigheid lezen van sens