Arduino の勉強会 平成 23 年 1 月 5 日於 : 鳥取大学

Similar documents
Arduinoで組込み制御

ESP8266-CORE-R Copyrig

Taro-テキスト.jtd

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

スライド 1

Arduino UNO IS Report No. Report Medical Information System Laboratory

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

Microsoft Word - SU1204教本(Driver)原稿.docx

Studuinoライブラリ環境設定Mac編

Microsoft Word - SU1202教本(Disp)原稿.docx

Studuino ライブラリ環境設定Windows編

ESP32-KEY-KIT-R1 (ESP-WROOM-32 ) Copyright c 2

スライド 1

SpeC記述のC記述への変換 (SpecCによるソフトウェア記述の実装記述への変換)

講習会 Arduino

DCモータの制御

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

GR-SAKURA-SAのサンプルソフト説明

Mathematica で Arduino を利用する (2012 年度 ) はじめに情報工学部では全学科で Arduino を導入して フィジカルコンピューティングに関連した教育を行ってきている 電子情報工学科ではいくつかの実験演習を通じて Arduino を取り入れてきている ここでは 電子情報

Microsoft Word - SU1203教本(Sens)原稿.docx

PIC

Arduino Processing and ) Fig1. Arduino Homepage : h;p://

TWE-Lite R 取扱説明書

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

Arduinoで計る,測る,量る


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

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

商品番号 : UTS-422 USB-RS422( シリアル ) 変換ケーブル (USB1.1 規格対応 ) 概要 UTS-422 は RS-422 インターフェースを持つ外部周辺機器をパソコンの USB ポートを介してコントロールするための USB-RS422 変換ケーブルです 最大 3Mbps

HDLトレーナーサンプルプログラム説明書

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

Taro-82ADAカ.jtd

RY_R8C38ボード RY-WRITER基板 自動書き込み・実行解説マニュアル

Microsoft PowerPoint _iwasaki

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN

MODLINK-2 Arduino&IoT 組立式開発ボード Manual モジュリンク 2 取扱説明書

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

電子13-06 エネメータ専用ソフト SAVER CAST for EneMeter Ver3.00設定方法.ppt

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

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

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

GR-SAKURA-SAのサンプルソフト説明

赤外線レーザー 360 距離センサ XV-11 LIDAR Sensor 取り扱い説明書 もくじ お使いになるまえに 各部のなまえと扱い方 2 使い方 (Processing GUI で使う ) 必要なソフトのインストール 3 接続方法 3 GUI の操作方法 4 使い方 ( ロボットに組み込む )

Windows XPでの手動USBドライバインストール方法

パーツリスト 組み立て前にすべてのパーツがそろっているかご確認ください 種類 品番 数 種類 品番 数 基板 I2C LCD 1 コンデンサ 0.1uF (104) 積層セラミック 1 IC ATtiny コンデンサ 10uF 電解 1 半固定抵抗 10~50kΩ 1 コネクタ IC ソ

