hello,
ok here I have finished a project, main description :
it is a peripheral (display), connected to a special vehicle and displays some failure codes. in form of 2 alphanumeric digits. Power comes from system is 24VDC and is regulated to 5VDC using a 7805. Comunication is via clock and data signals, Initial display an LCD 2 character X14 segment alphanumeric .
My job was to change the display. I used an oled 0.96 graphical on which designed "segments" as on LCD, used a pro-mini (328/5V/16M), built up a sketch and, finally, everything works fine. Clock is routed to pin D2 and trhough ISR Data on pin D4 are read. Communication to oled through i2c.
The problem : upload sketch using a usb to ttl converter, connect rx - tx- GND to tx - rx- GND(5V from module not connected). Now,
if the converter connector (5V from module not connected) in connected before system power on, then when system power on oled goes to a state that seems as "reset" (about half dots - randomly- are on) but when signals come, nothing happens no action at all on display.
If system power is on and then the converter connected (5V from module not connected), everything is fine.
What is the real problem:
Your problem is not unexpected, and your wiring may be the root cause. Since hardware is involved, it’s crucial to provide an accurate, annotated schematic of your circuit as it is currently wired. Please note that Fritzing diagrams are not considered proper schematics; they are wiring diagrams and are often not helpful for troubleshooting.
What to Include:
1. Annotated Schematic: Show all connections, including power, ground, and power sources. This helps us understand how your circuit is set up and identify any potential issues.
2. Technical Information Links: Provide links to technical documentation for each hardware device used in your setup. Avoid links to sales sites like Amazon, as they usually lack the necessary technical details. We need complete specifications to help you effectively.
3. Additional Information Needed: If the above details are incorrect, more information is required. Tell us what hardware and software you are using.
4. Bill of Materials:
5. A schematic provides a visual representation of the electrical connections and components in a circuit, showing how they interact and function together, while a Bill of Materials (BOM) is simply a list of components with part numbers and quantities needed for assembly. Unlike a BOM, a schematic illustrates the design’s logic and allows for troubleshooting and understanding circuit behavior. A BOM is useful for sourcing parts but doesn’t convey how they
Fritzing schematic views are considered proper schematics. Fritzing breadboard views are not.
Of course, if the wrong symbols are used, or the wires are a tangled mess, then the schematic won't be useful no matter what tool (Fritzing, pencil & paper, schematic tools costing $20,000) is used!
let me somehow clarify it.
I reproduce the fact at my bench.
I have an arduino (any 328) and a oled display (a clone 128x64, 0.96") connected to I2C.
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
// The pins for I2C are defined by the Wire-library.
// On an arduino UNO: A4(SDA), A5(SCL)
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C
//< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
// NOTE Although display is 128x64, it does not work at 0x3D.
// ADDRESS is set at 0x3C
No other connection. Power on. The display goes to a state that about half dots (randomly) are on. (lets call it state1)
display.clearDisplay();
the display clears.
lets go back to state 1 (forget the "clear"). Now, if clock and data applied, the display shows whatever should and operation is normal. If connect the usb to ttl module (rx (->tx), tx(->rx, GND(->GND) everything ok and there are messages on serial terminal (I dont connect 5V to avoid conflict with system)
Now, power off, disconnect module. After a while connect module (without power). Power on. There is a seemingly same state as state 1, BUT whatever I do there is no response from display .
if i could rephrase my initial question to : Can the rx tx gnd connection (with no power on board) produce an internal condition in arduino that "blocks" the I2C?