Enviar pesquisa
Carregar
PUREYES Tutrial for Raspberrypi SCRATCH3 Python kit v106e1
•
0 gostou
•
13,085 visualizações
M
Mitsuhironakamura11
Seguir
Tutrial for Raspberrypi Python Scratch3
Leia menos
Leia mais
Educação
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 111
Baixar agora
Baixar para ler offline
Recomendados
Pureyes tutrial for raspberrypi kit
Pureyes tutrial for raspberrypi kit
Mitsuhironakamura11
PUREYES Arduino learning kit v116
PUREYES Arduino learning kit v116
Mitsuhironakamura11
Pureyes uno r3 learning kit tutorial v115
Pureyes uno r3 learning kit tutorial v115
Mitsuhironakamura11
Arduino learning kit
Arduino learning kit
Mitsuhironakamura11
2014 電子語学教材開発研究部会 第10回研究会 デジタル動画教材 (2)
2014 電子語学教材開発研究部会 第10回研究会 デジタル動画教材 (2)
Daisuke Ienaga
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
エピック・ゲームズ・ジャパン Epic Games Japan
VDMX_WS20160227
VDMX_WS20160227
Takeuchi Fumiya
VDMX_WS20160214
VDMX_WS20160214
Takeuchi Fumiya
Recomendados
Pureyes tutrial for raspberrypi kit
Pureyes tutrial for raspberrypi kit
Mitsuhironakamura11
PUREYES Arduino learning kit v116
PUREYES Arduino learning kit v116
Mitsuhironakamura11
Pureyes uno r3 learning kit tutorial v115
Pureyes uno r3 learning kit tutorial v115
Mitsuhironakamura11
Arduino learning kit
Arduino learning kit
Mitsuhironakamura11
2014 電子語学教材開発研究部会 第10回研究会 デジタル動画教材 (2)
2014 電子語学教材開発研究部会 第10回研究会 デジタル動画教材 (2)
Daisuke Ienaga
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
エピック・ゲームズ・ジャパン Epic Games Japan
VDMX_WS20160227
VDMX_WS20160227
Takeuchi Fumiya
VDMX_WS20160214
VDMX_WS20160214
Takeuchi Fumiya
Serverless LT 20201202
Serverless LT 20201202
ssuserebdd2a
Visual Studio 2017 で Azure Functions の開発
Visual Studio 2017 で Azure Functions の開発
Yasuaki Matsuda
プログラミング初心者の壁の越え方
プログラミング初心者の壁の越え方
Yuichi Kato
作ってナットク!デジタル動画教材 第1回 動画撮影の基本ノウハウとオススメ機材
作ってナットク!デジタル動画教材 第1回 動画撮影の基本ノウハウとオススメ機材
Syuhei KIMURA
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
Yukio Saito
パソコンであそぼ♪Scratchでだれでもかんたんプログラミング 発表資料
パソコンであそぼ♪Scratchでだれでもかんたんプログラミング 発表資料
高見 知英
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
Kentarou Mukunasi
プログラミングってなに?
プログラミングってなに?
Kazuki Saito
Azure Functions あれこれ
Azure Functions あれこれ
Yasuaki Matsuda
Hello Engineer World! 新人リケジョの1年
Hello Engineer World! 新人リケジョの1年
Satoko Shiroi
ユーザとの「初めまして」をより良くするために。
ユーザとの「初めまして」をより良くするために。
akatsuki174
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
Hiroki Kondo
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Yasuaki Matsuda
5minQues - SWET近況報告
5minQues - SWET近況報告
Masaki Nakagawa
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
ゲーム開発におけるスクラムのすゝめ
ゲーム開発におけるスクラムのすゝめ
HatakeyamaAkihide
ゲーム開発におけるスクラムのすゝめ
ゲーム開発におけるスクラムのすゝめ
AkihideHatakeyama
P5utda day1
P5utda day1
Ryuyu Ishihara
はじめてのテスト技法
はじめてのテスト技法
Tatsuya Saito
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
Tokyo Institute of Technology
Mais conteúdo relacionado
Semelhante a PUREYES Tutrial for Raspberrypi SCRATCH3 Python kit v106e1
Serverless LT 20201202
Serverless LT 20201202
ssuserebdd2a
Visual Studio 2017 で Azure Functions の開発
Visual Studio 2017 で Azure Functions の開発
Yasuaki Matsuda
プログラミング初心者の壁の越え方
プログラミング初心者の壁の越え方
Yuichi Kato
作ってナットク!デジタル動画教材 第1回 動画撮影の基本ノウハウとオススメ機材
作ってナットク!デジタル動画教材 第1回 動画撮影の基本ノウハウとオススメ機材
Syuhei KIMURA
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
Yukio Saito
パソコンであそぼ♪Scratchでだれでもかんたんプログラミング 発表資料
パソコンであそぼ♪Scratchでだれでもかんたんプログラミング 発表資料
高見 知英
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
Kentarou Mukunasi
プログラミングってなに?
プログラミングってなに?
Kazuki Saito
Azure Functions あれこれ
Azure Functions あれこれ
Yasuaki Matsuda
Hello Engineer World! 新人リケジョの1年
Hello Engineer World! 新人リケジョの1年
Satoko Shiroi
ユーザとの「初めまして」をより良くするために。
ユーザとの「初めまして」をより良くするために。
akatsuki174
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
Hiroki Kondo
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Yasuaki Matsuda
5minQues - SWET近況報告
5minQues - SWET近況報告
Masaki Nakagawa
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
ゲーム開発におけるスクラムのすゝめ
ゲーム開発におけるスクラムのすゝめ
HatakeyamaAkihide
ゲーム開発におけるスクラムのすゝめ
ゲーム開発におけるスクラムのすゝめ
AkihideHatakeyama
P5utda day1
P5utda day1
Ryuyu Ishihara
はじめてのテスト技法
はじめてのテスト技法
Tatsuya Saito
Semelhante a PUREYES Tutrial for Raspberrypi SCRATCH3 Python kit v106e1
(20)
Serverless LT 20201202
Serverless LT 20201202
Visual Studio 2017 で Azure Functions の開発
Visual Studio 2017 で Azure Functions の開発
プログラミング初心者の壁の越え方
プログラミング初心者の壁の越え方
作ってナットク!デジタル動画教材 第1回 動画撮影の基本ノウハウとオススメ機材
作ってナットク!デジタル動画教材 第1回 動画撮影の基本ノウハウとオススメ機材
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
Enpit bizapp_aiit_20130902_for_WindowsEnvironment
パソコンであそぼ♪Scratchでだれでもかんたんプログラミング 発表資料
パソコンであそぼ♪Scratchでだれでもかんたんプログラミング 発表資料
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
プログラミングってなに?
プログラミングってなに?
Azure Functions あれこれ
Azure Functions あれこれ
Hello Engineer World! 新人リケジョの1年
Hello Engineer World! 新人リケジョの1年
ユーザとの「初めまして」をより良くするために。
ユーザとの「初めまして」をより良くするために。
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
5minQues - SWET近況報告
5minQues - SWET近況報告
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
ゲーム開発におけるスクラムのすゝめ
ゲーム開発におけるスクラムのすゝめ
ゲーム開発におけるスクラムのすゝめ
ゲーム開発におけるスクラムのすゝめ
P5utda day1
P5utda day1
はじめてのテスト技法
はじめてのテスト技法
Último
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
Tokyo Institute of Technology
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
Kochi Eng Camp
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
Kochi Eng Camp
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
Takayuki Itoh
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
Último
(8)
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
PUREYES Tutrial for Raspberrypi SCRATCH3 Python kit v106e1
1.
© PUREYES ラズベリーパイ GPIO
と スクラッチ ではじめる 電子工作 & ブロック プログラミング 速 習キット [ 学習教材 V106 ] http://pureyes.webstarterz.com
2.
© PUREYES はじめに ● PUREYES(プレイズ)ラズベリーパイ
GPIO と スクラッチ ではじめる 電子工作 & ブロック プロ グラミング 速習キット をお買い上げいただき誠にありがとうございます。 ● ラズベリーパイGPIO(ハード)やスクラッチ(ソフト)の登場で電子工作やプログラミングが気軽に 学べる時代になってきました。 ● 本書は豊富なイラストと平易な文章を使って初心者の方がサクサク学べるようにやさしく仕上げ ました。また、わからないところはLINEでのサポートも行っていますのでどんどん質 問して下さ い。 LINEサポート窓口 ≫ https://lin.ee/3qvAwiFGB 1
3.
© PUREYES ≪電子部品型式≫ ・LED OSDR3133A ・タクト スイッチ
& 黄色 スイッチ カバー ・人感センサ HC-SR501 ・カメラ 500万画素ラズパイCSI端子用 ・モーター FA-130RA ・モータードライバIC TA7291P 又は TB6612FBG ・電池 単4型2本 ・電池ボックス 単4型2本用 ・ADコンバータ ADS1015 ・光センサ CdS GL5528 ・温度センサ SHT30 ・LCD文字表示器 1602 I2C ・ピン付き電線 (オス―メス20本、 オス―オス10本) ・抵抗器 各10本 100Ω 5.6kΩ 10kΩ ・ブレッドボード BB-801 2
4.
© PUREYES 3 ラズパイ本体はScratch3を動作させる ために1GB以上のRAMを搭載した機種 が必要です。 ≪推奨機種≫ Raspberry Pi4 Raspberry
Pi3 Model B+ Raspberry Pi3 Model B Raspberry Pi2 Model B
5.
© PUREYES 4
6.
© PUREYES ラズベリーパイ GPIO
と スクラッチ ではじめる 電子工作 & ブロック プログラミング 速習キット[ 学習教材 ] 目次 Step1 Scratch3 で簡単プログラミング ・Lesson1 LED を点滅させてみよう ・Lesson2 スイッチ を使ってみよう ・Lesson3 人感センサ を使ってみよう ・Lesson4 監視 カメラ を作ってみよう ・Lesson5 モーターの正転逆転をやってみよう 5
7.
© PUREYES ラズベリーパイ GPIO
と スクラッチ ではじめる 電子工作 & ブロック プログラミング 速習キット[ 学習教材 ] 目次 Step2 Python で本格 プログラミング ・Lesson6 Step1で作ったプログラムを Python で書いてみよう ・Lesson7 ADコンバータ と 光センサ で光量を測ってみよう ・Lesson8 温度センサ で温度を測ってみよう ・Lesson9 LCD 文字表示器に温度を表示してみよう 6
8.
© PUREYES Step1 Scratch3 で簡単プログラミング Lesson1 LED
を点滅させてみよう 7
9.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 概要 LEDを点滅させる実習を通して配線の仕方、抵抗の選び方、 Scratchプログラミングでのデジタル出 力をする方法までを学びましょう。 8
10.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 電気回路の電流や電圧を変えたりと地味だけど実は重要な部品です。 このレッスンではLEDに流す電流を決めています。電圧を変える方法についてはあとのモー タ―を制御するレッスンで解説します。 【 本キットで使用している抵抗 】 100Ω(茶黒黒黒茶) 5.1KΩ(緑茶黒茶茶)10KΩ(茶黒黒赤茶) 部品解説 抵抗器 9 【抵抗のカラーコードの読み方】 抵抗にはカラーコードと呼ばれる帯が付いておりこれを読む ことで抵抗値や抵抗値のばらつき精度や温度特性が分かりま す。カラーコードは帯が4つ、5つ、6つのものが有り、それぞれ 右図のように読むことができます。
11.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 部品解説 LED(Light Emitting Diode 発光ダイオード) 10 LEDは足の長さに違いが有り、長い方がアノード、短い方をカソード と呼びます。 アノードを + 、カソードを - に繋いで使用しますが電源等に直接接続すると定格電流を超えて最悪 爆発してしまいますのでここは慎重に。。必ず直列に抵抗を入れましょう。 では抵抗値はどうやって決めるのでしょう? LEDの順方向電圧、定格電流、電源電圧の3つがわかれば下記のように計算できます。 LEDの順方向電圧2V、定格電流0.02A、電源電圧3.3Vの場合、(3.3V-2V)÷ 0.02A=65Ωで65Ω以 上の抵抗をつければOKです。
12.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 部品解説 LED(Light Emitting Diode 発光ダイオード) 11 今回は入手性の良い100Ωを選択します。 ちなみに100Ωの場合電流は(3.3V-2V)÷ 100Ω=13mAになります。 抵抗値が大きければ暗くなり小さければ明るくなります。 壊れますので定格より小さい抵抗はダメですよ。 順方向電圧(VF):LED の両端に加わる電圧 定格電流(IF):LED に流す電流 電源電圧:RaspberryPiのピンから出力される電圧 3.3V 電子部品の特性はインターネットに多数 公開されているデータシートを見るとわ かりますので検索してみてください。
13.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 部品解説 ブレッドボード 12 たくさんの穴が各種電子部品の足のピッチに合わせた2.54mm間隔で空いていてここに電子部品を 差し込むことでハンダ付け等無しで電気配線がでる、電子工作の実験に便利なボードです。 内部は電気的に下記の様につながっています。外側 2 列は横方向につながっており、主に電源用 として利用します。
14.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES RaspberryPi GPIO 13
15.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES RaspberryPi GPIO 14 5V(●)3.3V(●)の端子は電池で例えるとプラス端子です。常時5.5Vまたは3.3Vが出力されています。Ground (●)は電池でいうところのマイナスです。 その他の端子●はすべて入出力GPIOとして使用できます。プログラム時に入力に設定すればスイッチのON かOFFの状態を読んだりできますし、出力にすればLEDを付けたり消したりということができます。 ≪ここに注意!≫ ピンの順番とGPIO番号は異なるので配線の時はこの表と配線のイラストをしっかり見て間違えないようにしま しょう。 Raspberry Pi 公式ドキュメントより引用 https://www.raspberrypi.org/documentation/usage/gpio/README.md
16.
© PUREYES 15
17.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 接続図 16 それでは接続イラストのように配線をしてみましょう。 と、、ここで注意です。 配線をする時は必ずラズパイの電源が切れていることを確認 してください。電源が入ったまま作業すると電子部品や大事な ラズパイ本体を破壊してしまうことになりかねませんのでここ は慎重に。 電線はオスーメスのリボンケーブルを使用します。ちなみにこ のケーブルは何本も連なっていますが手で簡単に割けますの で必要な分だけ割いて使ってください。 LEDは足が長い方を抵抗 およびGPIO18側にしま す。 詳しくはLesson1 部品説 明ページへ
18.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 回路 17 先ほどの接続図を回路図にするとこういう形になります。回路図なんか見るとエンジニアになった気分 ですね。 回路で実現したいことのみが簡潔に書かれていますので、何か問題が起こったときに回路を調べるの に役立ちます。 あれっ と思ったときに見直してみてください。
19.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Scratch3 18
20.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Scratch3 ソフトを起動する 19 デスクトップ右上のラズパイマーク→プログラミング →Scratch3をクリックします。 Scratch3 が入っていない場合は LXterminal に下記 を入力して ENTERキー を押していただくと自動的に インストールされます。 sudo apt get scratch3 LXterminal
21.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Scratch3公式チュートリアル 20 Scratch3のチュートリアルボタンを押すとたくさんの 動画による解説が有りますのでまずはこの演習を何 個かやってScratchに慣れるのをおすすめします。
22.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Scratch3 文部科学省公式教師用教材 21 文部科学省公式scratch3教師用教材 教師用として公開されていますが一般向けとしても非常にわかりやすいのでおすすめの動画です。 https://www.youtube.com/watch?v=ZQNDpS2GpvU&list=PLGpGsGZ3lmbDT1aiatXSOfKexgsjfzJ1F&index=3
23.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Scratch3 画面構成 22 カテゴリ ブロックパレットに 表示させるブロッ クの種類を選ぶ スクリプトエリア ここでプログラムを書きます。 ステージ プログラムの 実行結果や カメラで移し た画像が表 示されます。 ブロックパレット カテゴリで選んだ ブロックが表示さ れるので、ここか ら選んでスクリプト エリアにドラッグ& ドロップします。
24.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Scratch3 初期設定 拡張機能の追加 23 初期設定としてScratch3の拡張機能の追加を行います。 ①左端のカテゴリバーの一番下の青いアイコンをクリックすると 拡張機能一覧が現れるのでRaspberrypiGPIOとビデオモーショ ンセンサーを選択してください。 ②スクリプトエリアにRaspberrypiGPIOとビデオモーションセン サーのブロックが現れると追加完成です。 ① ②
25.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング LEDを点滅させるプログラムを作ってみよう 24 見よう見まねで上記プログラムを作ってみましょう。 該当するカテゴリを選ぶとそのカテゴリのブロックがずらっと出てくるので該当するブロックをスクリプトエリ アにドラッグ&ドロップします。 ブロック中の白いエリアには文字や数字を記入できます。また、ドロップダウンボックスから該当のものを 選びましょう。
26.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング LEDを点滅させるプログラムの解説 25 旗が押されたときに以下が動き出します。 これに囲まれた部分を上から下へ指定回数繰り返します。 ラズパイGPIOの出力制御です。 GPIO18番ピンをhigh(3.3V)にします GPIO18番ピンをlow(0V)にします ステージの猫が LEDひかった と0.2秒言います 0.2秒待ちます ステージの猫が LEDひかった と0.2秒言います 0.2秒待ちます 10回終わったらステージの猫が おわり と言います スクラッチ公式 ブロック解説ページ https://ja.scratch-wiki.info/wiki/ブロック_(3.0)
27.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング LED点灯 26 猫ちゃんが LEDひかった! LEDきえた! を10回繰り返して おわり と言っ てくれましたか? また猫ちゃんの言葉通り LEDが光ったり消えたりしたでしょうか? もしうまくいかなかったらもう一度配線やプログラムを見直して何が違うか考えて みましょう。 うまくいかなかった時の方が解決したときに深い理解が得られることが多いです よ。がんばってください! LEDは足が長い方を抵抗 およびGPIO18側にしま す。 詳しくはLesson1 部品説 明ページへ
28.
© PUREYES Step1 Scratch3 で簡単プログラミング Lesson2 スイッチ
を使ってみよう 27
29.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 概要 Lesson1ではLEDを点滅させる演習でGPIOの出力について学びました。 今回はこれにスイッチを追加して入力について学びましょう。 28
30.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES タクトスイッチは真ん中のボタンを押すと左右の端子が 導通します。 右側上下どうしと左側上下どうしは常に繋がっています。 部品解説 スイッチ 29
31.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 接続図 30 今回はLesson1の回路にスイッチを追加します。
32.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 回路図 31 回路図だとこんな感じです
33.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング スイッチを使ってみよう 32 GPIO15ピンを※プルアップ付きのインプット端子に設定します。 前回は10回の繰り返しにしましたが今回はずっとをつかってみましょう もし でなければ という制御ブロックを使います。 high(3.3V)ならスイッチオフと言って LEDを消します。 high(3.3V)でなければスイッチオンと言って LEDを付けます。 ※プルアップ付きのインプットの場合スイッチを押さない 時3.3V、押すと0Vになります。 常時はプルアップされている 3.3Vで、スイッチを押すと GND(マイナス)と繋がるので 0Vになります。
34.
© PUREYES Step1 Scratch3 で簡単プログラミング Lesson3 人感センサ
を使ってみよう 33
35.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 概要 このレッスンでは人感センサを入力デバイスに使います。 よく人がいるときだけ自動で点灯する電灯とかに使われていますね。 34
36.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 人体検知センサーは人体から出ている熱(赤外線)を検知して、人がいる、いない を判断するセンサーで す。 人がいないとOUTからhighの電圧を出します。 部品解説 人感センサHC-SR501 35 検知時間調整 3秒(右いっぱい) ~ 5分(左いっぱい) 検知距離調整 3m(右いっぱい) ~ 5m(左いっぱい) VCC 5V OUT HIGH(3V) /LOW(0V) GND
37.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 接続図 36 今回はLesson2の回路に人感センサを追加します。 スイッチは今回使わないので外してもOKです。 .
38.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 回路図 37
39.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング 人感センサ 38 人感センサの出力端子と接続した GPIO4ピンを※プルダウン付き のインプット端子に設定します。 もし でなければ という制御ブロックを使います。 人感センサの出力が high(3.3V)なら だれかいる と言って LEDを点けま す。 人感センサの出力が high(3.3V)でなければ だれもいない と言って LED を消します。 ※プルダウン付きのインプットの場合外部から電圧をかけない時は 0V、外部か ら電圧をかけると外部から与えた電圧になります。 今回は人感センサの出力信号なので人が来ると high(3.3V)、常時は0Vです。
40.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング 人感センサ 39 プログラムを実行してみましょう。 センサに近づくとLEDが光り、離れて待つと消灯します。 ※延長時間が長すぎたり検知距離が遠すぎたりすると 待ったり離れたりするのが辛いので センサについている 2つのボリュームは共に 右いっぱい(半時計周りいっぱ い)の状態から実験をはじめるといいでしょう。このボ リューム設定時は3m以上離れて約3秒待つと消灯しま す。 今回はLEDを光らせましたが人が来たらモーターを回し てゲートを動かして自動ドアのようなものを作るのも面白 いですね。ただしラズベリーパイの出力端子は数十ミリ アンペア程度した流せないのでモーター等大きな電流を 流す場合はリレーと呼ばれる電気的なスイッチを使う必 要が有ります。
41.
© PUREYES Step1 Scratch3 で簡単プログラミング Lesson4 監視
カメラ を作ってみよう 40
42.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 概要 Lesson3では人感センサを使って人がいる、いないを検出しました。 こんどはラズベリーパイ専用カメラを使って画像で人を検出しましょう。 41
43.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES ラズパイ2、3、4のカメラ専用端子につなぐことができる500万画素のカメラモジュールです。 、 部品解説 カメラモジュール 42 コネクタの頭の部分を少し引くと隙間ができるのでそこ にカメラから出ている白いフラットケーブルを差し込ん で先ほどのコネクタの頭部分をもとに戻します。 注意! カメラ接続時は電源を抜いてから行って下さい。 また、カメラが動作しない場合は以下を ご確認お願いします。 ①フラットケーブルの差し込み方向が逆になっていな いか? ②カメラのレンズ部上に有る横長四角で茶色のコネク タが外れていないか?
44.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 接続図 43 Lesson1と同じです。 カメラも接続します。 .
45.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 回路図 44
46.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES ラズパイのカメラを有効にする 45 RaspberryPiの設定画面を開きカメラと I2Cを有効にしておきま す。 I2Cはあとのレッスンで使用しますのでついでです。
47.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング ビデオモーションを使ってみよう 46 ビデオモーションのブロックです。 今 30 の数字が入っているところはカメラ感度の設定です。 0から100の数字を入れられて、 0数字が小さいと感度が良くなり数字 が大きいと感度が悪くなります。 カメラ画像に何かが動いたら猫ちゃんに だれかいる と言ってもらっ て同時にLEDを光らせます。 5秒たったら猫ちゃんの言葉と LEDを消します
48.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング ビデオモーションを使ってみよう 47 スクラッチ3の拡張機能ビジョンモーションセンサを使ってみました。この写真のようにカメラに手などの動くものをかざすと ちゃんと猫ちゃんやLEDが反応してくれます。 一般的なC言語等のプログラムでこれを実現しようと思うとかなり難しい内容になりますが、この拡張機能を使うとこんなに 簡単に実現出来てしまいます。 Scratch3って素晴らしいですね。
49.
© PUREYES Step1 Scratch3 で簡単プログラミング Lesson5 モーターの正転逆転をやってみよう 48
50.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 概要 Step1 Scratch3編の最後のレッスンです。 このレッスンではモーターとモータードライバ ICを使ってラズパイGPIOでは扱えない大きな電 流が 流れる回路の作成方法とそれをどうプログラムしていくのかを見ていきます。 ※2020年9月出荷分以降のキットから随時モータードライバ ICがTA7291P→TB6612FBGに変更 しております。(TA7291Pのメーカー製造中止の為) 本レッスンではそれぞれについて解説しておりますのでお手元のキットに入っているモータードライ バのページをご参照くださいませ。 49 モータ ―ドライバIC TA7291P TB6612FBG 2020/9/10 V106 TB6612FBG追記
51.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 直流電圧1.5V~3V 電流0.2A で動くモーターです。 部品解説 モーター & モータードライバIC 50
52.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES モーターの正回転、逆回転、ストップ、 速度制御をするためのICです。 ピンがたくさん有って難しそうですが ”習うよりなれよ” でまずは接続して動作を 確認していきましょう。 動きを見てからこの表を眺めると理解が速い と思います。 電圧25V 電流1Aまで使えます。 部品解説 モータードライバIC TA7291P 51 PIN 記号 説明 ① GND GND ② OUT1 モーターと接続 ③ 未使用 - ④ Vref PWM出力と接続 (Vsより小さい電圧 が必要) ⑤ IN1 GPIOの出力と接続 ⑥ IN2 GPIOの出力と接続 ⑦ Vcc ICの電源(5V) ⑧ Vs モーター駆動用電 源 ⑨ 未使用 - ⑩ OUT2 モーターと接続
53.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES こちらはモータードライバICの真理値表です。 モードの列にモーターの状態(ストップ、正転、逆転、ブレーキ)が書かれていますのでやりたいモードの左側 を見ると入力ピン(IN1,IN2)の状態と出力ピン(OUT1,OUT2)の状態が分かります。 入力ピンをGPIOでやりたいモードの状態にすると出力に書かれている状態になってモード通りの動作になり ます。 部品解説 モータードライバIC TA7291P 52 入力 出力 モード IN1 IN2 OUT1 OUT2 Low(0V) Low(0V) 回路と分離 回路と分離 ストップ high(3.3V) Low(0V) 3V GND モーター正転 Low(0V) high(3.3V) GND 3V モーター逆転 high(3.3V) high(3.3V) GND GND ブレーキ
54.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 接続図 モータードライバ TA7291P 使用時 53 今回はモータードライバICの使い方がちょっと複雑なので集中 してこのICの使い方を学んでいただくためにシンプルにモー タードライバICとモーターに関係する回路だけにしました。 .
55.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 回路図 モータードライバ TA7291P 使用時 54 ≪抵抗による電圧変更≫ TA7291P_ICのVref端子にはVccより も低い電圧が必要なので R2とR3の 抵抗で電圧を変えています 今回のように同じ抵抗値のものを直 列に2本使う場合はそれぞれの抵抗 の両端の電圧が半分になります。
56.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES モーターの正回転、逆回転、ストップ、速度制御をするためのICです。 TB6621FBGはA、B最大2個のモーターを接続できます。今回はAのみ使用します。 電圧13.5V 電流1.2Aまでのモーターで使えます。 部品解説 モータードライバIC TB6621FBG 55 PIN 記号 説明 ① VM モーター用電源接続 (3V) ② Vcc ICの電源(5V) ③ GND GND ④ A1 モーターA接続 ⑤ A2 モーターA接続 ⑥ B1 モーターB接続 ⑦ B2 モーターB接続 ⑧ GND GND PIN 記号 説明 ⑯ PWM A ラズパイGPIOのPWM接続 モーターA用 ⑮ A IN2 ラズパイGPIOのIN2接続 モーターA用 ⑭ A IN1 ラズパイGPIOのIN2接続 モーターA用 ⑬ STBY 5Vに接続 ⑫ B IN1 ラズパイGPIOのIN1接続 モーターB用 ⑪ B IN2 ラズパイGPIOのIN2接続 モーターB用 ⑩ PWM B ラズパイGPIOのPWM接続 モーターB用 ⑨ GND GND 2020/9/10 V106 TB6612FBG追記
57.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES こちらはモータードライバICの真理値表です。 モードの列にモーターの状態(ストップ、正転、逆転、ブレーキ)が書かれていますのでやりたいモードの左側 を見ると入力ピン(AIN1,AIN2)の状態と出力ピン(A1,A2)の状態が分かります。 入力ピンをGPIOでやりたいモードの状態にすると出力に書かれている状態になってモード通りの動作になり ます。 部品解説 モータードライバIC TB6612FBG 56 入力 出力 モード AIN1 (BIN1) AIN2 (BIN2) A1 (B1) A2 (B2) Low(0V) Low(0V) 回路と分離 回路と分離 ストップ high(3.3V) Low(0V) 3V GND モーター正転 Low(0V) high(3.3V) GND 3V モーター逆転 high(3.3V) high(3.3V) GND GND ブレーキ 2020/9/10 V106 TB6612FBG追記
58.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 接続図 モータードライバ TB6612FBG 使用時 57 今回はモータードライバICの使い方がちょっと複雑なので集中 してこのICの使い方を学んでいただくためにシンプルにモー タードライバICとモーターに関係する回路だけにしました。 . 2020/9/10 V106 TB6612FBG追記
59.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 回路図 モータードライバ TB6612FBG 使用時 58 2020/9/10 V106 TB6612FBG追記
60.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング 変数の作り方 59 今回は変数を使用しますので変数の作り方から説明します。 変数はよく何かを入れる箱という説明がされます。変数(箱)にわかり やすい名前をつけておくことでプログラムが読みやすくなります。 とはいえはじめての場合すぐに理解するのはむずかしいのでまずは 作ってみることをおすすめします。 作り方は簡単です。 左端のカテゴリから変数をクリック ↓ 変数を作る をクリック ↓ 後で見てわかりやすい変数名を入力して OK ボタンを押す ↓ 変数パレットに今入力した名前の丸い変数が出来ていれば完成で す。その下のブロック中のドロップダウンボックスにも今作った変数名 が追加されています。
61.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング モーター回転 60 変数が出来たらそれを使ってプログラムをつくっていきましょう。 モーター回転、逆転、ストップの3つのプログラムを別々に作ります。 イベントブロックの”上向き矢印”を選ぶことでパソコンのキーボードの上 向き矢印キーを入力デバイスとして使います。 ラズパイGPIOのピン番号の選択とその状態( highかlowか)を指定しま す。 これはモータードライバ ICの部品説明のところの真理値表を見ながら 指定しましょう。PWMは常にhighでOKです。 IN1・・・high IN2・・・low ですね。 本当はここでモーターの回転数を制御したいのですが Scratch3では現 状できません。 IN1,IN2,PWMは変数ブロックです。前のページを見ながら変数を作っ てみましょう。 モータードライバICのピン名称=変数名としたことで何の変数なのかが すぐにわかるようにしています。 27は下のブロックで使います。 IN1等に 接続したGPIOピンの番号を入れます。 猫ちゃんに モーター回転 と言ってもらうようにしておきましょう
62.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング モーター逆回転 61 次は逆回転のプログラムです。先ほどの回転のプログラムの下に書け ばOKです。 イベントブロックの”下向き矢印”を選ぶことでパソコンのキーボードの上 向き矢印キーを入力デバイスとして使います。 今度は逆回転なので、 IN1・・・low IN2・・・high を指定します。 IN1,IN2,PWMの変数ブロックでのGPIOピンの指定は同じです。 猫ちゃんに モーター逆回転 と言ってもらうようにしておきましょう
63.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング モーターストップ 62 最後に ストップ のプログラムです。 イベントブロック の キーが押されたとき で スペース を選ぶことでパソ コンのキーボードのスペースキーを入力デバイスとして使います。 今度はストップなので、 IN1・・・high IN2・・・high を指定します。 IN1,IN2,PWMの変数ブロックでのGPIOピンの指定は同じです。 猫ちゃんに モーターストップ と言ってもらうようにしておきましょう
64.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング モーター 63 接続とプログラムが完成したら実際に動かしてみましょう。電池ボックスには電源スイッチが有るのでこれを ONしてからは じめましょう。 キーボードの矢印キーやスペースキーを押して意図したとおりモーターは動作しましたでしょうか? 今回はラズパイの出力では直接扱えない大きな電流が流れるモーターを制御する方法を学びました。今回使った専用 IC でなくてもリレー等でも大電流を ON/OFFすることは可能ですのでインターネットで検索してみてください。
65.
© PUREYES Step2 本格
Python プログラミングに挑戦 Lesson6 Step1で作ったプログラムを Python で書いてみよう 64
66.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES Python 65
67.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Python公式ページ 66 最初にPythonの公式ページを紹介しておきます。 特にチュートリアルにはPythonのプログラムに関することがしっかり書かれていますので辞書代わりにしていただ くといいですね。 Python公式ページ https://docs.python.org/ja/3/index.html#
68.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Thonny Python IDE ソフト立ち上げ 67 ラズパイOSに標準で付いている Thonny Python IDE というソフトを立ち上げます。 無い場合はStep1 Scratch3を参照して編最新OSにアップデートして下さい。
69.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Thonny Python IDE の画面構成 68 Thonny Python IDEの公式ページ https://thonny.org/ 新規 作成 ファイル 開く ファイル 保存 プログラ ム実行 プログラムス トップ プログラムの単純な間違 い等を指摘してくれる強 い味方です。 英語が苦手な方は翻訳 ソフト等で翻訳するとい いですね。 ここにプログラ ムを書きます プログラム実行 ボタンを押す と、ここに動作 状態やプログラ ムで指定した文 字が表示され ます。
70.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson1LED点滅 の Python プログラム 69 Lesson1のプログラムをPythonで書くとこうなります。 プログラムはこの教材のダウンロードページでダウンロードできるのでまずは動作させてみたいという方はそれを読み込ん でもOKです。 import は外部のモジュールを読み込む時に使用します。 RPi.GPIO というモジュールを読み込みそれを GPIOという名前で 使用するという意味です。 2行目はtimeモジュールの中にある sleep関数を読み込んでいま す。 ラズパイGPIOピンの番号をBCM(GPIO番号)にする。(ピン番号で はなくGPIO番号) GPIO18番ピンを出力に設定 10回繰り返す forは繰り返しの関数 18番ピンをhighにしてLEDひかった!という文字を表示する 0.2秒待つ 18番ピンをlowにしてLEDきえた!という文字を表示する 0.2秒待つ GPIOの状態を初期化 おわり という文字を表示する
71.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson2 スイッチ入力 の Python プログラム 70 GPIO15番ピンをプルアップに設定 while true: は以下の動作をずっと繰り返す時につかいますす。 tryは例外処理が入りそうな時に使います。 何か例外が起こった時に下に続く finally 以下の処理を行います。 今回の場合GPIOを初期化しています。
72.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson3 人感センサ入力 の Python プログラム 71 Lesson2とinputのGPIO番号以外同じです。
73.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson4 ビデオモーション の Python プログラム ライブラリのインストール 72 1~5行目はコメントです。#を先頭に付けて使用します。 プログラムの動作には影響を及ぼしませんがメモとして 活用できます。 今回はこの1~5行目のコメントに書かれている文字をラ ズパイのLXTerminalに打ち込んで実行することでビデオ モーションを実現するための外部ライブラリをインストー ルします。 ラズパイの左上に並んでいるアイコンの中から黒いアイ コンがLXTerminalなのでこれをクリックして立ち上げま す。 Pythonから1行づつコピーしてLXTerminalに貼り付けて キーボードのEnterを押します。 すると自動的にインストールが行われます。 ※1行目の opencv はPythonのバージョンが3.8*には まだ対応していません ので、もしPython3.8*をお使いの 時はPython3.7*にダウングレードをお願いします。 終わったらPythonの 2行目~4行目も順に実行しましょ う。 インストールがうまくいかない時はラズパイがインター ネットに繋がっているかどうか確認してみてください。
74.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson4 ビデオモーション の Python プログラム ライブラリのインストール 73
75.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson4 ビデオモーション の Python プログラム 74 ラズパイに接続されているカメラの番号を指定します。 1台しか接続していないときは0番で OKです 写真のサイズを幅WIDTH、高さHEIGHT別に指定します。 avgという変数名を定義している カメラ画像を読み込む ラズパイのデスクトップ上にカメラ画像を表示する 1ミリ秒ごとに画像を更新 画像を白黒にする(判定精度を上げる為)
76.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson4 ビデオモーション の Python プログラム 75 過去の画像が無い場合は今の画像をセット 過去の画像(基準画像)と撮影中画像の変化量を計算しま す。 上記で計算した変化量が閾値(1000)を超えたら なんかいたよ!パチリ という文字を表示して画像の保管( 38行 目で指定したパスとファイル名)を行います。 1000の部分を変更すると感度が変わります 。 スクラッチの時の ビデオモーション>30のとき の箇所と同じ感 じです。
77.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson5 モーター制御 の Python プログラム 76 今回は curses というキーボード操作を GPIOの制御に使うので Thonny Python IDE ではプログラム実行の時にエ ラーが出ます。 いい機会ですのでまずは LXTerminalからPython3を実行する方法 を学びましょう 先のレッスンで使った LXTerminalのアイコンをクリック して立ち上げ LXTerminal上で下記を入力して Enterキーを押す Python3 5_MORTOR.py 5_MORTOR.py はこのレッスンのプログラムファイル名 です。 ラズパイの /home/pi フォルダにいれましょう。 このファイル上で右クリック、プロパティ ―で名前のとこ ろをコピーしてLXTerminalに貼り付けると確実です。
78.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson5 モーター制御 の Python プログラム 77 curses をインポートしてキーボード操作をプログラムで使用 できるようにします
79.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson5 モーター制御 の Python プログラム 78 キーボードの z を押すとモーターが正転 、x で逆転 、cで ストップ します 何か例外が起こった時は終了処理を行う。 GPIOの初期化、キーボード入力を表示させる、通常の端 末状態に戻す LXTerminalでPythonプログラムを止めたいときは Ctrl+Cを 押します。
80.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson5 モーター制御 の Python プログラム PWM制御追加 79 せっかくPythonを使うのでさきほどのモーター制御のプログ ラムにPWMでの回転数変更機能を追加してみましょう。 5_MOTOR_PWM.py というプログラムを先ほどの LXterminalから起動してください。 ≪≪ PWM(Pulse Width Modulation)って何?? ≫≫ スイッチオン/オフの比率を変化させてモーターの速度や LED等の光の強さを変化させることができる方法です。 オン/オフの比率のことをデューティー比といいます。
81.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson5 モーター制御 の Python プログラム PWM制御追加 80 キーボードのボタンと動作の対応は下記になっています A =正転&PWMup Z =正転&PWMdown S =逆転&PWMup X =逆転&PWMdown C =ストップ キーボードの a が押されて かつ( and) dutyが100より小さい場合、 dutyに10を加えます IN1,IN2をTA7291Pの真理値表にしたがって 正転に設定しています。( IN1=HIGH、 IN2=LOW) 以下 elif からはじまる文でその他のキー (z,s,x,c)も設定しています。 elif は else if の意味で、上の行で使った if文 と違う内容で、さらに if文を作りたい時に使用 します。 key_in.getch() でキーボードの操作を受け 取ります。
82.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング Lesson5 モーター制御 の Python プログラム PWM制御追加 81
83.
© PUREYES Step2 本格
Python プログラミングに挑戦 Lesson7 ADコンバータ と 光センサ で光量を測ってみよう 82
84.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 概要 このレッスンでは光センサのアナログ信号を取り込む方法を学習します。 実はラズパイGPIOにはアナログ信号を直接取り込める端子が有りません。 その為アナログ信号をデジタル信号に変換する ADS1015というICに間に入ってもらいます。 83
85.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 光の量で抵抗値が変わる素子です。 これに抵抗と電源をつなげてその分圧される電圧を測定することで光の強弱を知ることができます。 昔のフィルムカメラで光量の測定によく使われていました。 部品解説 光センサ(CdSセル GL5528) 84
86.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 部品解説 AD変換IC ADS1015 85 ALERT 閾値を設けて出力を出すことができます。今回は使用しません。 SCL,SDA I2Cという通信をするための端子です。 V、G ICの電源です。2~5Vで動作します。 ADDR 複数のADS1015を使用するときにI2Cアドレスを切り替える端子です。 ≪I2Cアドレス≫ 接続なし:0x48 Vに接続:0X49 SDA接続:0x4A SCL接続:0x4B A0~A3 アナログ入力 4つのアナログ信号を同時に扱えます。今回は A0だけを使用します。 ADコンバータは光センサ等からのアナログ電圧を取り込んでラズパイ等が 扱えるI2C通信用信号に変換する部品です。 アナログは連続的に変化する値のことです。今回はラズパイ GPIOで使い やすいように0~3.3Vの電圧を扱いますが 2.23456とか中途半端な電圧も もちろんでてきます。 デジタルは0か1かという 2値だけの値です。通信規格通りに大量の0と1を 並べることでアナログ値をラズパイ等デジタル機器で扱えるデジタル信号 に変換しています。
87.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 接続図 86 200722 V103 ADS部配線修正
88.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 回路図 87 200722 V103 AIN0配線修正
89.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング ADコンバータと光センサによるアナログ値の読み取り 88 前回同様1,2行目の外部ライブラリを LXTerminalでインストールして おきましょう。 変数GAINとadcを設定 Adafruit_ADS1x15モジュールからADS1015をインポートします ADコンバータ(ADS1015)の読み込みチャンネルとゲインを設定。 ADS1015の4つの出力の0チャンネルを使用。電圧値に換算するため に500で割っています。 1V以上の時に 明るいね ~V 1V未満は 暗いね ~V と表示するよ うにしています。 通信エラーが出る場合はカメラのレッスンで行ったラズパイの I2C通信 機能の設定がONになっているか確認してください。
90.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES I2Cアドレスの確認方法 89 I2Cデバイスを使っている時にアドレスがわからなくなった時に調べる方法です。 LXTerminalを起動 ↓ sudo i2cdetect -y 1 を入力してキーボードの Enterを押す ↓ 接続されているデバイスのところに数字が表示されている この例では 0x44 が接続されているI2Cデバイスのアドレスです。 ちなみに 0x と書くのはあとに続く数字が hex(16進数) ですよ、という意味です。
91.
© PUREYES Step2 本格
Python プログラミングに挑戦 Lesson8 温度センサ で温度を測ってみよう 90
92.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 今度はSHT30という温湿度センサを使って温度、湿度を測定する方法をまなびましょう。 このセンサもI2C通信を使って情報を取得しますがライブラリがまだ公開されていません。 そこでいい機会ですのでI2Cデータを直接扱う方法についてみていきましょう。 ただ、このあたりはプログラミングの知識とともに電子部品のデータシートを理解する能力が必要ですので、とりあへずこ のレッスンのプログラムを動作させてみて温度や湿度が取得できる体験をしてみるだけでもいいですね。 概要 91
93.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 部品解説 温湿度センサ(SHT30) I2C通信によってラズパイなどに温度と湿度を送ることができる部品です。 先ほど行った光素子ではADコンバータが必要でしたが、こちらはADコンバータが部品に内臓されていますの で使いやすいです。 92 SCL,SDA I2Cという通信をするための端子です。 V、G ICの電源です。2.2~5.5Vで動作します。 ≪測定範囲≫ 温度:0~65℃ 湿度:10~90% ≪I2Cアドレス≫ 0x44
94.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 接続図 93 2020/7/12 v102 + - sda scl の誤配線を修 正
95.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 回路図 94 2020/7/12 v102 + - 逆を修正
96.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング 温湿度センサSHT30 95 I2C通信用のライブラリ smbus をimportします I2CのBUSを1に設定(0か1 初期のラズパイ以外は1で OK) get_temperature_humidity()という関数を定義します。 SHT30から受け取った2進数データから温度の部分を抜き取って人間 がわかる ℃ 単位に換算します。0bはあとに続く数値が2進数ですよ という記号です。あとで説明します。 温度 湿度 を表示します 同じく湿度の部分を抜き取って人間がわかる %RH(相対湿度) 単位 に換算します。 SHT30のI2Cアドレス0x44に0x23、0x34を送信することで温湿度の連 続取得モードに設定しています 6バイト(8ビットを6個)分の温度湿度データを取得しています。
97.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 2進数、10進数、16進数について 96 パソコンについている電卓をプログラマー電卓にすると簡 単に計算できます。 2進数(bin) 0と1だけで表す数値 プログラムでは 0b から始めることであとに続く数値を 2 進数データであることを示します。コンピュータが扱える 数値です。 例:1111 16進数(hex) 0123456789ABCDEFで表す数値 プログラムでは 0x から始めることであとに続く数値を 16 進数データであることを示します。2進数を人間が読み やすくするために16進数に変換します。 例:F 10進数(dec) 0123456789で表す数値 私達が普段使っているおなじみの数値ですね。 例:15
98.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 2進数、10進数、16進数について 97 2進 数 Bin 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 16 進数 Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 進数 Dec 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
99.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング 温湿度センサSHT30 98 SHT30のデータシートから今回使用した部分を参考に貼り付けます。 雰囲気だけでも眺めてみてください。 6バイトのデータに温度、湿度データが入っている 1バイト=8ビット(2進数数字が8個)
100.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング 温湿度センサSHT30 99
101.
© PUREYES Step2 本格
Python プログラミングに挑戦 Lesson9 LCD 文字表示器に温度を表示してみよう 100
102.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 最後のレッスンです。 前のレッスンで取得した温度、湿度をLCD表示器に表示させてみましょう。 概要 101
103.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 部品解説 LCD表示器(Liquid Crystal Display) 液晶画面に数字や文字を表示することができる表示器です。 これもI2C通信を使って接続します。 102 SCL,SDA I2Cという通信をするための端子です。 V、G ICの電源です。5Vで動作します。 I2Cアドレス:0x27 LCDコントラスト調整用ボリューム抵抗 ※LCDの文字が見えない、見えづらいというときはこれを回 して調整してください。
104.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 接続図 103 200727 v104 SHT30 VCCとGNDの配線を修正 200812 v105 SDA SCL の配線を修正
105.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES 回路図 104 200727 v104 SHT30 VCCとGNDの配線を修正 200812 v105 SDA SCL の配線を修正
106.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング LCD表示器に温度と湿度を表示 105 i2c_read_7 は温湿度センサのレッスンで作ったプログラムです。 同じフォルダに入れることでモジュールとして使うことができます 各変数を記述しています
107.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング LCD表示器に温度と湿度を表示 106 LCDを初期化しています
108.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング LCD表示器に温度と湿度を表示 107
109.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング LCD表示器に温度と湿度を表示 108 それぞれの関数は下記を行っています。 lcd_string 文字列として入力を受け取る lcd_byte 文字入力をビット列に変換 lcd_toggle_enable LCDにビット列を書き込む
110.
© Presentation Design ©
Presentation Design © PUREYES © PUREYES プログラミング LCD表示器に温度と湿度を表示 109 I2C_READ_7 は温湿度センサの時に作ったプログ ラムです。 lcd_string(f' の後の ondo___ 部分はTemp等 のお好きな半角文字を入れると LCDに表示ができ ますので試してみてください。
111.
© PUREYES 110 http://pureyes.webstarterz.com
Baixar agora