T A USB ドライバ インストール手順書 対応型式 :PHC-D08 PHE-3FB2 対応 OS :Windows 7(32bit,64bit) Windows 8(32bit,64bit) Windows 8.1(32bit,64bit) Windows 10(32bit,6

Arduino をはじめよう オープンソースハードウェア入門 ~ Arduino( アルドゥイーノ ) 始めてみませんか?

ZB Coord API for XBee の Raspberry Pi 用マニュアル 国野亘

CR-USB 仕様書 株式会社測商技研 JS カード用データ転送用カードリーダー CR-USB 仕様書 取扱説明書 2012 年 07 月 31 日版 株式会社測商技研 1. 概要 本器は当社製自動観測装置で記録した JS カードデータ

slide

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10

2. 仕様 電源 :USB バスパワー (USB 入力の 5V 電源を使用します ) 出力 : 3.5mm ステレオジャック アナログステレオ出力 最大 20mArms 対応ヘッドホンインピーダンス 1Ω~500Ω RCA ピンジャック アナログ 2ch 出力 (L R) ラインレベル ヘッドホンア

商品番号 : UTS-485 USB-RS485( シリアル ) 変換ケーブル (USB1.1 規格対応 ) 概要 UTS-485 は RS-485 インターフェースを持つ外部周辺機器をパソコンの USB ポートを介してコントロールするための USB-RS485 変換ケーブルです 最大 1.2km

Microsoft PowerPoint - RL78G1E_スタータキットデモ手順_2012_1119修正版.pptx

ReviveUSB(web)

目次 USBドライバダウンロードの手順...2 USBドライバインストールの手順...3 インストール結果を確認する...19 USBドライバアンインストール / 再インストールの手順...21 USB ドライバダウンロードの手順 1. SHL21 のダウンロードページからダウンロードしてください

MINI2440マニュアル

Microsoft PowerPoint - DIX9211_Mega8_R24.pptx

IEEE1888通信ボード(学習キット)マニュアル

接続例 ピンアサイン ポート端子台 配線可能電線太さ : AWG 16~AWG 28 端子番号信号名 1 Data + 2 Data GND Data (=TxD + RxD) : 送受信データ ( 入出力 ) - は 無接続です ご注意 : 無接続端子の

Microsoft Word - PIC-USBマイコンボード_v1-02@WEB公開用資料.docx

Taro-テキスト.jtd

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

AP-RZA-1A シリアルFlashROMの書き込み方法

FTDI Driver Error and Recovery Procedure Check FTDI driver operation Rev :OK, Rev :NG, Rev :NG May 11, 2017 CHECK FTDI DRIVER

ReTRY HUB

Microsoft Word - PrivateAccess_UM.docx

IntroductionForGR-PEACH.pptx

:30 18:00 9:30 12:00 13:00 17:00

MS5145 USB シリアル エミュレーション モードの設定

DSP5Dアップグレードガイド

86Duino EduCake Analog I/O ピン機能応用編 1. Analog I/O 紹介 アナログ vs デジタル : 前篇では 86Duino EduCake の基本仕様と IDE の簡単な使い方やデジタル IO を説明しました この章では アナログ

Microsoft Word - 実験4_FPGA実験2_2015

Arduino 2016/03/26 京都大学学術情報メディアセンター 喜多一 1

Transcription:

Arduino の勉強会 平成 23 年 1 月 5 日於 : 鳥取大学

内容 1 Arduino とは... 2 2 インストールと動作チェック... 2 3 LED の点滅回路... 4 4 液晶 (LCD) の表示... 6 5 電圧計測... 7 6 アナログ出力... 8 7 サーボの動作... 9 8 例題 : ボリュームに応じて LED の明るさを変化させましょう... 10 9 例題 : モータの回転数を変化させましょう... 10 この実習で必要な物品 今回使用した型式 備考 Arduino 1 個 Arduino Duemilanove 今購入するのなら Arduino uno USB ケーブル 1 本 ブレッドボード 1 個 LCD 基板 1

1 Arduino とは Arduino はイタリアで開発されたシステムで Arduio 基板 ( 以後 :Arduino) と Arduino 開発環境 ( 以後 IDE) から 構成されたシステムである このシステムはオープンハードウエア オープンソフトウエアのであるので 多くの互換機が存在する ただし Arduino を名乗れるのはプロジェクトで承諾されてものだけである ( プロジェクト開発されたものに限定されています ) 購入は日本国内では スイッチサイエンスや千石電商など 様々なところで売られており 簡単にできる また 互換機は学研の 大人の科学 などにもある Arduino の心臓部は Atamel 社の組込み用コンピュータ AVR(ATmega8, ATmega168, ATmega328P, ATMega644P, ATmega1280) であり ブレッドボード上に互換機を作成することも安易である IDE は Processing の開発環境で 言語は Writing(C 言語 [avr-gcc] を基に関数を増やした感じのもの ) である したがって C 言語が判れば簡単に開発することができる 他にも様々な開発環境が存在します 豊富なサンプルプログラムが存在するので 勉強するには最適です Arduino はプログラム ( コード ) の事をスケッチと呼びます また 拡張ユニットの事をシールドと呼びます シールドには Ethernet や TV に出力するもの モータのドライバなど様々な種類が存在します 2 インストールと動作チェック Arduino のホームページ http://www.arduino.cc/ から Arduino Software をダウンロードして 解凍を行います 解凍できると右のような内容のフォルダが作成されます Arduino と PC を接続します Duemilanove の場合は自動的に Driver が入ります Uno の場合は Drivers 内のファイルでインストールする必要があります 2

フォルダ内の arduino をダブルクリックして IDE を立ち上げます メニューバー内の Tools の Board と Serial Port を合わせます Serial Port が判らない場合は デバイスマネージャで確認してください サンプルプログラムを読みます メニューバーの File Examples Basic Blink を読み込みます コンパイルして Arduino に転送し 実行します を押します これで一連の動作を行ってくれます アップロード後は自動的にプログラムが動作します 基板上の L のランプが点滅します 3

3 LED の点滅回路 Example の Blink は LED を点滅するプログラムでした プログラムを下に示します /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinmode(13, OUTPUT); void loop() { digitalwrite(13, HIGH); delay(1000); digitalwrite(13, LOW); delay(1000); // set the LED on // wait for a second // set the LED off // wait for a second C 言語と同じく /* */ や // は注釈行を示します setup 関数と loop 関数が定義されていることがわかります このように Arduino では setup 関数で初期化し loop 関数を実行します つまりこの 2 つの関数を定義することで Arduino は動作します この blink は Setup 関数で pinmode(13, OUTPUT); と宣言し Disital の 13 番を出力モードにし loop 関数で Digital の 13 番の信号を 1 秒間隔で On-off し LED を点滅させていることがわかります 13 番は 1kΩの抵抗が直列に入っているので 下記のようなに 直接 LED を刺す事が出来ますが 余所では抵抗が入っていないのでしてはいけません 4

Digital の 4 に変更してみましょう 配線図は次のようになります 抵抗は 1kΩ です プログラムは各自考えてみましょう 電子回路に使用する LED は通常 20mA 程度の電流まで流せます また マイコン (Arduino や PIC など ) も 1 ポートあたり 20-25mA 程度まで可能です それ以上の電流が必要な場合は別途回路が必要となります 5

4 液晶 (LCD) の表示サンプルを例に説明します メニューバーの File --> Example --> LiquidCrystal Display を呼び出します LCD に合わせてピンの配置を変更するためスケッチ中の LiquidCrystal(rs, rw, enable, d4, d5, d6, d7) を変更します #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(7,8,6,2,3,4,5); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); void loop() { // Turn off the display: lcd.nodisplay(); delay(500); // Turn on the display: lcd.display(); delay(500); リファレンスの見方を覚えましょう 接続は下記のようになります Arduino : LCD 5V : VD Gnd : GND Digital2 : 4 Digital3 : 5 Digital4 : 6 Digital5 : 7 Digital6 : E Digital7 : RS Digital8 : RW 2 行目に表示をしたい時には setcursor() 関数を使用します 6

5 電圧計測 4. の液晶 (LCD) の表示のプログラムを変更して作成します #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(7,8,6,2,3,4,5); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); lcd.print("tottori Univ!"); void loop() { int analogdata; float Volt; analogdata=analogread(0); Volt= 5.0*(float)analogData/1023; lcd.setcursor(0,1); lcd.print("volt="); lcd.print(volt); lcd.print("v"); delay(10); analogread で 0-1023 までのデータを読むことができます 最後の Delay はあまり早すぎて LCD の表示が見えなくなるのを防ぐためです Arduino からは 5V の出力が 1 箇所なのでブレッドボードを使用して液晶とボリュームに分岐させます Arduino のサンプルには USB を使用した仮想シリアルポートへの出力もあります File Exsamples Analog AnalogInOutSerial でスケッチを読み込み 書き込みを行います 仮想シリアルのデータは を押すことでモニタすることが可能です 7

6 アナログ出力 Arduino にはアナログ出力がありませんが PWM を使用して信号の強弱をつけることができます ここでは サンプルを利用して説明します File examples Basic Fade でスケッチを読み込みます 1.LED の時を例に Digital9 に LED を接続します int brightness = 0; int fadeamount = 5; void setup() { // declare pin 9 to be an output: pinmode(9, OUTPUT); void loop() { // set the brightness of pin 9: analogwrite(9, brightness); // how bright the LED is // how many points to fade the LED by // change the brightness for next time through the loop: brightness = brightness + fadeamount; // reverse the direction of the fading at the ends of the fade: if (brightness == 0 brightness == 255) { fadeamount = -fadeamount ; // wait for 30 milliseconds to see the dimming effect delay(30); analogwrite 関数で出力しています このように簡単に LED の明るさを変えたりすることが可能です 使える出力は PWM と書かれているところだけです 8

7 サーボの動作サーボはラジコンとかで使用されるもので 角度を調整できます タイプには JR 型や F タイプなどあります 今回使用するのは JR タイプです 正確に使用するためには信号発生を接続し パルス幅と角度の関係を見ておく必要がありますが 今回は動くことだけを確認します #include <Servo.h> Servo myservo; int pos = 0; // create servo object to control a servo // a maximum of eight servo objects can be created // variable to store the servo position void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object void loop() { for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180 degrees { // in steps of 1 degree myservo.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0 degrees { myservo.write(pos); // tell servo to go to position in variable 'pos' delay(15); // waits 15ms for the servo to reach the position 正確に動作させるには setup() 関数内の attach メソッドを変更します 詳しくはリファレンスマニュアルを参照してください 接続はブレッドボードを介して制御線 ( 橙色 ) を Digital9 に 電源 ( 赤色 ) を 5V に Gnd( 茶色 ) を Gnd に接続します 9

8 例題 : ボリュームに応じて LED の明るさを変化させましょう ヒント analogread は 0-1023 まで値をとれますが AnalogWrite は 0-255 までです この変換は map 関数を使用すると簡単に出来ます 9 例題 : モータの回転数を変化させましょう モータの回転数を制御するのも PWM です FET スイッチを使用して行います 可聴周波数で制御をおこなうと 音が耳触りな場合があります その時は PWM 周波数を変化させる必要があります 必要以上に速くすると電子回路を良く考える必要が出てきます 10