PowerPoint プレゼンテーション

Similar documents
PowerPoint Presentation

情報システム設計論II ユーザインタフェース(1)

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

Taro-82ADAカ.jtd

<4D F736F F F696E74202D F4B87555F A838B B F5F91E63189F12E >

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

前回の内容 マイクロコンピュータにおけるプログラミング PC上で作成 コンパイル マイコンに転送 実行 プログラムを用いて外部の装置を動作させる LED turnonled turnoffled LCD printf プログラムを用いて外部の装置の状態を読み取る プッシュスイッチ getpushsw

ガイダンス

Microsoft Word - 3new.doc

スライド 1

情報システム設計論II ユーザインタフェース(1)

JavaプログラミングⅠ

プログラミング入門1

第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的

Java講座

プログラミング基礎

プログラミングA

pp2018-pp9base

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

プログラミングA

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

メソッドのまとめ

PowerPoint Presentation

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

プログラミング入門1

3. 標準入出力

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

ETCB Manual

PowerPoint プレゼンテーション

みんなの Arduino 入門 課題と演習 本資料は みんなの Arduino 入門 を使っている方々への課題 ( 演習含む ) を参考としてま とめたものです 本書の理解度の確認と今後のステップアップのためにご利用下さい ( 最終更新日 :2014 年 4 月 25 日 ) 株式会社タブレイン T

プログラミング入門1

スライド 1

PowerPoint プレゼンテーション

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

メソッドのまとめ

MESH GPIO Instruction

Microsoft Word - 実験4_FPGA実験2_2015

Microsoft PowerPoint - ruby_instruction.ppt

C プログラミング 1( 再 ) 第 4 回 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 1

訂正 _ 第 1 回 1 Arduino Arduino を用意する 入力 アナログ Analog 入出力 任意の電圧を扱える 電源系 外部入力 7 12V デジタル digital 入出力 リセットボタン Low High いわゆる 01 が入出力される 通常は Low 0V GND High 5

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

Microsoft PowerPoint - kougi2.ppt

pp2018-pp4base

JavaプログラミングⅠ

Microsoft PowerPoint P演習 第10回 関数.ppt [互換モード]

JavaプログラミングⅠ

Microsoft Word - java a.doc

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

ポインタ変数

プログラミング基礎

デジタル表現論・第4回

スライド 1

C 言語第 3 回 2 a と b? 関係演算子 a と b の関係 関係演算子 等しい a==b 等しくない a!=b より大きい a>b 以上 a>=b より小さい a<b 以下 a<=b 状態 真偽 値 条件が満たされた場合 TRUE( 真 ) 1(0 以外 ) 条件が満たされなかった場合 F

Microsoft Word - Cプログラミング演習(1)_2012

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

訋箊æ©�ã…Šã…�ㇰㅩã…�ㅳㇰ - 第5åłž 浆㇄ㆮ勶御2


7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1

講習No.1

Prog1_3rd

HW-Slides-04.ppt

Microsoft Word - no11.docx

Taro-テキスト.jtd

Microsoft Word - 商業-3

プログラミング実習I

Microsoft PowerPoint - prog08.ppt

Microsoft PowerPoint ppt

デジタル表現論・第6回

物質工学科 田中晋

Arduinoで計る,測る,量る

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Microsoft PowerPoint - enshu4.ppt [äº™æ‘łã…¢ã…¼ã…›]

ファイル入出力

Taro-テキスト.jtd

Section 0-1 ラズベリー パイはどんなコンピューター? ラズベリー パイ は 手のひらサイズの小さなコンピューターといわれることがあります しかし ふだん目にするパソコンやスマートフォンとは 姿形がまるで違います ラズベリー パイとは 一体どのようなコンピューターなのでしょうか? ラズベリ

kantan_C_1_iro3.indd

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア

cp-7. 配列

Microsoft PowerPoint - prog04.ppt

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

計算機アーキテクチャ

JavaScriptで プログラミング

Microsoft PowerPoint - kougi6.ppt

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

ポインタ変数

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

sinfI2005_VBA.doc

Microsoft PowerPoint ppt

PowerPoint プレゼンテーション

プログラミング実習I

Si 知識情報処理

PowerPoint プレゼンテーション

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

2006年10月5日(木)実施

A&D社製データロガーを初めてお使いになる方へ

Transcription:

ネットワーク分野 研究室ローテーション Raspberry Pi と Processing による IoT デバイス作成演習 第 2 回 Processing 入門 ディジタル入出力 アナログーディジタル変換とセンサ 編集履歴 2016/12/12 福嶋 2017/04/18 前田 福嶋 2018/05/31 前田

