Single core uController can only do one thing at a time!
However there is a trick to do pseudo multi tasking and that is to use an Interrupt driven from a timer. Then in you main loop you can control/read device A and in the interrupt function you can control/read device B. Or in the interrupt handler function you can have a flag that you toggle when you exit the interrupt function. Then when you enter the interrupt function you read the flag state/value and do which ever task control/read device you want. If you have never done this, start with small tests like Set Time at 100ms, then when in the interrupt handler toggle an LED (BUILTIN_LED) etc. And build up from this simple model... Do a google for arduino timer interrupt example
Enjoy the journey!