example of using 7-Segment Serial Display
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// example of using 7-Segment Serial Display | |
// product available from https://www.sparkfun.com/products/9765 | |
// based on code from http://www.arunet.co.uk/tkboyd/ec/ec1led4x7ser.htm | |
// Note: solder wires at Gnd/Vcc & Rx, Rx goes to a digital pin on the arduino. | |
// Video available at http://www.youtube.com/watch?v=YVMAzYqV4kg | |
// Blogged @ http://chrisnolan.ca/2012/08/05/i-can-solder-7-segment-serial-display-nunchucky-operational/ | |
#include <SoftwareSerial.h> // Arduino 1.0 included | |
#define SerInToArdu 2 | |
#define SerOutFrmArdu 3 // pin it's plugged into | |
#define wDelay 300//no ; here. Sets how long each "message" appears | |
SoftwareSerial mySerialPort(SerInToArdu,SerOutFrmArdu); | |
// The above creates the serial channel we will use. | |
void setup(){ | |
pinMode(SerOutFrmArdu,OUTPUT); | |
pinMode(SerInToArdu,INPUT);//Not actually needed... | |
mySerialPort.begin(9600); | |
mySerialPort.print("v"); //To reset display module | |
}; | |
void loop(){ | |
default_example(); | |
scroll_word("4321"); | |
scroll_word("87654321"); | |
scroll_word("HELLo noLAn"); | |
scroll_word("123456789"); | |
mySerialPort.print("xxxx");//Send an "x" to turn a digit off | |
delay(wDelay); | |
delay(wDelay); | |
}; | |
void default_example() { | |
mySerialPort.print("1234"); | |
delay(wDelay); | |
mySerialPort.print("234x"); | |
delay(wDelay); | |
mySerialPort.print("34xx"); | |
delay(wDelay); | |
mySerialPort.print("4xxx"); | |
delay(wDelay); | |
mySerialPort.print("xxxx"); | |
delay(wDelay); | |
mySerialPort.print("----"); | |
delay(wDelay); | |
mySerialPort.print("8888"); | |
delay(wDelay); | |
mySerialPort.print("HEL0"); | |
delay(wDelay); | |
mySerialPort.print("NoLA"); | |
delay(wDelay); | |
mySerialPort.print("oLAn"); | |
delay(wDelay); | |
mySerialPort.print("LAnx"); | |
delay(wDelay); | |
mySerialPort.print("Anxx"); | |
delay(wDelay); | |
mySerialPort.print("nxxx"); | |
delay(wDelay); | |
}; | |
void scroll_word(String w) { | |
int length = w.length(); | |
if (length <= 4) { | |
mySerialPort.print(w); | |
delay(wDelay); | |
} else { | |
w = " " + w + " "; | |
for (int i=0; i<= length+4; i++) { | |
mySerialPort.print(w.substring(i,i+4)); | |
delay(wDelay); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment