SlideShare a Scribd company logo
1 of 12
レベルを上げて
      物理で殴る

ニットタイガー
twitter:@sdol
2   はじめに自己紹介とか

    電子工作してMAKEに出展してます
    C言語使うことが多いです
    ニコニコ生放送してたけど最近は疎遠気味
    Surface Proが欲しいのです
3   本日のお題

    Raspberry Piで物理的な何かをしてみよう
4   Raspberry Pi ?

    $35で買える格安Linuxマシン
    名刺サイズのコンパクトボディ
    ARM 700MHzのパワフルCPU
    LAN, USB, HDMIなど標準搭載
    GPIOに簡単アクセス可能、UARTやI2C、
     SPIも簡単操作 ⇐ ここ重要!
5   Linuxの資産が使える

    Linux向けのツールが豊富
     - Webサーバ :apache, lighttpd
     - 動画配信 :mjpg-streamer
    USB機器も簡単接続
     - Wifiアダプタ
     - USBメモリ
     - Webカメラ
     - Arduinoも繋がるっぽい
6   GPIOってなに?

    General Purpose Input / Output
     の略称。色々つながる。
    出力:HIGH/LOWの切替、PWMで
     外部機器を操作
    入力:接続先の状態読み取って内部
     処理に使用                            +5 V
                                      +3.3 V
                                      GND
                                      UART
                                      GPIO
                                      SPI
                                      I²C
7   GPIO操作方法

    デバイスファイル   Ruby
    gpioコマンド   Perl
    C
                Python
    C#
                Java


     1つくらいは好みの環境がありそう
8   gpioコマンドで制御
    GITでWiringPiを入手してビルド
    シェルスクリプトから使ってみる
    #!/bin/sh
    pin=4
    value=1
    gpio export $pin out        4番PINを出力に設定
    gpio -g mode $pin out       4番PINをHIGH(1)
    gpio -g write $pin $value   に設定

                                1秒待つ
    sleep 1
                                4番PINをLOW(0)に
    value=0                     設定
    gpio -g write $pin $value
9   RubyでGPIO制御
    wiringpi GEMをrequireすればOK
    インストールは “gem install wiringpi”
    #!/usr/bin/env ruby
    require 'rubygems'
    require 'wiringpi.rb'     GPIO制御用の
                              GEM

    pin = 7
    io = WiringPi::GPIO.new   7番PINを出力に設定、
    io.mode(pin,OUTPUT)       その後でHIGHに設定
    io.write(pin,HIGH)
                              1秒後にLOWに設定
    sleep(1)
    io.write(pin,LOW)
10   DEMO – CGIでモータ制御
                        Raspberry Pi
               Mobile
               router
                         Webサーバ
                        ・Lighttpd


                                           Motor

                           CGI
                        ・Shell script
                        ・Ruby

      Web
     Browser
                          GPIO
                        ・4番PIN
                                        GPIO,GND,
                                        3.3VPower
11   DEMO - クラウド露出狂
     CGIに「ハズカシイ写真」「モータ制御」をセット!
      写真が閲覧されるたびにモータが激しく振動!
     USBバッテリーを使えば屋外運用も可能!




              +
12
     まとめ

      Raspberry Piは安くて高機能
      GPIOが簡単に制御可能
      ModMyPiで注文すると2週間くらいで
       届くのでオススメ
       https://www.modmypi.com/

More Related Content

What's hot

電子工作のためのPython
電子工作のためのPython 電子工作のためのPython
電子工作のためのPython Takuya Nishimoto
 
Raspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作るRaspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作るChikashi Miyama
 
Node 学園祭 2012 用
Node 学園祭 2012 用Node 学園祭 2012 用
Node 学園祭 2012 用Rei Kawai
 
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムJunichi Kakisako
 
Analog Devices の IP コアを使う
Analog Devices の IP コアを使うAnalog Devices の IP コアを使う
Analog Devices の IP コアを使うryos36
 
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPythonTakuya Nishimoto
 
Fuji sakuraでmbedを!
Fuji sakuraでmbedを!Fuji sakuraでmbedを!
Fuji sakuraでmbedを!Tetsuya Noguchi
 
Big Raspberry JAM TOKYO 2013 Hardware
Big Raspberry JAM TOKYO 2013 HardwareBig Raspberry JAM TOKYO 2013 Hardware
Big Raspberry JAM TOKYO 2013 HardwareHideki Aoshima
 
PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)Kenta IDA
 
第2回勉強会資料 柏木
第2回勉強会資料 柏木第2回勉強会資料 柏木
第2回勉強会資料 柏木beyond0iwamoto
 
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編Tetsuya Morizumi
 
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶYuta Kitagami
 
Fuji sakuraボード 2013/11/23
Fuji sakuraボード 2013/11/23Fuji sakuraボード 2013/11/23
Fuji sakuraボード 2013/11/23Takashi Kojo
 
I2CでRaspberry Piから 複数の周辺機器を制御する
I2CでRaspberry Piから複数の周辺機器を制御するI2CでRaspberry Piから複数の周辺機器を制御する
I2CでRaspberry Piから 複数の周辺機器を制御するHirokazu Nishio
 
FPGAスタートアップ資料
FPGAスタートアップ資料FPGAスタートアップ資料
FPGAスタートアップ資料marsee101
 
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)hiro345
 

What's hot (20)

電子工作のためのPython
電子工作のためのPython 電子工作のためのPython
電子工作のためのPython
 
Raspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作るRaspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作る
 
Node 学園祭 2012 用
Node 学園祭 2012 用Node 学園祭 2012 用
Node 学園祭 2012 用
 
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
 
Analog Devices の IP コアを使う
Analog Devices の IP コアを使うAnalog Devices の IP コアを使う
Analog Devices の IP コアを使う
 
MicroPython + ESP32
MicroPython + ESP32MicroPython + ESP32
MicroPython + ESP32
 
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython
 
Fuji sakuraでmbedを!
Fuji sakuraでmbedを!Fuji sakuraでmbedを!
Fuji sakuraでmbedを!
 
171116 nishimoto-mruby
171116 nishimoto-mruby171116 nishimoto-mruby
171116 nishimoto-mruby
 
Big Raspberry JAM TOKYO 2013 Hardware
Big Raspberry JAM TOKYO 2013 HardwareBig Raspberry JAM TOKYO 2013 Hardware
Big Raspberry JAM TOKYO 2013 Hardware
 
PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)
 
第2回勉強会資料 柏木
第2回勉強会資料 柏木第2回勉強会資料 柏木
第2回勉強会資料 柏木
 
Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編Zynq MPSoC勉強会 Codec編
Zynq MPSoC勉強会 Codec編
 
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶ
 
Fuji sakuraボード 2013/11/23
Fuji sakuraボード 2013/11/23Fuji sakuraボード 2013/11/23
Fuji sakuraボード 2013/11/23
 
I2CでRaspberry Piから 複数の周辺機器を制御する
I2CでRaspberry Piから複数の周辺機器を制御するI2CでRaspberry Piから複数の周辺機器を制御する
I2CでRaspberry Piから 複数の周辺機器を制御する
 
FPGAスタートアップ資料
FPGAスタートアップ資料FPGAスタートアップ資料
FPGAスタートアップ資料
 
Nishimoto 170603-mruby
Nishimoto 170603-mrubyNishimoto 170603-mruby
Nishimoto 170603-mruby
 
130831 fpgax3 yos
130831 fpgax3 yos130831 fpgax3 yos
130831 fpgax3 yos
 
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
Arduino、Raspberry Pi、PIC 入門以前(NSEG 2014-04-19)
 

Similar to レベルを上げて物理で殴る 16x9

AppGameKit on raspberry pi概概要
AppGameKit on raspberry pi概概要AppGameKit on raspberry pi概概要
AppGameKit on raspberry pi概概要SI系、ゲーム系
 
Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話yaegashi
 
Raspberry pi + piface=home electronics-security
Raspberry pi + piface=home electronics-securityRaspberry pi + piface=home electronics-security
Raspberry pi + piface=home electronics-securityYamauchi isamu
 
Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6Kazuo Asano (@kazuo_asa)
 
ロボットシステム学2015年第7回
ロボットシステム学2015年第7回ロボットシステム学2015年第7回
ロボットシステム学2015年第7回Ryuichi Ueda
 
20191113 python raspberry_pi_gpio
20191113 python raspberry_pi_gpio20191113 python raspberry_pi_gpio
20191113 python raspberry_pi_gpioKioto Hirahara
 
Raspberrypi+yocto in Yocto Workshop Japan #1
Raspberrypi+yocto in Yocto Workshop Japan #1Raspberrypi+yocto in Yocto Workshop Japan #1
Raspberrypi+yocto in Yocto Workshop Japan #1kazuya-nisimura
 
組込みAndroid入門実習
組込みAndroid入門実習組込みAndroid入門実習
組込みAndroid入門実習ksk sue
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみたKazuya Wada
 
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)catmoney
 
Python用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみたPython用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみたHirofumi Watanabe
 
GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスGoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスToshiki Tsuboi
 
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPUTakuro Iizuka
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築yaegashi
 
Making a Drone by Python using RaspberryPi and Google VoiceKit
Making a Drone by Python using RaspberryPi and Google VoiceKitMaking a Drone by Python using RaspberryPi and Google VoiceKit
Making a Drone by Python using RaspberryPi and Google VoiceKitLina Katayose
 
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...74th
 
パケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmapパケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmapfurandon_pig
 

Similar to レベルを上げて物理で殴る 16x9 (20)

AppGameKit on raspberry pi概概要
AppGameKit on raspberry pi概概要AppGameKit on raspberry pi概概要
AppGameKit on raspberry pi概概要
 
Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話
 
