4강 / 20강

버스 넷 — GPIO · SPI · I²C · RS485

누가 어디에 붙고, 주소는 어떻게 갈리나

버스 넷 — GPIO · SPI · I²C · RS485
장치는 열넷이지만 말하는 법은 몇 가지뿐입니다.

장치는 열넷이지만 말하는 법은 몇 가지뿐입니다. 이 강에서 그 몇 가지를 한자리에 놓습니다.

버스쓰는 장치여럿을 어떻게 가르나
GPIO밸브 6 · 팬 2 · 스테퍼 · 리밋 · 키패드핀 번호로 가른다
PWMTEC 2 · 부저하드웨어 PWM 핀이 정해져 있다 (GPIO 12·13·18·19)
SPIPT-1000 두 개 (MAX31865)CS 핀을 따로 준다
I²C유량계 2주소로 가른다 — 여기서 사고가 난다
RS485연동펌프 7 · 플런저슬레이브 번호 1~247
Serial(USB)압력 제어기 2/dev/ttyUSB* — 번호가 바뀐다
장치를 버스에 붙여 보세요. 주소가 겹치거나 핀이 모자라면 그 자리에서 알려 줍니다.
불러오는 중…

버스를 여는 곳 — /boot/firmware/config.txt

dtparam=i2c_arm=on # 기본이 off 다 dtparam=i2c_arm_baudrate=400000 # 기본은 100000 (100 kHz) dtparam=spi=on enable_uart=1 dtoverlay=uart3 # RS485 포트를 더 열고 싶을 때 (Pi 4/5)

경로가 /boot/config.txt 가 아니라 /boot/firmware/config.txt 입니다 — Bookworm 에서 옮겨졌습니다. 옛날 글을 보고 /boot/config.txt 를 고치면 아무 일도 일어나지 않습니다.

I²C 속도는 기본 100 kHz 입니다. 젖은 기계 안에서 I²C 선을 길게 끌면 CRC 오류가 나기 시작합니다(→ 14강). 속도를 올리기 전에 선을 짧게 하십시오.

배정표는 코드보다 먼저 만듭니다. 이 표에서 못 잡은 충돌은 납땜을 끝낸 뒤에 발견됩니다.
Python 브라우저에서 실행
🤔 확인 문제
유량계 두 개를 같은 I²C 버스에 달 수 없는 까닭은?
🤔 확인 문제
/boot/config.txt 를 고쳤는데 아무 변화가 없다면?