はじめに (1/3) 身の周りにはコンピュータがたくさん パソコン 携帯 テレビ 自動車... なぜ何でもコンピュータが使われる?

はじめに (2/3) コンピュータは制御の頭脳 例 : 自動車の制御 昔は アクセルを踏むとガソリン調節弁が機械的に開く コンピュータを使うと? ワイヤーコンピュータが, アクセルからの情報を元に調節量を計算

はじめに (3/3) コンピュータによる制御 実際には, コンピュータ上で動く プログラム ( ソフトウェア ) が制御している プログラム (program) : 手順書き の意味 プログラムを変えれば制御方式も変えられるし, 違う機器だって制御できる! プログラムこそがコンピュータ制御の本体だ!

演習全体の流れ 5 第 2 回 Processing 入門 ディジタル入出力 アナログ入力とセンサ ネットワーク 第 3 回 画像処理 音声出力 第 4 回 自習 第 5 回 発表

6 プログラミング : Processing

プログラミングとは 7 コンピュータに指示を与えるための命令書を作ること プログラミング言語 手順をコンピュータに教える言語 例 :C 言語,Java 今回は Processing というプログラミング言語を使う

プログラムの構造 8 構造 変数 値を記憶しておくところ 順次実行 上から順番に実行する 条件分岐 もし A ならば B そうでないなら C を実行する 繰り返し 同じ処理を繰り返し実行する 関数 命令をまとめたもの

変数 9 プログラムで値を記憶しておくところ 変数には型が存在 型で決められた値を記憶しておくことが可能 型 int: 整数 Int a = -1; Int a = 1; // 全角はだめ float: 実数 Float b = -1.2; String: 文字列 String c = aaaa ; String c= 1.2 ; // これも文字列 Boolean: 真偽 Boolean d = true;

順次実行 10 プログラムは上から実行される //GPIO14 を出力に設定 GPIO.pinMode(outPinNum, GPIO.OUTPUT); //GPIO15 を入力に設定 GPIO.pinMode(inPinNum, GPIO.INPUT); ちなみに // は実行されないコメント文

条件分岐 11 If-else 文 条件が真ならば処理 1, 偽ならば処理 2 を行う If( 条件 ) { 処理 1 } else { 処理 2 }

繰り返し 12 for 文 初期化式 : 初期化する式 条件式 : 条件が真の間実行 変化式 : 処理が終わるごとに実行される for( 初期化式 ; 条件式 ; 変化式 ) { 処理 }

関数 13 決められた通りの処理を実行して結果を返す一連の命令 process は関数 処理 A と処理 B を実行する 1 を結果として返す int process() { 処理 A; 処理 B; return 1; }

関数 14 同じ名前の関数は一つだけ だめ int process() { 処理 B; return 1; } int process() { 処理 A; return 1; }

Processing とは 15 電子アートとビジュアルデザインのためのプログラミング言語 初心者が学習するのに適した言語 Java を簡単にしたような言語 内部は Java で作成されている

Processing 入門 16 特別な関数 draw 常時実行されている関数 mouceclicked マウスクリックされる毎に 1 回実行される関数 setup drawよりも前に最初に一回だけ実行される関数 基礎編の演習はこれだけを使った

書き方 17 文末はセミコロン ; 全角文字は使えない コメントと の中だけ可能

ディジタル回路 18

アナログ ディジタルとは 19 アナログ ( 連続値 ) 例 : アナログ時計 ( 針があるやつ ) 電気 光量 温度 水量 湿度 ディジタル ( 離散値 ) 例 : ディジタル時計 ( 針がないやつ ) そろばん 上段のおはじきと下段のおはじきの位置 コンピュータ 0 と 1 だけ

コンピュータとディジタル回路 20 コンピュータはデジタル 0 と 1 の組み合わせしか扱えない コンピュータと何かの装置をつなぐためにはデジタルな入出力を受けつける回路が必要 秒速 10 回転でモーターを右に回して と指示するのには 101101010 の電気信号を流せ としか言えない 10 110 1010 右か左か秒 分 時 2 進数で 10 デジタル回路 論理回路 2 進数を扱う回路

デジタル回路 21 0 と 1 の組み合わせの 2 入力を入れて 0 と 1 の 1 出力を返す回路 組み合わせることで,2 進数の入力を 2 進数の出力に変換できる デジタル回路では論理値を電圧として表現 1: 真 True = 5V(3.3),High 0: 偽 False = 0V(GND),Low

0 1 の様々な表現 22 0 偽 False Low 0V(GND) 1 真 True High 5V(3.3V)

ブレッドボードって? 23 試作 実験用の電子回路のこと 電子工作が簡単に出来る 基盤半田ごていらず ( 英語だとソルダーレスブレッドボード ) before いろんなセンサとラズパイをこれでつないで IoT をする After

