暗くなると目が光る「ニャンだよ~」を作ってみた

先日、株式会社スイッチエデュケーションから「いぬボード」が発売されました。パソコンのヘッドフォンとマイクの端子で接続し、ボード上の明るさセンサーで測ったり、アナログ信号でデバイスを制御できます。NHK for SchoolのWhyプログラミング「スーパーロボット・ワンだふぉーを直せ」で登場した、暗くなると目が光る犬ロボットを簡単に作れるそうです。

手元にラズベリーパイがあるので、同じように暗くと目が光るネコ型ロボット「ニャンだよ〜」を息子くんと一緒に作ってみました。息子くんは主にネコ担当。パパはプログラムと回路担当。

「ニャンだよ〜」に必要なもの

ラズベリーパイが動く環境までは準備済みとして書きます。リンクは秋月電子さんのECサイトに張ってあります。

LEDは配線をシンプルにするために抵抗内蔵のものを選びました。明るさセンサーからの入力はアナログなので、ラズベリーパイで読み取るにはアナログーデジタル(AD)変換が必要になります。このADコンバータが1000円以上してしまいますが、その他の部品はすべて合わせても500円程度で済みます。

作る前に設計

完成型の見た目(予想)

箱の中のイメージ

配線図

いざ製作開始

牛乳パックを組み立てて、これから顔を描きます。

息子くんのセンスやいかに。

箱の中はこんな感じです。

制御するプログラムはこんな感じです。

#!/usr/bin/env python
import time, signal, sys
import Adafruit_ADS1x15 as ADS
import RPi.GPIO as GPIO

GPIO.cleanup()
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
ads = ADS.ADS1015()

while True:
  volts = ads.read_adc(0, gain=1) / 500.0
  if volts > 1.0:
    print( "light : " + str ( volts ))
    GPIO.output(17, GPIO.LOW)
  else:
    print( "dark : " + str( volts ))
    GPIO.output(17, GPIO.HIGH)
  time.sleep(1)

無事に完成


指で明るさセンサーを押さえたり、

部屋を暗くすると、

ニャンだよ〜の目がピカっと光ります。

kikushun: