From 16a927d848ccfd942d56ab62c36a4067234c13e4 Mon Sep 17 00:00:00 2001 From: BlueFox Date: Sun, 15 Sep 2024 19:47:55 +0000 Subject: [PATCH] Fixed typo and completed information in Wiring section in README.md --- README.md | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 2e833da..b25bca8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # micropython-rp2-rs485-examples -## Whats this? +## What's this? This is a small collection of some programs I wrote to test the functionality of some cheap TTL-UART to RS485 converters, written in [MicroPython](https://micropython.org/) @@ -28,21 +28,27 @@ For the (simple) send and receive programs, theres just to devices with MicroPyt Just wire two MicroPython devices as shown below (obviously connect different converters to the different microcontrollers ;) -| Converter | Pin on converter | Pin on Pi Pico1 | -| ----------------------------------------- | -------------------- | --------------------------- | -| TTL-UART to RS485 converter 1 | DI (driver in) | GP0 (UART0 TX) | -| TTL-UART to RS485 converter 1 | RO (receiver out) | GP1 (UART0 RX) | -| TTL-UART to RS485 converter 1 | DE (driver enable) | GP2 (set HIGH/LOW) | -| TTL-UART to RS485 converter 1 | RE (receiver enable) | GP2 (set HIGH/LOW) | -| TTL-UART to RS485 converter 22 | DI (driver in) | GP4 (UART1 TX) | -| TTL-UART to RS485 converter 22 | RO (receiver out) | GP5 (UART1 RX) | -| TTL-UART to RS485 converter 22 | DE (driver enable) | GP3 (set HIGH/LOW) | -| TTL-UART to RS485 converter 22 | RE (receiver enable) | GP3 (set HIGH/LOW) | +| Converter | Pin on converter | Pin on Pi Pico1 | +| ----------------------------------------- | -------------------------------- | --------------------------- | +| TTL-UART to RS485 converter 1 | VCC | 3v3 Out | +| TTL-UART to RS485 converter 1 | GND | GND | +| TTL-UART to RS485 converter 1 | DI (driver in) | GP0 (UART0 TX) | +| TTL-UART to RS485 converter 1 | RO (receiver out) | GP1 (UART0 RX) | +| TTL-UART to RS485 converter 1 | DE3 (driver enable) | GP2 (set HIGH/LOW) | +| TTL-UART to RS485 converter 1 | RE3 (receiver enable) | GP2 (set HIGH/LOW) | +| TTL-UART to RS485 converter 22 | VCC | 3v3 Out | +| TTL-UART to RS485 converter 22 | GND | GND | +| TTL-UART to RS485 converter 22 | DI (driver in) | GP4 (UART1 TX) | +| TTL-UART to RS485 converter 22 | RO (receiver out) | GP5 (UART1 RX) | +| TTL-UART to RS485 converter 22 | DE3 (driver enable) | GP3 (set HIGH/LOW) | +| TTL-UART to RS485 converter 22 | RE3 (receiver enable) | GP3 (set HIGH/LOW) | [1] as I used the Pico, adjust for your favourite microcontroller (but don't forget also changing the pinout in the programs as well1) [2] only needed for the ping pong example +[3] as the driver/receiver enable pins respond at opposite logic levels (receive enable turns on receiver output when LOW, while driver enable enables driver output when set HIGH), they can be shortened together and be controlled by only one pin on our microcontroller + Then, connecting the A+, B- and GND wires of the respective converters together (converter 1 of μC1 to converter 1 of μC2, converter 2 of μC1 to converter 2 of μC2), you've just created a simple RS485 bus! Now upload the scripts to both microcontrollers and try what you want to try! Example wiring on a breadboard, one Pico backed with WaveShares HAT, the other one connected to two MAX485 breakout boards: