Raspberry Pi 5 GPIOピン配置をdraw.ioで可視化:XMLテンプレートと生成プロンプト

はじめに

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機能 (詳細)
13V3 power
25V power
3GPIO 2SDA
45V power
5GPIO 3SCL
6Ground
7GPIO 4GPCLK0
8GPIO 14TXD
9Ground
10GPIO 15RXD
11GPIO 17
12GPIO 18PCM_CLK
13GPIO 27
14Ground
15GPIO 22
16GPIO 23
173V3 power
18GPIO 24
19GPIO 10MOSI
20Ground
21GPIO 9MISO
22GPIO 25
23GPIO 11SCLK
24GPIO 8CE0
25Ground
26GPIO 7CE1
27GPIO 0ID_SD
28GPIO 1ID_SC
29GPIO 5
30Ground
31GPIO 6
32GPIO 12PWM0
33GPIO 13PWM1
34Ground
35GPIO 19PCM_FS
36GPIO 16
37GPIO 26
38GPIO 20PCM_DIN
39Ground
40GPIO 21PCM_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テンプレートをインポートする手順は以下の通りです。

  1. XMLコードをコピー: 上記のXMLコードブロック全体をコピーします。
  2. draw.ioを開く: ウェブブラウザで draw.io (diagrams.net) にアクセスします。
  3. 図のインポート:
    • 新しい図として開く場合: draw.ioのメニューから ファイル (File) > 開く (Open from) > デバイス (Device) を選択します。コピーしたXMLをテキストファイルとして保存し(例: pi5_gpio.xml)、そのファイルを選択して開きます。
    • 既存の図にインポートする場合: メニューから ファイル (File) > 図を編集 (Edit Diagram) (またはショートカット Ctrl+E / Cmd+E) を選択し、XMLソースエディタを開きます。開いたエディタにXMLコードを直接貼り付け、適用 (Apply) をクリックします。

これにより、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を用いた電子工作プロジェクトにおけるピン配置の把握と管理が効率化されます。


参考情報:

タイトルとURLをコピーしました