はじめに
Raspberry Pi 5のGPIOピン配置は、電子工作において重要な情報です。この複雑なピン配置を効率的に理解し、活用するための方法として、draw.ioを用いたピン配置図の作成を提案します。
本記事では、Raspberry Pi 5のGPIOピン配置図をdraw.ioで生成するためのXMLテンプレートを提供します。さらに、このテンプレートをAIで生成する際に使用したプロンプト例も解説し、読者が同様の図を効率的に作成できるよう支援します。
Raspberry Pi 5 GPIOピン配置表
draw.ioテンプレートの基となるRaspberry Pi 5のGPIOピン配置情報です。各ピンの物理番号、BCM GPIO番号、および機能が記載されています。
| 物理ピン | BCM GPIO | 機能 (詳細) |
|---|---|---|
| 1 | 3V3 power | |
| 2 | 5V power | |
| 3 | GPIO 2 | SDA |
| 4 | 5V power | |
| 5 | GPIO 3 | SCL |
| 6 | Ground | |
| 7 | GPIO 4 | GPCLK0 |
| 8 | GPIO 14 | TXD |
| 9 | Ground | |
| 10 | GPIO 15 | RXD |
| 11 | GPIO 17 | |
| 12 | GPIO 18 | PCM_CLK |
| 13 | GPIO 27 | |
| 14 | Ground | |
| 15 | GPIO 22 | |
| 16 | GPIO 23 | |
| 17 | 3V3 power | |
| 18 | GPIO 24 | |
| 19 | GPIO 10 | MOSI |
| 20 | Ground | |
| 21 | GPIO 9 | MISO |
| 22 | GPIO 25 | |
| 23 | GPIO 11 | SCLK |
| 24 | GPIO 8 | CE0 |
| 25 | Ground | |
| 26 | GPIO 7 | CE1 |
| 27 | GPIO 0 | ID_SD |
| 28 | GPIO 1 | ID_SC |
| 29 | GPIO 5 | |
| 30 | Ground | |
| 31 | GPIO 6 | |
| 32 | GPIO 12 | PWM0 |
| 33 | GPIO 13 | PWM1 |
| 34 | Ground | |
| 35 | GPIO 19 | PCM_FS |
| 36 | GPIO 16 | |
| 37 | GPIO 26 | |
| 38 | GPIO 20 | PCM_DIN |
| 39 | Ground | |
| 40 | GPIO 21 | PCM_DOUT |
draw.io用XMLテンプレート
以下に、Raspberry Pi 5のGPIOピン配置図をdraw.ioで自動生成するためのXMLテンプレートを示します。このテンプレートは、電力ピン(3V3/5V)、GND、I2C、SPI、UARTなどの機能ピンを色分けして表示するよう設計されています。
XML
<mxfile host="app.diagrams.net" modified="2025-06-07TXX:XX:XX.XXX+0000" agent="Mozilla/5.0" etag="YOUR_ETAG_HERE" version="24.4.16" type="device">
<diagram id="raspberry_pi_5_gpio_pinout_corrected" name="Raspberry Pi 5 GPIO Pinout (Corrected)">
<mxGraphModel dx="1200" dy="700" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="piBoard" value="Raspberry Pi 5 GPIO Header" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#D0E0E3;strokeColor=#6B868D;fontSize=18;fontColor=#333333;" vertex="1" parent="1">
<mxGeometry x="150" y="50" width="350" height="650" as="geometry" />
</mxCell>
<mxCell id="pin1_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFCC00;strokeColor=#D7B200;" vertex="1" parent="1">
<mxGeometry x="170" y="90" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin1_label" value="1 (3V3 power)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="90" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin2_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FF0000;strokeColor=#CC0000;" vertex="1" parent="1">
<mxGeometry x="460" y="90" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin2_label" value="2 (5V power)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="90" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin3_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#80BFFF;strokeColor=#0066CC;" vertex="1" parent="1">
<mxGeometry x="170" y="120" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin3_label" value="3 (GPIO 2 / SDA)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="120" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin4_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FF0000;strokeColor=#CC0000;" vertex="1" parent="1">
<mxGeometry x="460" y="120" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin4_label" value="4 (5V power)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="120" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin5_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#80BFFF;strokeColor=#0066CC;" vertex="1" parent="1">
<mxGeometry x="170" y="150" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin5_label" value="5 (GPIO 3 / SCL)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="150" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin6_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="460" y="150" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin6_label" value="6 (Ground)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="150" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin7_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="170" y="180" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin7_label" value="7 (GPIO 4 / GPCLK0)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="180" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin8_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FF9999;strokeColor=#CC0000;" vertex="1" parent="1">
<mxGeometry x="460" y="180" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin8_label" value="8 (GPIO 14 / TXD)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="180" width="130" height="20" as="geometry" />
</mxCell>
<mxCell id="pin9_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="170" y="210" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin9_label" value="9 (Ground)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="210" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin10_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FF9999;strokeColor=#CC0000;" vertex="1" parent="1">
<mxGeometry x="460" y="210" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin10_label" value="10 (GPIO 15 / RXD)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="210" width="130" height="20" as="geometry" />
</mxCell>
<mxCell id="pin11_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="170" y="240" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin11_label" value="11 (GPIO 17)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="240" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin12_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="460" y="240" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin12_label" value="12 (GPIO 18 / PCM_CLK)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="240" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin13_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="170" y="270" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin13_label" value="13 (GPIO 27)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="270" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin14_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="460" y="270" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin14_label" value="14 (Ground)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="270" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin15_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="170" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin15_label" value="15 (GPIO 22)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="300" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin16_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="460" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin16_label" value="16 (GPIO 23)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="300" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin17_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFCC00;strokeColor=#D7B200;" vertex="1" parent="1">
<mxGeometry x="170" y="330" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin17_label" value="17 (3V3 power)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="330" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin18_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="460" y="330" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin18_label" value="18 (GPIO 24)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="330" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin19_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFB266;strokeColor=#CC6600;" vertex="1" parent="1">
<mxGeometry x="170" y="360" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin19_label" value="19 (GPIO 10 / MOSI)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="360" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin20_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="460" y="360" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin20_label" value="20 (Ground)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="360" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin21_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFB266;strokeColor=#CC6600;" vertex="1" parent="1">
<mxGeometry x="170" y="390" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin21_label" value="21 (GPIO 9 / MISO)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="390" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin22_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="460" y="390" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin22_label" value="22 (GPIO 25)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="390" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin23_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFB266;strokeColor=#CC6600;" vertex="1" parent="1">
<mxGeometry x="170" y="420" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin23_label" value="23 (GPIO 11 / SCLK)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="420" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin24_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFB266;strokeColor=#CC6600;" vertex="1" parent="1">
<mxGeometry x="460" y="420" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin24_label" value="24 (GPIO 8 / CE0)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="420" width="130" height="20" as="geometry" />
</mxCell>
<mxCell id="pin25_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="170" y="450" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin25_label" value="25 (Ground)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="450" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin26_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFB266;strokeColor=#CC6600;" vertex="1" parent="1">
<mxGeometry x="460" y="450" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin26_label" value="26 (GPIO 7 / CE1)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="450" width="130" height="20" as="geometry" />
</mxCell>
<mxCell id="pin27_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#80BFFF;strokeColor=#0066CC;" vertex="1" parent="1">
<mxGeometry x="170" y="480" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin27_label" value="27 (GPIO 0 / ID_SD)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="480" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin28_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#80BFFF;strokeColor=#0066CC;" vertex="1" parent="1">
<mxGeometry x="460" y="480" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin28_label" value="28 (GPIO 1 / ID_SC)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="480" width="130" height="20" as="geometry" />
</mxCell>
<mxCell id="pin29_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="170" y="510" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin29_label" value="29 (GPIO 5)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="510" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin30_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="460" y="510" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin30_label" value="30 (Ground)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="510" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin31_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="170" y="540" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin31_label" value="31 (GPIO 6)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="540" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin32_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#D0E0E3;strokeColor=#6B868D;" vertex="1" parent="1">
<mxGeometry x="460" y="540" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin32_label" value="32 (GPIO 12 / PWM0)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="540" width="130" height="20" as="geometry" />
</mxCell>
<mxCell id="pin33_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#D0E0E3;strokeColor=#6B868D;" vertex="1" parent="1">
<mxGeometry x="170" y="570" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin33_label" value="33 (GPIO 13 / PWM1)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="570" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin34_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="460" y="570" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin34_label" value="34 (Ground)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="570" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin35_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#D0E0E3;strokeColor=#6B868D;" vertex="1" parent="1">
<mxGeometry x="170" y="600" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin35_label" value="35 (GPIO 19 / PCM_FS)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="600" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin36_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="460" y="600" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin36_label" value="36 (GPIO 16)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="350" y="600" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin37_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#C3D9FF;strokeColor=#648BC4;" vertex="1" parent="1">
<mxGeometry x="170" y="630" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin37_label" value="37 (GPIO 26)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="630" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin38_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFB266;strokeColor=#CC6600;" vertex="1" parent="1">
<mxGeometry x="460" y="630" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin38_label" value="38 (GPIO 20 / PCM_DIN)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="630" width="160" height="20" as="geometry" />
</mxCell>
<mxCell id="pin39_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=#333333;" vertex="1" parent="1">
<mxGeometry x="170" y="660" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin39_label" value="39 (Ground)" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="200" y="660" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="pin40_shape" value="" style="ellipse;whiteSpace=wrap;html=1;fillColor=#FFB266;strokeColor=#CC6600;" vertex="1" parent="1">
<mxGeometry x="460" y="660" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="pin40_label" value="40 (GPIO 21 / PCM_DOUT)" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="320" y="660" width="160" height="20" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
draw.ioでのXMLテンプレート利用手順
draw.ioにXMLテンプレートをインポートする手順は以下の通りです。
- XMLコードをコピー: 上記のXMLコードブロック全体をコピーします。
- draw.ioを開く: ウェブブラウザで draw.io (diagrams.net) にアクセスします。
- 図のインポート:
- 新しい図として開く場合: draw.ioのメニューから
ファイル (File)>開く (Open from)>デバイス (Device)を選択します。コピーしたXMLをテキストファイルとして保存し(例:pi5_gpio.xml)、そのファイルを選択して開きます。 - 既存の図にインポートする場合: メニューから
ファイル (File)>図を編集 (Edit Diagram)(またはショートカットCtrl+E/Cmd+E) を選択し、XMLソースエディタを開きます。開いたエディタにXMLコードを直接貼り付け、適用 (Apply)をクリックします。
- 新しい図として開く場合: draw.ioのメニューから
これにより、Raspberry Pi 5のGPIOピン配置図がdraw.io上に生成されます。生成された図は、必要に応じて編集やカスタマイズが可能です。
XMLテンプレート生成のためのプロンプト例
このXMLテンプレートはAIを用いて生成されました。以下に、その際に使用したプロンプト例を示します。AIに特定の図形描画用XMLを生成させる場合、必要な情報と表現方法を明確に指示することが重要です。
「Raspberry Pi 5のGPIOピン配置をdraw.ioで図示するためのXMLテンプレートを生成してください。
以下の添付画像に示されているピン配置情報に基づいて、40ピンのGPIOヘッダーを図で表現し、各ピンに物理ピン番号、BCM GPIO番号、および主要な機能をラベルとして含めてください。
電源ピン、GNDピン、I2C、SPI、UART、PWMなどの機能ピンには、視覚的に分かりやすいように異なる色を設定してください。
**参照画像:**
[ここにRaspberry Pi 5のGPIOピン配置図の画像を添付するか、画像ファイル名(例: image_e81293.png)を記載]
」
プロンプトの構成要素:
- 目的: draw.ioでのXMLテンプレート生成。
- 対象: Raspberry Pi 5のGPIOピン配置。
- 情報源: 添付画像に示されるピン配置情報。
- 出力要素: 40ピンGPIOヘッダー、物理ピン番号、BCM GPIO番号、主要機能のラベル。
- デザイン指示: 特定の機能を持つピン(電源、GND、I2Cなど)は異なる色で表示。
このような具体的な指示により、AIは意図されたXMLテンプレートを正確に生成します。
まとめ
本記事では、Raspberry Pi 5のGPIOピン配置図をdraw.ioで作成するためのXMLテンプレートと、その生成に用いたプロンプト例を解説しました。これらの情報により、Raspberry Pi 5を用いた電子工作プロジェクトにおけるピン配置の把握と管理が効率化されます。
参考情報:

