Eventually may pay off. But there are many things you can do without RTOSs, DMA, interrupts and the like.
Around here not a day goes by without someone rattling off the URLs for “doing more than one thing at once” or “blink without delay” and so forth.
I was fixing up your function when I noticed that we aren’t seeing all your code and the snippets weren’t necessarily in you loop() function, so I dropped it besides seeing that you are all fixed up. But very possible and did look easy at the glance I did give it.
HTH
a7