「Raspberry Pi」でつくる
電子工作

サポート情報
最終更新2013年08月05日

■ 本書サポート情報 (更新2013年08月05日)

  ■PDFのダウンロード
  本書の「PDF版テキスト」は、以下からダウンロードできます。


  ・RaspberryPi_PDFtext.zip

 PDFを開くためのパスワードは、本書に掲載しています。


  ■サンプル・プログラムのダウンロード
  本書で解説しているサンプル・プログラムは、以下からダウンロードできます。


  ・sample.zip

※サンプル・プログラムの使用にあたって生じたトラブルは、著者および工学社は一切の責任を負いません。また、サンプルなどは著作権法により保護されています。個人で利用する目的以外には利用できません。ネットワークへのアップロードなどは、著者の許可無く行なうことはできません。


■ お詫びと訂正 (更新2013年08月05日)

本文中における下記の部分が間違っておりました。お詫びして訂正いたします。

・P35「/lib」の説明
「/BIN」や「/SBIN」
「/bin」や「/sbin」

・p73図の説明文

「CGI」を使ったhtmlの生成と表示の流れ

htmlドキュメントがブラウザに表示されるまで



htmlドキュメントがブラウザに表示されるまで

「CGI」を使ったhtmlの生成と表示の流れ

・p95 左段9行目
次ページの図は、「可変抵抗」の全体が
前ページの図は、「可変抵抗」の全体が

・p98 左段3行目
付録でMicrochip社のADC
PDF版テキストでMicrochip社のADC

・p104 右段8行目および11行目
I2C
I²C

・p113 左段19行目
コマンドラインで「リダイレクト機能」を使い場合は、
コマンドラインで「リダイレクト機能」を使う場合は、

・p120 ■モータを回してみよう
LEDを点滅させたり、明るさを変化させるプログラムを応用して、モータの回転を制御してみましょう。
LEDを点滅させたり、明るさを変化させるプログラムを応用して、モータの回転を制御してみましょう。今回は、市販の「130モータ」を使います。
 なお、「260モータ」程度までは、この回路で動作が可能です。

・p124 図のタイトル
「2N7000」ともっと大きい「MOS-FET」の例、高輝度白色LED(Vf=3.1V)用回路
「2N7000」で高輝度白色LED(Vf=3.1V)をドライブする回路

・p128 リスト9-1のインデント
#!/usr/bin/python

import spidev
import time

spi_ch = 1
conn = spidev.SpiDev(0,spi_ch)
conn.max_speed_hz = 1000000 # 1MHz

dummy = conn.xfer2( [(0x16*2)+0x80 ,0b00001001] )
print dummy

for i in range(200):
 x0 = conn.xfer2( [0x06*2 ,0] )
 y0 = conn.xfer2( [0x07*2 ,0] )
 z0 = conn.xfer2( [0x08*2 ,0] )

 x1 = ((x0[1] + 128) % 256) - 128
 y1 = ((y0[1] + 128) % 256) - 128
 z1 = ((z0[1] + 128) % 256) - 128
print "x=%s : y=%s : z=%s" % (x1 ,y1 ,z1)
 time.sleep(0.1)
#!/usr/bin/python

import spidev
import time

spi_ch = 1
conn = spidev.SpiDev(0,spi_ch)
conn.max_speed_hz = 1000000 # 1MHz

dummy = conn.xfer2( [(0x16*2)+0x80 ,0b00001001] )
print dummy

for i in range(200):
 x0 = conn.xfer2( [0x06*2 ,0] )
 y0 = conn.xfer2( [0x07*2 ,0] )
 z0 = conn.xfer2( [0x08*2 ,0] )

 x1 = ((x0[1] + 128) % 256) - 128
 y1 = ((y0[1] + 128) % 256) - 128
 z1 = ((z0[1] + 128) % 256) - 128
 print "x=%s : y=%s : z=%s" % (x1 ,y1 ,z1)
 time.sleep(0.1)

・p132 リスト9-2のインデント
#!/usr/bin/python

import smbus
import time

i2c = smbus.SMBus(1) # SMBus(0) if rev1.0

dev_ad = 0x63
reg0 = 0x0 # control reg
reg1 = 0x1 # fault reg


def motor_move(in1,in2):
 for i in [0x06 ,0x0f ,0x19 ,0x1f ,0x25 ,0x29]:
  out_data = i*4 + in2*2 + in1
  # output voltage and direction
  i2c.write_byte_data(dev_ad ,reg0 ,out_data)
  # input status
  in_data = i2c.read_byte_data(dev_ad ,reg1)
  print ("level = %x status : %x" % (i,in_data))
  time.sleep(4)

# stop motor
i2c.write_byte_data(dev_ad ,reg0 ,0)
 print ("stop")
 time.sleep(2)
# main

i2c.write_byte_data(dev_ad ,reg1 ,0x80) # reset
motor_move(1,0) # forward
motor_move(0,1) # backward
#!/usr/bin/python

import smbus
import time

i2c = smbus.SMBus(1) # SMBus(0) if rev1.0

dev_ad = 0x63
reg0 = 0x0 # control reg
reg1 = 0x1 # fault reg


def motor_move(in1,in2):
 for i in [0x06 ,0x0f ,0x19 ,0x1f ,0x25 ,0x29]:
  out_data = i*4 + in2*2 + in1
  # output voltage and direction
  i2c.write_byte_data(dev_ad ,reg0 ,out_data)
  # input status
  in_data = i2c.read_byte_data(dev_ad ,reg1)
  print ("level = %x status : %x" % (i,in_data))
  time.sleep(4)

 # stop motor
 i2c.write_byte_data(dev_ad ,reg0 ,0)
 print ("stop")
 time.sleep(2)

# main

i2c.write_byte_data(dev_ad ,reg1 ,0x80) # reset

motor_move(1,0) # forward
motor_move(0,1) # backward

・p142 図中の説明文
webio.js
webiopi.js

・p144 右段6行目
http://192.168.11.100:8000/
http:// 192.168.3.99:8000/  (読者ごとの環境に合わせて変更)

・p145 左段 下から3行目
メインになる③の作り方を中心に、
メインになる①の作り方を中心に

・p145 右段 下から4行目
②htmlおよびJavaScript
②htmlおよび③JavaScript

・p151 左段11行目
詳しくは付録を参照
詳しくはPDF版テキストを参照

・p154 図



・p155 図



(株)工学社 I/O編集部


本書の内容に関するご質問/お問い合わせは、次の方法で工学社編集部宛にお願いします。

  1. 返信用の切手を同封した手紙
  2. 往復はがき
  3. FAX 03-5269-6031
  4. E-mail 問い合わせフォーム

なお、電話によるお問い合わせはご遠慮ください。

※ご質問/お問い合わせの際、お客様の使用・動作環境などに添えて、具体的な症状をできるだけ詳しくお知らせください。
※FAXでのご質問/お問い合わせの場合は、必ずお客様のFAX番号を明記してください。


戻る