If there's not a good one in your state, try one in a nearby state. It'll be more expensive and harder to get into, but still generally cheaper/easier than a private school. I can personally recommend UNC-Chapel Hill (nice campus, small town, good mix of social+intellectual life) and Georgia Tech (great CS professors and students, although poor social life).
Also, as others have said, definitely seek out and apply for as many scholarships as you can. There are plenty available and you're almost guaranteed one if you apply to several. Especially focus on scholarships which are special to your situation (minority, athletics, service, etc).