JTAGを使ってみよう
JTAGを使ってみようJTAGを使ってみよう
JTAGを使ってみよう
 
Raspberry pi + piface=home electronics-security
Raspberry pi + piface=home electronics-securityRaspberry pi + piface=home electronics-security
Raspberry pi + piface=home electronics-security
 
Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6
 
ロボットシステム学2015年第7回
ロボットシステム学2015年第7回ロボットシステム学2015年第7回
ロボットシステム学2015年第7回
 
20191113 python raspberry_pi_gpio
20191113 python raspberry_pi_gpio20191113 python raspberry_pi_gpio
20191113 python raspberry_pi_gpio
 
Raspberrypi+yocto in Yocto Workshop Japan #1
Raspberrypi+yocto in Yocto Workshop Japan #1Raspberrypi+yocto in Yocto Workshop Japan #1
Raspberrypi+yocto in Yocto Workshop Japan #1
 
Rasberrypi 2013-08-17
Rasberrypi 2013-08-17Rasberrypi 2013-08-17
Rasberrypi 2013-08-17
 
組込みAndroid入門実習
組込みAndroid入門実習組込みAndroid入門実習
組込みAndroid入門実習
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
 
Osc2013 tokyospring
Osc2013 tokyospringOsc2013 tokyospring
Osc2013 tokyospring
 
Python用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみたPython用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみた
 
GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスGoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティス
 
関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU関東GPGPU勉強会 LLVM meets GPU
関東GPGPU勉強会 LLVM meets GPU
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
 
Making a Drone by Python using RaspberryPi and Google VoiceKit
Making a Drone by Python using RaspberryPi and Google VoiceKitMaking a Drone by Python using RaspberryPi and Google VoiceKit
Making a Drone by Python using RaspberryPi and Google VoiceKit
 
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
 
パケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmapパケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmap
 

レベルを上げて物理で殴る 16x9

  • 1. レベルを上げて 物理で殴る ニットタイガー twitter:@sdol
  • 2. 2 はじめに自己紹介とか 電子工作してMAKEに出展してます C言語使うことが多いです ニコニコ生放送してたけど最近は疎遠気味 Surface Proが欲しいのです
  • 3. 3 本日のお題 Raspberry Piで物理的な何かをしてみよう
  • 4. 4 Raspberry Pi ? $35で買える格安Linuxマシン 名刺サイズのコンパクトボディ ARM 700MHzのパワフルCPU LAN, USB, HDMIなど標準搭載 GPIOに簡単アクセス可能、UARTやI2C、 SPIも簡単操作 ⇐ ここ重要!
  • 5. 5 Linuxの資産が使える Linux向けのツールが豊富 - Webサーバ :apache, lighttpd - 動画配信 :mjpg-streamer USB機器も簡単接続 - Wifiアダプタ - USBメモリ - Webカメラ - Arduinoも繋がるっぽい
  • 6. 6 GPIOってなに? General Purpose Input / Output の略称。色々つながる。 出力:HIGH/LOWの切替、PWMで 外部機器を操作 入力:接続先の状態読み取って内部 処理に使用 +5 V +3.3 V GND UART GPIO SPI I²C
  • 7. 7 GPIO操作方法 デバイスファイル Ruby gpioコマンド Perl C Python C# Java 1つくらいは好みの環境がありそう
  • 8. 8 gpioコマンドで制御 GITでWiringPiを入手してビルド シェルスクリプトから使ってみる #!/bin/sh pin=4 value=1 gpio export $pin out 4番PINを出力に設定 gpio -g mode $pin out 4番PINをHIGH(1) gpio -g write $pin $value に設定 1秒待つ sleep 1 4番PINをLOW(0)に value=0 設定 gpio -g write $pin $value
  • 9. 9 RubyでGPIO制御 wiringpi GEMをrequireすればOK インストールは “gem install wiringpi” #!/usr/bin/env ruby require 'rubygems' require 'wiringpi.rb' GPIO制御用の GEM pin = 7 io = WiringPi::GPIO.new 7番PINを出力に設定、 io.mode(pin,OUTPUT) その後でHIGHに設定 io.write(pin,HIGH) 1秒後にLOWに設定 sleep(1) io.write(pin,LOW)
  • 10. 10 DEMO – CGIでモータ制御 Raspberry Pi Mobile router Webサーバ ・Lighttpd Motor CGI ・Shell script ・Ruby Web Browser GPIO ・4番PIN GPIO,GND, 3.3VPower
  • 11. 11 DEMO - クラウド露出狂 CGIに「ハズカシイ写真」「モータ制御」をセット!  写真が閲覧されるたびにモータが激しく振動! USBバッテリーを使えば屋外運用も可能! +
  • 12. 12 まとめ Raspberry Piは安くて高機能 GPIOが簡単に制御可能 ModMyPiで注文すると2週間くらいで 届くのでオススメ https://www.modmypi.com/