HI EVERYONE !
I AM WORKING AT ARDUINO UNO, I am still a beginner but I used to love the arduino and it's language so now I have an lcd screen 1602 blue I2C and I want to blink some characters!!
Write character
Wait a while
Overwrite character with space
Wait a while
Back to beginning
As above. Use millis() for the "Wait a while" timing
Hey Sterretje!
Can you please show me an example? And thanks you for replying me. <3
It can not be that complicated?
Go to position x,y on the lcd
2)
Print a character
3)
Wait a while
4)
Go to position x,y on the lcd
5)
Print a spce
6)
Wait a while
7)
Back to (1)
So you need
1)
2)
3a)
The link that UKHeliBob gave; read it and understand it.
3b)
blink-without-delay example that comes with the IDE; read it and understand it.
3c)
If the only thing that your code has to do is blink a character, you can use delay() - Arduino Reference; if it needs to do more (like reading a character from the serial port so it can be displayed) and stay responsive (react immediately), use (3a) and/or (3b).
Mohamad1113:
HI EVERYONE !
I AM WORKING AT ARDUINO UNO, I am still a beginner but I used to love the arduino and it's language so now I have an lcd screen 1602 blue I2C and I want to blink some characters!!
I made a simple controller for a DDS board where I use a spring return to center off switch and a rotary encoder.
The toggle switch selects individual digits in the frequency display and the encoder changes their value.
In order to highlight the place I was changing, I did this:
1 Read which number was currently there
2 Load a bitmap of that digit (in reverse polarity) stored in PROGMEM into the display RAM
3 Set the cursor position to that place and alternate between the real character (in display ROM) and the reverse character at a 250/250 millisecond rate.
4 If the digit is changed, go back to step 1
5 If the location is changed, reset the blinked digit to normal and set the cursor to the new location, then go to step 1.
I used a timer ISR to do the blinking so that other code could run at the same time, but you can just use a simple delay if nothing else is happening at the same time.