Elementary Arduino Question

My daughter and I are trying to learn to use the Arduino. We are trying a basic program, which should output “I love Mom” to the top row of the LCD screen and count the number of second the program has been running on the second row. At the same time, we want an LED to blink every second. Currently, everything works, except that the LED just turns on, but doesn’t blink. Here is our code:

#include <LiquidCrystal.h>

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

void setup() {
// set up the LCD’s number of columns and rows:

lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print(“I love Mom”);
pinMode(13, OUTPUT);

void loop() {
digitalWrite(13, HIGH);
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
delay (1000);
digitalWrite(13, LOW);

code looks fine... do you have the led plugged in to the correct pin?

There needs to be a delay after the led turns off. It is turning off, but for a very, very short period, somewhere on the order of microseconds, too fast to see.

As dcm684 says, the problem is that the LED is low for a tiny fraction of a second (the time it takes to for the loop code to start over) so you can’t see the blink. There are many ways to fix this. The easiest is to add a delay(500) before the digitalwrite(13, HIGH) ; and reduce the delay to 500 for digitalWrite(13,LOW);

Thanks guys, that worked perfect. You all are great at explaining stuff, the solution you provided seems obvious now that you wrote it. THANKS!