Quantcast
Channel: General - electric imp Forums
Viewing all articles
Browse latest Browse all 168

Electric Imp and serial LCD 16x2 display

$
0
0
I've hooked up a Sparkfun serial 16x2 LCD display to an electric imp, and I've been able to display very basic text messages. But I'd like to improve my control of the text: add scrolling right to left, or scrolling up -- fancy effects stolen directly from my local grocery store window display : )

I'm interested in any suggestions or advice for upping my text display capabilities. I've pasted the code I'm currently using, below.

Thanks in advance.

Agent

// Log the URLs we need
server.log("Turn LED On: " + http.agenturl() + "?led=1");
server.log("Turn LED Off: " + http.agenturl() + "?led=0");

function requestHandler(request, response) {
try {
// check if the user sent led as a query parameter
if ("led" in request.query) {
local ledState = request.query.led.tostring();

// send "led" message to device, and send ledState as the data

device.send("led", ledState); }

// send a response back saying everything was OK.

response.send(200, "OK");
} catch (ex) {
response.send(500, "Internal Server Error: " + ex);
}
}

// register the HTTP handler
http.onrequest(requestHandler);


Device

// create a global variabled called led,
// and assign pin9 to it
led <- hardware.pin9;
lcd <- hardware.uart12;

button <- hardware.pin5;

function buttonPress() {
local state = button.read();
if (state == 1) {
// when the button is released
server.log("release");
} else {
// when the button is pressed
server.log("press");
led.write(0);
lcd.write(254);
lcd.write(0x01);
}

}

button.configure(DIGITAL_IN_PULLUP, buttonPress);


// configure led to be a digital output
led.configure(DIGITAL_OUT);
lcd.configure(9600, 8, PARITY_NONE, 1, NO_RX);
lcd.write(254);
lcd.write(0x01);
lcd.write(124);
lcd.write(155);



// function to turn LED on or off
function setLed(ledState) {
server.log("Set LED: " + ledState);
lcd.write(254);
lcd.write(0x01);

lcd.write(ledState);
led.write(1);
}

// register a handler for "led" messages from the agent
agent.on("led" , function(ledState) {
setLed(ledState);
});

Viewing all articles
Browse latest Browse all 168

Trending Articles