9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Arduino x Ruby x 光センサーで電子回路作り

Last updated at Posted at 2013-05-03

Dinoを使って簡単にRubyでArduinoを制御することを知ったので、光センサーを使って遊んでみます。

準備したもの

*Arduino UNO
*ブレッドボード
*ジャンパーコード
*光センサー(CdSセンサーなかったため、LLS05-Aを利用。)

回路図

回路図

スクリプト

こちらのnightlightのサンプルをそのまま使います。
sensor.when_data_receivedはloopの中に入れなくても常に値を送信してくれるようです。

nightlight.rb
require 'dino'

board = Dino::Board.new(Dino::TxRx.new)
sensor = Dino::Components::Sensor.new(pin: 'A0', board: board)

on_data = Proc.new do |data|
  puts data
end

sensor.when_data_received(on_data)

sleep

動作

*ruby nightlight.rbでスクリプトを起動。
*部屋の中では100前後の値を出力し、手をかざすと20ぐらいまで値が低下することが確認できました。下記は出力抜粋です。

$ ruby nightlight.rb
097
097
097
---snip---
023
022
021
021
020
019

まとめ

*簡単な配線とサンプルスクリプトで光センサーで入力した値をTerminalに出力することができました。
*光センサーと手の距離によって値も変わりますし、光センサー複数使って手を動きを追跡することができそうです。(手を右から左に動かしたとか。)

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?