I considered the broken I₂C connections for a long time. The best decision would probably be desoldering one device at a time. I pulled the wires from the screen, and that made no difference. Before heating the soldering iron, I tried a few things in software.
I removed the println() commands and replaced them with print() commands, as I have seen the former cause problems. The stock scanner starts at address 0x01, so I started it at 0x20, which is one of the IO expanders. I also tried 0x21, the other expander, and 0x3C, which corresponded to the screen. I tried to read unknown error codes since the scanner only wanted proper responses or a generic "Unknown Error." I added a delay between the "begin" and "end" of each data probe. The last thing I tried was a physical cleaning near each data pin. A short on an I₂C line to the other line or power could cause the problems I experienced, and after scratching between every spot with a razor, I could see the expected addresses! All my issues were probably due to some wire flake or solder spatter.
GitHub repo for EWC_Noodle.
The rest of the posts for this project have been arranged by date.
First time here?
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
Completed projects from year 8
Completed projects from year 9
Completed projects from year 10
Completed projects from year 11
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.
2024-11-30
I removed the println() commands and replaced them with print() commands, as I have seen the former cause problems. The stock scanner starts at address 0x01, so I started it at 0x20, which is one of the IO expanders. I also tried 0x21, the other expander, and 0x3C, which corresponded to the screen. I tried to read unknown error codes since the scanner only wanted proper responses or a generic "Unknown Error." I added a delay between the "begin" and "end" of each data probe. The last thing I tried was a physical cleaning near each data pin. A short on an I₂C line to the other line or power could cause the problems I experienced, and after scratching between every spot with a razor, I could see the expected addresses! All my issues were probably due to some wire flake or solder spatter.
Scratch marks where I cleaned |
GitHub repo for EWC_Noodle.
The rest of the posts for this project have been arranged by date.
First time here?
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
Completed projects from year 8
Completed projects from year 9
Completed projects from year 10
Completed projects from year 11
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.
2024-11-30
Comments
Post a Comment