Miho's Memory

組込みとアートとまぜまぜ

micro:bitな彼と合体 #^^#モグモグ

最初に,しばらくとってもバタバタしてて,落ち着いたかと思いきや,アタマガンガン,背中ゾクゾク,手のひらおでこはポッカポカw

なので細かくしっかり書けてなくて,ごめんなさい...
荒いところはぼちぼちと更新していきますのでよろしくお願いします...

 

さて,開始!

ラズパイちゃんとmicro:bitくんは相思相愛の仲.
USBケーブルでつながり,お互いの仲を確認しあえることは,技術書典6でお話しました.

ん? 技術書典6? なんのこと???の方もいると思うので,簡単に先に紹介します.
技術書典6 をご購入いただいた方は,軽く思い出し って感じで見てもらえると嬉しいです.

ラズパイちゃんとmicro:bitくん,お互いがつながる(合体💛する)ことで,いろんな役割を分担でき,それぞれの強みを簡単に生かすことができるんです.
その簡単な合体💛はこんな感じ.

お互いを USB でつないじゃえばいいんです ^^#

f:id:MihoN:20190410230728j:plain

繋げた後,らずぱいちゃんで

pi@raspberrypi:~ $ ls /dev

そうすると,「ttyACM0」というデバイスが見えてきます.

f:id:MihoN:20190410230954p:plain

これがまさに ラズパイちゃん に合体した micro:bit くん なのです ^^#

お互いの心は serial通信 で確かめあえます.
※ 簡単なサンプルは省略.技術書典6 には記載

そこに micro:bitくんのお友達が3人(みんな micro:bit)やってきました.
みんなでなにやら話をしています.

micro:bit①『最近とても物騒な世の中だよね~』
micro:bit②『ほんとそう.いつわる~い人が近づいてくるかわかんないよね』
micro:bit③『こわいこわい』
micro:bit彼④『なんかみんなで人のためになることしない?』
ラズパイちゃん彼女⑤『わる~い人が近づいてきたら,音楽を鳴らして警戒,写真を撮りツイートしてミサイルぶち込んで追っ払おうよ!』
みんな『それいいね!!』『名付けて!「おまえはだれだ! ツイートしちゃうぞ!」』

ということで,それぞれ次のような役割で ”おまえはだれだ! ツイートしちゃうぞ!” をやってみることにしました.さっそくみんなで話をして役割を決めたよ ^^#

micro:bit①:超音波センサーでわる~い人を見張るんだい!
micro:bit②:音楽鳴らして追っ払ってやる!
micro:bit③:ミサイルぶっ放して追っ払ってやる!
micro:bitな彼④:micro:bit①からの知らせを受け,ラズパイちゃん,micro:bit②,micro:bit③に連絡
ラズパイちゃん⑤:micro:bitな彼④からの連絡で,カメラを作動パシャと写メ.ツイッターに写真をほいっ.

f:id:MihoN:20190410233637p:plain

f:id:MihoN:20190410233732p:plain

今回ちょっと時間が足りないので(後日アップデートしていく予定),参考にさせていただいたサイトと,プログラムを貼り付けていきます.
micro:bit 間は無線通信を使いますが,無線グループは 81 です.
ラズパイのパイ(81)^^#

 

micro:bit①:超音波センサーでわる~い人を見張るんだい!
〇 参考にさせていただいたサイト
     https://qiita.com/asondemita/items/718e3da6cb33553257ed
〇 用意したモノ:超音波センサー
     micro:bit用ワンタッチ距離センサー TFW-DS1(Amazon

f:id:MihoN:20190413230055j:plain
〇 プログラム

f:id:MihoN:20190413094133p:plain

micro:bit②:音鳴らして追っ払ってやる!(楽譜部分はヒミツ)
〇 参考にさせていただいたサイト
     https://blogs.yahoo.co.jp/mikewanko2/14236153.html
〇 用意したモノ:TPA2005D1搭載モノラルオーディオアンプ(SWITCHSCIENCE)

f:id:MihoN:20190413230125j:plain
〇 プログラム

f:id:MihoN:20190413100255p:plain

micro:bit③:ミサイルぶっ放して追っ払ってやる!
〇 参考にさせていただいたサイト
     https://sanuki-tech.net/micro-bit/make/motor-driver-tb6612fng/
〇 用意したモノ:TB6612FNG搭載デュアルモータードライバ(SWITCHSCIENCE),
タミヤのギヤボックス,100均ミサイル

f:id:MihoN:20190413230156j:plain
〇 プログラム

f:id:MihoN:20190413111947p:plain

micro:bit④:micro:bit①,②,③とラズパイちゃんとの連携!

f:id:MihoN:20190413230415j:plain
〇 プログラム

f:id:MihoN:20190413112402p:plain

ラズパイちゃん⑤:彼④からの連絡で,写メ&ツイート
〇 参考にさせていただいたサイト
     http://kivantium.hateblo.jp/entry/2015/01/03/000225
〇 プログラム

# coding: utf-8

import serial
import time
import datetime
import picamera
import tweepy
import RPi.GPIO as GPIO
import Eye
import subprocess
import os

ser = serial.Serial('/dev/ttyACM0', 115200, timeout = 10)

def main():

consumer_key = "みなさんのを記載"
consumer_secret = "みなさんのを記載"
access_token = "みなさんのを記載"
access_secret = "みなさんのを記載"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)

# 8x8 MatrixLED
RapiEye_l = Eye.Eye(0x71)
RapiEye_r = Eye.Eye(0x70)
RapiEye_l.heart()
RapiEye_r.heart()

while True:
# LoopCatch:
c = ser.read()
print (c)
if c == '1':
# camera
RapiEye_l.eye_angly1()
RapiEye_r.eye_angly2()
mycam = picamera.PiCamera()
mycam.brightness = 60
mycam.vflip = True
d = datetime.datetime.today()
FileName = d.strftime("%Y-%m-%d_%H%M%S") + '.jpg'
print(FileName)
mycam.capture(FileName)
mycam.close()
#tweepy
api.update_with_media(FileName, status="^-^#")
print ('Picture tweet')
time.sleep(3)
elif c == '0':
RapiEye_l.heart()
RapiEye_r.heart()
print ' Receve 0'


if __name__ == '__main__':
main()

 

micro:bitな彼とラズパイちゃんは,らぴろん(Rapiroロボット)の脳みそにしたかったけど,う~ぅ.後日動画でアップします.

f:id:MihoN:20190105225451j:plain

いったんここまでww
後日引き続きよろしくおねがいしまぁーす.