ブレッドボード ルール 赤のところには,5V 黒のところには,GND 電源線 ( 赤 :5V, 黒 :GND) 横方向に導通 縦方向に導通

ディジタル入出力 25

概要 26 達成課題 L チカ L チカとは LED( ライト ) をチカチカさせる ( 光らせること ) 電子回路の基本 具体的には Raspberry Pi 上で Processing でプログラミング Raspberry Pi とブレッドボードを接続する 次から詳細の説明

Raspberry Pi と GPIO 27 GPIO(General Purpose Input/Output) Raspberry Piは,High, Lowの電圧の入出力を受けとる端子が存在 ここにケーブルを指すことで抜き差してブレッドボードと接続 イメージ図

GPIO( 詳細 ) 28 Reference: https://tool-lab.com/make/raspberrypi-startup-22/

LED 29 LED 発光ダイオード 電圧をかけると光る 足が長い方が + 足が短い方がー

タクトスイッチ 30 スイッチ 押したら, オン 通常, オフ

演習 1 32 Processing を起動 Processing の位置ってどこ?( 左上にある P) ソースコードを開く /home/pi/examcode/01_digital_in_out/digital_in_out/digital_in_out.pde GPIO から制御信号を出力して LED を操作 GPIO にリードスイッチで 0 1 を入力

結線 ( 文字 ) 33 5V(5VO) を赤に接続 GND を黒に接続 GPIO23 を LED の抵抗が刺さっていないほうに接続 GPIO24 をスイッチの黒に刺さっていないほうに接続 できたら, プログラムを実行

結線 ( 図 )

注意事項 35 ショートすると再起動します 5V の線を Raspberry Pi の基板や金属部分に接触させないように 5V と GND を直結しないように 線の抜き差しはゆっくりと丁寧に リードスイッチはガラスなので割れます

アナログーディジタル変換とセンサ 36

概要 37 達成課題 温度センサの値を取得する 温度などの取得したデータをWebに送信 具体的には Raspberry Piと温度センサを接続 送信したデータをWebで確認 次から詳細の説明

アナログーディジタル変換 38 アナログーディジタル変換とは アナログ ( 連続値 ) をディジタル ( 離散値 ) に変更すること なぜ必要 コンピュータで扱えるのはディジタル センサ ( 例 : 温度センサ ) から取れる値 ( 電圧 ) はアナログ コンピュータで扱うためには, アナログからディジタルから変換が必要

ADC IC 39 ADC IC Analog-Digital Converter IC アナログからディジタルに変換してくれる IC 今回使う IC は MCP3008 分解能 ADC IC がアナログをどのぐらいの段階でディジタルに分解できるのか MCP3008 は 1024(=2^10:2 進数 10 桁 ) 段階に分解可能 5V/2^10= 約 5 mv の単位で測定可能 数値と電圧の関係 0 => 0V 1=> 0.005V 20=>0.1V

温度センサ 40 温度センサ 温度を電圧に変換してくれるセンサ 電圧はアナログ 今回使用する LM35DZ は 0 度から 100 度まで測れる 0 度での出力は 0V 1 度あがるごとに 10mV 上昇 0 度 :0V 20 度 :200mV = 0.2V

演習 2 41 Raspberry Pi に ADC IC を接続 ADC IC に温度センサを接続 ( 接続済み ) Processing で温度を取得 ( 実行するだけ ) ソースコード /home/pi/examcode/02_adc_ic/adc_ic/adc_ic.pde Processing で取得した値を Web に送信 ( コードに記述済み ) Web ブラウザで値を見る http://localhost/temperature/

結線 42 IC は, くぼんでる方が上 ADC IC CLK=> D OUT => D IN => CSΤSHDN => SPISCLK SPIMISO SPIMOSI SPICSC

課題 43

課題 1( ディジタル入出力 ) 44 LED とリードスイッチの接続を変更する リードスイッチ :GPIO24 LED:GPIO23 プログラムも変更 該当する GPIO に変更 // 入力に使う GPIO 番号 int inpinnum =24; // 出力に使う GPIO 番号 int outpinnum =23;

課題 2( アナログ入力とセンサ )45 温度を摂氏から華氏に変換して表示 摂氏から華氏への変換式 小数点で書くこと = 9.0 5.0 + 32.0 ディジタル値を温度に変換している部分 ディジタル値を電圧に変換して 100 倍すれば摂氏 float digital2temp(int digital, float vref) { } float c = digital2volt(digital, vref)*100; return c; 表示する方法 println( 表示する値 ); 文字列は + でつなげることができる