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

12
レレレレレレレ レレレレレ レレレレレレレ twitter:@sdol

Upload: knit-tiger

Post on 11-Jun-2015

2.187 views

Category:

Documents


0 download

DESCRIPTION

2012/12/22 プロ生勉強会@品川

TRANSCRIPT

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

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

ニットタイガーtwitter:@sdol

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

はじめに自己紹介とか

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

2

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

本日のお題

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

3

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

Raspberry Pi ?

$35 で買える格安 Linux マシン 名刺サイズのコンパクトボディ ARM 700MHz のパワフル CPU LAN, USB, HDMI など標準搭載 GPIO に簡単アクセス可能、 UART や

I2C 、 SPI も簡単操作 ⇐ ここ重要!

4

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

Linux の資産が使える

Linux 向けのツールが豊富- Web サーバ : apache, lighttpd

- 動画配信 : mjpg-streamer USB 機器も簡単接続

Wifi アダプタ USB メモリ Web カメラ Arduino も繋がるっぽい

5

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

+5 V

+3.3 V

GND

UART

GPIO

SPI

I²C

GPIO ってなに?

General Purpose Input / Outputの略称。色々つながる。

出力: HIGH/LOW の切替、 PWMで外部機器を操作

入力:接続先の状態読み取って内部処理に使用

6

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

GPIO 操作方法

デバイスファイル  gpio コマンド C C#

7

1 つくらいは好みの環境がありそう

Ruby

Perl

Python

Java

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

gpio コマンドで制御 GIT で WiringPi を入手してビルド シェルスクリプトから使ってみる

8

#!/bin/shpin=4value=1gpio export $pin outgpio -g mode $pin outgpio -g write $pin $value

sleep 1

value=0gpio -g write $pin $value

4 番 PIN を出力に設定

1 秒待つ

4 番 PIN を HIGH( 1 )に設定

4 番 PIN をLOW ( 0 )に設定

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

Ruby で GPIO 制御 wiringpi GEM を require すれば OK インストールは “ gem install wiringpi”

9

#!/usr/bin/env rubyrequire 'rubygems'require 'wiringpi.rb'

pin = 7io = WiringPi::GPIO.newio.mode(pin,OUTPUT)io.write(pin,HIGH)sleep(1)io.write(pin,LOW)

7 番 PIN を出力に設定、その後で HIGH に設定

GPIO 制御用のGEM

1 秒後に LOW に設定

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

DEMO – CGI でモータ制御

10

Raspberry Pi

Web サーバ・ Lighttpd

Motor

CGI・ Shell script・ Ruby

Mobilerouter

GPIO・ 4 番 PIN

WebBrowser

GPIO,GND,3.3VPower

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

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

11

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

12 まとめ

Raspberry Pi は安くて高機能 GPIO が簡単に制御可能 ModMyPi で注文すると 2 週間くらいで

届くのでオススメ https://www.modmypi.com/