TweeterBie (5 / 9 steg)

Steg 5: Låter kod Arduino



ARDUINOEN

Det är ett allmänt känt att välja Arduino för de flesta av de inbyggda system tack vare sin enkelhet i programplaneringen och den stora mängd resurser för att få ut mest i små tid tid.

Så förbinda Arduino styrelsen till din stationära eller bärbara dator (hädanefter kallad som PC) och brand upp programvaran Arduino

Nu öppnar programmet exempel > flytande kristaller > Hello World som visas nedan.

Se alla pin-anslutningar som beskrivs i programmet kommentarerna i början.

Jag har företrätt det nedan för referens

LCD-modulen körs nu i lite 4 läge i stället för 8-bitars läge.

Med tanke på att dataöverföringen tar dubbelt så lång men det räcker för TweeterBie.

Arduino kod omarbetade.

Följande kodförändringar införs scroll effekten på texten som ska visas.

#include

redan där i skissen för LCD-skärm

initiera bibliotek med numrerar av gränssnittet stiften

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

char inData [141]; Allokera utrymme för sträng max 140 tecken i Tweets

char inChar; Var att lagra karaktären läsa från serieporten

byte index = 0; Index till array peka minnesplatsen

byte bytesrecvd = 0; motverka att kontrollera inkommande byte

void setup() {

Serial.BEGIN(9600); Serial Port att skicka tecken som ska visas

Serial.write ("ström på"); Power upp signal på Debug port efter att anslutning

LCD.BEGIN (16, 2); Ange den LCD antal kolumner och rader

LCD.Print ("hello, world!"); Skriva ut ett meddelande på LCD-provet från gammal sketch

Delay(1000); Tidsfördröjningen tills meddelandet läses av LCD

lcd.setCursor (0, 0); Placera LCD markören på hem positionen.

index = 0; Ange teckenpositionen indexering till noll (noll)

lcd.setCursor (0, 0); sätta tillbaka markören till hem

LCD.Print ("senaste Tweet:"); Visa rubriken på första raden

lcd.setCursor (16, 1); Gå till sista kolumnen i den andra raden och vänta på att tecken ska visas.

}

Detta avslutar installationen av Arduino, nu att skapa Super loopen

void loop() {

index = 0; alltid återställas till noll i början av-data mottagning

While(Serial.available() > 0) / / inte ange i avsnittet om uppgifter finns att läsa

{

IF(index < 140) / / en mindre än storleken på matrisen får bara 140 tecken

{

inChar = Serial.read(); Läs en karaktär

inData [index] = inChar; Förvara den i "inData" array

index ++; Öka om att skriva nästa steg index

inData [index] = '\0'; Lägga till avslutande tecken (Null-tecken) för nästa position

Delay(5); ge 5 millisekunder gap att undvika data korruption

bytesrecvd = index. få det totalt antalet byte som tagits emot

}

} / / hålla loping tills data är tillgängliga

LCD.Clear(); nu klart tidigare Data LCD-skärm

lcd.setCursor (0, 0); Gå till ursprungsläget

LCD.Print ("senaste Tweet:"); Skriv rubriken senaste tweet på första raden

lcd.setCursor (16, 1); gå till slutet av raden på andra raden

LCD.AutoScroll(); Starta automatisk rullning (problemet är kommer att rotera båda rader)

för (int thisChar = 0; thisChar < bytesrecvd; thisChar ++) / / få en karaktär från sparade matrisen

{/ / denna karaktär samtidigt ökar värdet med text rullhjulet

lcd.noAutoscroll(); stoppa rullning

lcd.setCursor (thisChar + 1, 0); Sedan senaste Tweet är flyttade av en position återställer texten.

LCD.Print ("senaste Tweet:"); Som texten tillbaka upp i utgångsläget

lcd.setCursor (16 + thisChar, 1); Ange position för de nya karaktär att ladda i på displayen

LCD.AutoScroll(); / / börja rulla tillbaka igen

LCD.Print(inData[thisChar]); Nu ut karaktären på den förinställda positionen

fördröjning (300); Detta är scroll förseningen krävs för att göra texten lättläst.

}

lcd.noAutoscroll(); Om ingen text är uppdaterad sluta rulla.

Delay(5); vänta på några mikrosekunder innan looping tillbaka...

}

Obs: Ovanstående kod har bifogats som INO fil

Efter dumpning koden och köra med "ENGINEERING GARAGE" i seriell Port

Se Steg
Relaterade Ämnen