COI - rullande Text (3 / 4 steg)
Steg 3: Programmering/kod
Ladda ner filen i slutet av den instructable eller kopiera följande kod till din Arduino-Intel IDE (Integrated Development Environment). Ladda upp koden till Edison styrelsen.
Detta är ett bibliotek av funktioner för att förenkla uppgiften att konfigurera rullning koden på LCD-skärmen
Det finns flera lägen av text rullning:
Kontinuerlig rullning - tecken kommer att rulla över LCD-skärmen när de läggs.
Loopas rullning - uppdatera en sträng som rullar på loop, väljer raden du vill bläddra.
#include
#include
rgb_lcd lcd;
CONST int lcdRows = 2;
CONST int lcdCols = 16.
int milisPerChar = 125;
lång prevMilis = 0;
int scrollPos [lcdRows];
Sträng prevStrings [lcdRows];
EXEMPEL STRÄNGAR:
String scrollingText = "denna text kommer att rulla på den angivna räntan på loop från höger till vänster."
void initLCD() {
LCD.BEGIN (lcdCols, lcdRows);
för (int jag = 0; jag < lcdRows; i ++) {
scrollPos [i] = 0;
prevStrings [i] = "";
för (int j = 0; j < lcdCols - 1; j ++) {
prevStrings [i] + = "";
}
}
lcd.setRGB(255,255,255); Vit som standard kan anpassas
}
void scrollLCD (int rowNum, String text) {
text = text + "";
IF(Millis() - prevMilis > milisPerChar) {
scrollPos [rowNum] += (millis ()-prevMilis) / milisPerChar;
scrollPos [rowNum] = scrollPos [rowNum] % text.length();
prevMilis = millis();
}
lcd.setCursor(0,rowNum);
för (int jag = 0; jag < lcdCols; i ++) {
LCD.Print("");
}
lcd.setCursor(0,rowNum);
IF(text.length() < lcdCols) {
LCD.Print(text);
lcd.setRGB(255,0,0);
}
annat {
för (int jag = 0; jag < lcdCols; i ++) {
LCD.Print (text [(scrollPos [rowNum] + i)%text.length()]);
}
}
}
void appendLCD (int rowNum, sträng textToAppend) {
prevStrings [rowNum] = prevStrings [rowNum] + textToAppend;
prevStrings [rowNum] = prevStrings [rowNum] .substring (prevStrings [rowNum] (Value)-1-lcdCols, prevStrings[rowNum].length());
lcd.setCursor (0, rowNum);
LCD.Print(prevStrings[rowNum]);
}
void setup() {
initLCD();
Utför andra initieringen steg här:
}
void loop() {
scrollLCD (0, scrollingText);
IF(Random(4)==0) {
String alphabet = "ABCDEFGHIGJKLMNOPQRSTUVWXYZ";
int ranVal = random(alphabet.length());
appendLCD (1, alphabet.substring (ranVal, ranVal + 1));
}
fördröjning (100); //Unless du gör en hel del bearbetning, detta är nödvändigt för att förhindra skärm flimmer.
}