You're asking the wrong question. Programming isn't an end in itself, it's a means to an end.
"But what do you want to DO?" THAT is the correct question, IMHO.
Followed up by the correct statement. Computers are there to quickly and accurately do the repetitive donkey-work that we humans don't have the time or patience to do. Programmers enable computers to do this tiresome work.
Since I last got made redundant from an engineering job I've busied myself on two little projects for myself, because I've always loved to code and get stuff to work that others would have no idea about, even though I got sick of doing it for others.
Project 1 - software that gets kicked off by cron on my server every night, to send me by email reminders to do stuff on time. Works really well, the way I want it to.
Project 2 - to take a (sometimes cleaned up by using gpsprune) GPX format track file from my Garmin and analyse it to determine the exact distance I've walked or cycled, altitude gained and lost, and estimate the calories I burned during the exercise. This one is also working well, but I'm not certain of some of the parameters I built into it so I'm trying to find somebody knowledgeable about exercise science who can advise me on this.
So, what I'm saying is, find something that you do in everyday life that does or could generate a significant quantity of data to crunch and raises in your mind a "what if" question. Or, as somebody else suggested, do something with an arduino that you're curious about. I've always thought it might be nice to build an accurate outdoor thermometer, possibly using four terminal measurement with a platinum sensor. This would involve the use of hardware timers and interrupt service routines to take readings at regular intervals, and perhaps operate a multiplexed LED display.
If you find something like this to work on, that interests you in the first place and will perform a useful function after completion, the motivation will be there and success more likely.