AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Arduino pull up resistor wire library2/12/2024 ![]() This is due to the electrical noise generated by several factors (the wire behaves in particular like an antenna). The measured value is random if we measure a voltage from a pin that is not connected to the ground or a non-zero voltage. But, really I think what you have is probably fine.A quick reminder on pull-up and pull-down resistors ![]() Also if you really want to dig into this stuff, you read in the official I2C manual. You can also examine the edges of your signal with a scope. If you're worried about these figures you can lower the I2C clock rate. ![]() If anything both of these total figures can be made smaller (by adding yet another parallel resistor) for longer buses and at higher frequencies. If you do the same calculation on the multiplexor's individual bus resistor 4.7k and the ambient light sensor breakout's own 4.7k resistor, you get 2.35 k (half), which is also probably fine. If you're concerned about too-many-parallel-resistors/too-many-current-paths/too-little-total-resistence, you can take the 20K figure along with multiplexer breakout's 4.7K figure, to calculate pow(1 / 20e3 + 1 / 4.7e3, -1), for about 3.8K, which should be fine. The ATMega328P datasheet (along with most other AVR datasheets) will tell you that the internal pullup value is between 20K-50K. The AVR wouldn't have a problem with 500 ohms for example. comment given below concerned about too many pull-up resistors.Īt some point probably below (perhaps far below) 500 ohms some devices may have trouble sinking enough current to create a LOW. It seems you should not necessarily need to add any additional pull-up resistors of your own to what is already on the buses. AVR-based Arduinos (and probably others) also enable their own, admittedly weak, pull-ups in the guts of the wire library. ![]() The breakout also has pull-ups on the bus going to the multiplexor itself:īeyond that, the ambient light sensor breakout seems to provide its own 4.7K pull-ups. That said, the board you've linked that breaks out the multiplexer chip has pull-up resistors on each bus that it's providing: ![]() So, each bus would need its own pull-up resistors. From what I can tell, the I2C bus multiplexer itself receives and re-transmits on what amounts to a completely separate bus. ![]()
0 Comments
Read More
Leave a Reply. |