*[[Real Time Clock(RTC)>http://Real Time Clock(RTC)]] [#z6446283] **はじめに [#db070a70] > >Raspberry Pi 3にRTCを接続します。 < **使用デバイス [#ib32107e] ***概要 [#l78bffec] > >使用したデバイスは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) Recognized >3,3V~5Vで動作する、I2Cインタフェースの高精度なRTCといったところでしょうか。 < ***リファレンス回路 [#o8849837] > >データシートからリファレンス回路を引用します。 < **I/O [#t3e75f4e] ***GPIO/SPI/IIC/UART [#c7164eff] -Pin Layout(26pin/40pin) > #ref(Pi-GPIO-header-26-sm.png,around,zoom) < > #ref(300px-Pi-GPIO-header.png,zoom) < > |PIN#|Rev1&br;A,B |Rev1&br;A+,B+&br;Rev2&br;B|Rev3&br;B|PIN#|Rev1&br;A,B|Rev1&br;A+,B+&br;Rev2&br;B|Rev3&br;B|h |01|>|>|CENTER:3.3 V&br; 50 mA max (01 & 17)|CENTER:02|>|>|CENTER:5V0&br;Supply through input poly fuse | |03|>|>|CENTER:GPIO 2&br;I2C SDA.1|CENTER:04|>|>|CENTER:5V0&br;Supply through input poly fuse| |05|>|>|CENTER:GPIO 3&br;I2C SCL.1|CENTER:06|>|>|CENTER:GND | |07|>|>|CENTER:GPIO 4&br;GPCLK|CENTER:08|>|>|CENTER:GPIO 14&br;TXD0| |09|>|>|CENTER:GND |CENTER:10|>|>|CENTER:GPIO 15 &br;RXD0| |11|>|>|CENTER:GPIO 17 |CENTER:12|>|>|CENTER:GPIO 18&br;PCM CLK| |13|>|>|CENTER:GPIO 27 |CENTER:14|>|>|CENTER:GND | |15|>|>|CENTER:GPIO 22 |CENTER:16|>|>|CENTER:GPIO23 | |17|>|>|CENTER:3V3 |CENTER:18|>|>|CENTER:GPIO24 | |19|>|>|CENTER:GPIO 10&br;SPI MOSI|CENTER:20|>|>|CENTER:GND | |21|>|>|CENTER:GPIO 9&br;SPI MISO|CENTER:22|>|>|CENTER:GPIO25 | |23|>|>|CENTER:GPIO 11&br;SPI SCLK|CENTER:24|>|>|CENTER:GPIO 8&br;SPI CE0| |25|>|>|CENTER:GND |CENTER:26|>|>|CENTER:GPIO7&br;SPI CE1| |27|CENTER: |>|CENTER:ID SDA.0&br;I2C ID EEPROM|CENTER:28|CENTER: |>|CENTER:ID SCL.0&br;I2C ID EEPROM| |29|CENTER: |>|CENTER:GPIO 5 |CENTER:30|CENTER: |>|CENTER:GND | |31|CENTER: |>|CENTER:GPIO 6 |CENTER:32|CENTER: |>|CENTER:GPIO 12 | |33|CENTER: |>|CENTER:GPIO 13 |CENTER:34|CENTER: |>|CENTER:GND | |35|CENTER: |>|CENTER:GPIO 19 |CENTER:36|CENTER: |>|CENTER:GPIO 16 | |37|CENTER: |>|CENTER:GPIO 26 |CENTER:38|CENTER: |>|CENTER:GPIO 20 | |39|CENTER: |>|CENTER:GND |CENTER:40|CENTER: |>|CENTER:GPIO 21 | < > >> >>> >>> <<< << < > >> >>> >>> >>> >>> >>>http://pc.watch.impress.co.jp/docs/column/nishikawa/1006048.html <<< << < ***PWM [#y62af330] > >PWM用のピンはチップ自体は複数のピンが用意されていますが、RaspberryPiのIOヘッダピンには1本のみ引き出されています。 |bcm2835&br;pin#|RaspberryPi&br;pin#|RaspberryPi&br;Signal Name|PWM&br;Channel|ALT&br;Function|h |12| | |0|0| |13| | |1|0| |BGCOLOR(#ffff33):18|BGCOLOR(#ffff33):12|BGCOLOR(#ffff33):GPIO 18&br;PCM CLK|BGCOLOR(#ffff33):0|BGCOLOR(#ffff33):5| |19| | |1|5| |40| | |0|0| |41| | |1|0| |45| | |1|0| |52| | |0|1| |53| | |1|1| | | | | | | < ***ブレッドボード [#za83b561] > >初めてブレッドボードを使ってみました。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(bb.jpg,zoom) >RaspberryPi 3 とのピン接続は以下のとおり < > |GPIO|PIN#|Special IO|PullUp/PullDown|Breadboard PIN#|h |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| < > >> << < > >> >>> >>> >>> >>>こっちが見やすい? >>> |>|>|COLOR(#000000):CENTER:''Raspberry Pi 40Pin''|>|>|>|COLOR(#000000):CENTER:''ExtensionBoard''|>|>|COLOR(#000000):CENTER:''Raspberry Pi 40Pin''| |COLOR(#000000):LEFT:GPIO 07|COLOR(#000000):CENTER:26|BGCOLOR(#FF99FF):COLOR(#000000):LEFT:SPI CE1|COLOR(#000000):LEFT:CE1|COLOR(#000000):CENTER:01|COLOR(#000000):CENTER:02|COLOR(#000000):LEFT:P0|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:11|COLOR(#000000):LEFT:GPIO 17| |COLOR(#000000):LEFT:GPIO 08|COLOR(#000000):CENTER:24|BGCOLOR(#FF99FF):COLOR(#000000):LEFT:SPI CE0|COLOR(#000000):LEFT:CE0|COLOR(#000000):CENTER:03|COLOR(#000000):CENTER:04|COLOR(#000000):LEFT:P1|BGCOLOR(#F8CBAD):COLOR(#000000):LEFT:PCM CLK|COLOR(#000000):CENTER:12|COLOR(#000000):LEFT:GPIO 18| |COLOR(#000000):LEFT:GPIO 11|COLOR(#000000):CENTER:23|BGCOLOR(#FF99FF):COLOR(#000000):LEFT:SPI SCLK|COLOR(#000000):LEFT:SCLK|COLOR(#000000):CENTER:05|COLOR(#000000):CENTER:06|COLOR(#000000):LEFT:P2|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:13|COLOR(#000000):LEFT:GPIO 27| |COLOR(#000000):LEFT:GPIO 10|COLOR(#000000):CENTER:19|BGCOLOR(#FF99FF):COLOR(#000000):LEFT:SPI MOSI|COLOR(#000000):LEFT:MOSI|COLOR(#000000):CENTER:07|COLOR(#000000):CENTER:08|COLOR(#000000):LEFT:P3|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:15|COLOR(#000000):LEFT:GPIO 22| |COLOR(#000000):LEFT:GPIO 09|COLOR(#000000):CENTER:21|BGCOLOR(#FF99FF):COLOR(#000000):LEFT:SPI MISO|COLOR(#000000):LEFT:MISO|COLOR(#000000):CENTER:09|COLOR(#000000):CENTER:10|COLOR(#000000):LEFT:P4|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:16|COLOR(#000000):LEFT:GPIO 23| |COLOR(#000000):LEFT:GPIO 15|COLOR(#000000):CENTER:10|BGCOLOR(#FFFF00):COLOR(#000000):LEFT:RXD0|COLOR(#000000):LEFT:RXD|COLOR(#000000):CENTER:11|COLOR(#000000):CENTER:12|COLOR(#000000):LEFT:P5|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:18|COLOR(#000000):LEFT:GPIO 24| |COLOR(#000000):LEFT:GPIO 14|COLOR(#000000):CENTER:08|BGCOLOR(#FFFF00):COLOR(#000000):LEFT:TXD0|COLOR(#000000):LEFT:TXD|COLOR(#000000):CENTER:13|COLOR(#000000):CENTER:14|COLOR(#000000):LEFT:P6|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:22|COLOR(#000000):LEFT:GPIO 25| |COLOR(#000000):LEFT:GPIO 02|COLOR(#000000):CENTER:03|BGCOLOR(#66FFFF):COLOR(#000000):LEFT:I2C SDA.1|COLOR(#000000):LEFT:SDA|COLOR(#000000):CENTER:15|COLOR(#000000):CENTER:16|COLOR(#000000):LEFT:P7|BGCOLOR(#F8CBAD):COLOR(#000000):LEFT:GPCLK0|COLOR(#000000):CENTER:07|COLOR(#000000):LEFT:GPIO 04| |COLOR(#000000):LEFT:GPIO 03|COLOR(#000000):CENTER:05|BGCOLOR(#66FFFF):COLOR(#000000):LEFT:I2C SCL.1|COLOR(#000000):LEFT:SCL|COLOR(#000000):CENTER:17|COLOR(#000000):CENTER:18|COLOR(#000000):LEFT:P21|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:29|COLOR(#000000):LEFT:GPIO 05| |COLOR(#000000):LEFT:GPIO 26|COLOR(#000000):CENTER:37|COLOR(#000000):RIGHT: |COLOR(#000000):LEFT:P25|COLOR(#000000):CENTER:19|COLOR(#000000):CENTER:20|COLOR(#000000):LEFT:P22|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:31|COLOR(#000000):LEFT:GPIO 06| |COLOR(#000000):LEFT:GPIO 12|COLOR(#000000):CENTER:32|COLOR(#000000):RIGHT: |COLOR(#000000):LEFT:P26|COLOR(#000000):CENTER:21|COLOR(#000000):CENTER:22|COLOR(#000000):LEFT:P23|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:33|COLOR(#000000):LEFT:GPIO 13| |COLOR(#000000):LEFT:GPIO 16|COLOR(#000000):CENTER:36|COLOR(#000000):RIGHT: |COLOR(#000000):LEFT:P27|COLOR(#000000):CENTER:23|COLOR(#000000):CENTER:24|COLOR(#000000):LEFT:P24|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:35|COLOR(#000000):LEFT:GPIO 19| |COLOR(#000000):LEFT:GPIO 20|COLOR(#000000):CENTER:38|COLOR(#000000):RIGHT: |COLOR(#000000):LEFT:P28|COLOR(#000000):CENTER:25|COLOR(#000000):CENTER:26|COLOR(#000000):LEFT:P29|COLOR(#000000):RIGHT: |COLOR(#000000):CENTER:40|COLOR(#000000):LEFT:GPIO 21| |COLOR(#000000):LEFT:ID_SC|COLOR(#000000):CENTER:28|BGCOLOR(#00FF00):COLOR(#000000):LEFT:ID_SC|COLOR(#000000):LEFT:ID_SC|COLOR(#000000):CENTER:27|COLOR(#000000):CENTER:28|COLOR(#000000):LEFT:ID_SD|BGCOLOR(#00FF00):COLOR(#000000):LEFT:ID_SD|COLOR(#000000):CENTER:27|COLOR(#000000):LEFT:ID_SD| <<< << < ***電流容量 [#m89f4a7e] > -GPIOピン1本あたりの最大電流は16mA -複数本のGPIOピンを使用する場合、同時に流せる電流の合計は50mAまで -5Vピンは、マイクロUSBの電源 - 1400mA - IOピンの電流 と考えましょう -3.3Vはレギュレータの本体の余りなので、100mA程度と考えましょう。 < **リンク [#j7ab0ed6] ***I/O [#sf8a78cb] -[[RPi Low-level peripherals>http://elinux.org/RPi_Low-level_peripherals]] -- Raspberry PiのローレベルI/Oに関する記事 -[[C library for Broadcom BCM 2835 as used in Raspberry Pi>http://www.airspayce.com/mikem/bcm2835/]] -- C(C++)用のIOライブラリ -[[RPiconfig >http://elinux.org/RPiconfig]]-- bootパラメータ お疲れ様でした。