Raspberry Pi I2C Connectors and Pinout
I2C - Inter Integrated Circuit
I2C pins in BCM mode are: 2, 3
I2C pins in WiringPi are: 8, 9
The UART pins are 14 and 15, TXD, RXD. /dev/serial0
The Raspberry Pi's I2C pins are an extremely useful way to talk to many different types of external peripheral; from the MCP23017 digital IO expander, to a connected ATmega.
The I2C pins include a fixed 1.8 kohms pull-up resistor to 3.3v. This means they are not suitable for use as general purpose IO where a pull-up is not required.
You can verify the address of connected I2C peripherals with a simple one-liner:
sudo apt-get install i2c-tools
sudo i2cdetect -y 1
You can then access I2C from Python using the smbus library:
import smbus
DEVICE_BUS = 1
DEVICE_ADDR = 0x15
bus = smbus.SMBus(DEVICE_BUS)
bus.write_byte_data(DEVICE_ADDR, 0x00, 0x01)
- Example with a pimoroni scrollphathd
Thanks to our friends at: https://pinout.xyz/pinout/i2c
Enable the built in Serial Port TXD/RXD UART:
Enable Your UART Serial port by using:sudo raspi-config
and then find serial port in the menu, then ansswer NO to the login shell question, and YES question about serial hardware port.
use a MAX232 adapter to connect RS232 devices to the TXD / RXD pins.
use /dev/serial0
Comments
Post a Comment