Week 8: Output devices

Using Neil's hello LCD board design, this week I made an LCD display that shows a pre-programmed message.

Regarding the hardware, I had an issue soldering the wires from the board's header to the LCD display. Tinning the open ends with solder to keep it from fraying helps feed the wires through the LCD's vias.

I am still having a hard time understanding how to use program/flash memory, so the code for Neil's hello.LCD board proved a bit confusing. Here is his implementation of lcd_putstring, which allows each character in the predetermined string to be displayed

void lcd_putstring(PGM_P message) { static uint8_t index; static char chr; index = 0; while (1) { chr = pgm_read_byte(&(message[index])); if (chr == 0) return; lcd_putchar(chr); ++index; } }

This makes sense to me, but I also want to be able to print a varying message, such as a pulse determined by a heartrate sensor. Arduino has several simple functions that can take an input and display its value on an LCD. I tried several unsuccessful modifications of Neil's code to this end and am still working on using the LCD dynamically.