Having a passion for science (or engineering or other STEM fields) is by far the most important factor, but location is also pretty important. You list your location as Canton, MI, which appears to be a very small town; attitudes can be more conservative in such places, though I have no direct knowledge of Canton itself. Larger cities and metropolitan areas tend to have many minorities, and while bias can be found almost everywhere, in my experience it's much less frequent, and much milder when it does occur, in urban centers. (The pay is frequently better, too, though the cost of living might be higher as well.)
I live in the Bay Area, and all of the large tech companies here have recognized that their workforce makeups do not yet necessarily match that of the general populace (mostly in terms of female engineering talent) and are actively trying to correct it. (I believe most are now reporting the statistics in their annual reports, though I might just be extrapolating from the ones I've heard about.) There are people representing many different cultures sitting within 30 feet of my desk; they're all "just engineers," the only important distinction being how much experience they have and how quick they are to learn and to write good code.
So if you've received any kind of negative advice from those around you, rest assured that things are not like that everywhere, and it saddens many of us that things are like that anywhere. STEM careers are almost certainly the most future-proof of any you could name, so by all means follow your passion and add to the diversity and awesomeness of the field!
Greg recommends the following next steps:
- Read up on larger universities and universities in larger cities.
- If possible, contact alumni from the past five years from your area who are now in a more cosmopolitan region, and ask them how they've adjusted to the change and whether they have any advice.