Check the flow of fluid to the heater core. There are 2 heater hoses (about 1" in diameter) that run from the engine block or water pump to the firewall. Doesn't matter where they're coming from, just look for the hoses at the firewall. They will be about 3 or 4 inches apart from each other with hose clamps at the firewall. When the engine is hot, both of these hoses should also be very warm or hot to the touch. If only one is hot and the other cold, you have a clogged heater core. If both are hot, the core is working properly. If both are cold, then the core is not getting any coolant from the pump. Time
to check the water pump and the rest of the cooling system.
First thing to do is to make sure the coolant is full. When the engine is cold, top-off both the radiator & the expansion tank. Drive a day or two, then top-off JUST the expansion tank - DON'T open the radiator. Do that every couple of days until the tank stays full, & see if that helps.
Assuming your coolant level in good, you might not be getting proper flow of coolant through your heater core.
HC's can corrode thus reducing coolant flow when the coolant is not changed every 2 - 3 years.
Change your thermostat