Raspberry Pi 3にRTCを接続します。
使用したデバイスはMaximのDS3231です。I2CインタフェースのRTCですので、Arduino/Raspberry PiのRTCとしてポピュラーな石です。
特徴をデータシートから引用すると
・Real-Time Clock Counts Seconds, Minutes, Hours, Date of the Month, Month, Day of the Week, and Year, with Leap-Year Compensation Valid Up to 2100 ・Accuracy ±2ppm from 0°C to +40°C ・Accuracy ±3.5ppm from -40°C to +85°C ・Digital Temp Sensor Output: ±3°C Accuracy ・Register for Aging Trim• RST Output/Pushbutton Reset Debounce Input ・Two Time-of-Day Alarms ・Programmable Square-Wave Output Signal ・Simple Serial Interface Connects to Most Microcontrollers ・Fast (400kHz) I2C Interface ・Battery-Backup Input for Continuous Timekeeping ・Low Power Operation Extends Battery-Backup Run Time ・3.3V Operation ・Operating Temperature Ranges: Commercial (0°C to +70°C) and Industrial (-40°C to +85°C) ・Underwriters Laboratories® (UL) Recognized3,3V~5Vで動作する、I2Cインタフェースの高精度なRTCといったところでしょうか。
データシートからリファレンス回路を引用します。
#ref(): File not found: "Pi-GPIO-header-26-sm.png" at page "Real Time Clock(RTC)"
#ref(): File not found: "300px-Pi-GPIO-header.png" at page "Real Time Clock(RTC)"
PIN# Rev1
A,BRev1
A+,B+
Rev2
BRev3
BPIN# Rev1
A,BRev1
A+,B+
Rev2
BRev3
B01 3.3 V
50 mA max (01 & 17)02 5V0
Supply through input poly fuse03 GPIO 2
I2C SDA.104 5V0
Supply through input poly fuse05 GPIO 3
I2C SCL.106 GND 07 GPIO 4
GPCLK08 GPIO 14
TXD009 GND 10 GPIO 15
RXD011 GPIO 17 12 GPIO 18
PCM CLK13 GPIO 27 14 GND 15 GPIO 22 16 GPIO23 17 3V3 18 GPIO24 19 GPIO 10
SPI MOSI20 GND 21 GPIO 9
SPI MISO22 GPIO25 23 GPIO 11
SPI SCLK24 GPIO 8
SPI CE025 GND 26 GPIO7
SPI CE127 ID SDA.0
I2C ID EEPROM28 ID SCL.0
I2C ID EEPROM29 GPIO 5 30 GND 31 GPIO 6 32 GPIO 12 33 GPIO 13 34 GND 35 GPIO 19 36 GPIO 16 37 GPIO 26 38 GPIO 20 39 GND 40 GPIO 21
http://pc.watch.impress.co.jp/docs/column/nishikawa/1006048.html
PWM用のピンはチップ自体は複数のピンが用意されていますが、RaspberryPi?のIOヘッダピンには1本のみ引き出されています。
初めてブレッドボードを使ってみました。Amazonさんです。
cocopar Raspberry Pi model B+/raspberry pi 2B/3B 用 GPIOキット GPIOポート、ブレッドボード、40pinリボンケーブル、LED、抵抗、プッシュボタン、ジャンパーワイヤー付き Raspberry Pi model B+ GPIO board + Epansion Board set (Raspberry Pi B+)#ref(): File not found: "bb.jpg" at page "Real Time Clock(RTC)"
RaspberryPi? 3 とのピン接続は以下のとおり
GPIO PIN# Special IO PullUp?/PullDown? Breadboard PIN# GPIO 02 03 I2C SDA.1 UP SDA GPIO 03 05 I2C SCL.1 UP SCL GPIO 04 07 GPCLK UP P7 GPIO 05 29 UP P21 GPIO 06 31 UP P22 GPIO 07 26 SPI CE1 UP CE1 GPIO 08 24 SPI CE0 UP CE0 GPIO 09 21 SPI MISO Down MISO GPIO 10 19 SPI MOSI Down MOSI GPIO 11 23 SPI SCLK Down SCK GPIO 12 32 Down P26 GPIO 13 33 Down P23 GPIO 14 08 TXD0 UP TXD GPIO 15 10 RXD0 UP RXD GPIO 16 36 Down P27 GPIO 17 11 Down P0 GPIO 18 12 PCM CLK Down P1 GPIO 19 35 Down P24 GPIO 20 38 Down P28 GPIO 21 40 Down P29 GPIO 22 15 Down P3 GPIO 23 16 Down P4 GPIO 24 18 Down P5 GPIO 25 22 Down P6 GPIO 26 37 Down P25 GPIO 27 13 Down P2
こっちが見やすい?
Raspberry Pi 40Pin ExtensionBoard? Raspberry Pi 40Pin GPIO 07 26 SPI CE1 CE1 01 02 P0 11 GPIO 17 GPIO 08 24 SPI CE0 CE0 03 04 P1 PCM CLK 12 GPIO 18 GPIO 11 23 SPI SCLK SCLK 05 06 P2 13 GPIO 27 GPIO 10 19 SPI MOSI MOSI 07 08 P3 15 GPIO 22 GPIO 09 21 SPI MISO MISO 09 10 P4 16 GPIO 23 GPIO 15 10 RXD0 RXD 11 12 P5 18 GPIO 24 GPIO 14 08 TXD0 TXD 13 14 P6 22 GPIO 25 GPIO 02 03 I2C SDA.1 SDA 15 16 P7 GPCLK0 07 GPIO 04 GPIO 03 05 I2C SCL.1 SCL 17 18 P21 29 GPIO 05 GPIO 26 37 P25 19 20 P22 31 GPIO 06 GPIO 12 32 P26 21 22 P23 33 GPIO 13 GPIO 16 36 P27 23 24 P24 35 GPIO 19 GPIO 20 38 P28 25 26 P29 40 GPIO 21 ID_SC 28 ID_SC ID_SC 27 28 ID_SD ID_SD 27 ID_SD
- GPIOピン1本あたりの最大電流は16mA
- 複数本のGPIOピンを使用する場合、同時に流せる電流の合計は50mAまで
- 5Vピンは、マイクロUSBの電源 - 1400mA - IOピンの電流 と考えましょう
- 3.3Vはレギュレータの本体の余りなので、100mA程度と考えましょう。
お疲れ様でした。