2020-08-06 (Th) InCompass

I still couldn't use digitalRead(), so I added a wire jumper from the switch to an analog pin. This way, I could get the same reading on a different pin and use analogRead() instead because that didn't lock up my program. It was a kludgy workaround. In the code, I proved it could work, but it wasted a pin, and it was frustrating that a bug was beating me. I knew there was a way to read the inputs directly, and after some research, I found it. The resulting code was
((PINB >> 3) % 2)
instead of digitalRead(11). This low-level code will run faster than the analogRead. In the future, I won't have to waste an analog pin. It still doesn't solve the mystery of why I can't use digitalRead().

Now that I could monitor the push button, I added code that would zero the heading as I used to do over Bluetooth. The difference this time is that the device will give a short buzz, then wait one second before acknowledging zero. I added the delay, so the vibration from the buzzer and motion from the button press has time to relax.

Unnecessary wire around switch

GitHub repo for Cardinal, aka InCompass

The rest of the posts for this project have been arranged by date.
Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Completed projects from year 7

Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information on this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property, or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by  Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.