差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
gimmickkouza:electronic_basic:3:4_helloworld [2024/05/22 20:58] – 作成 lutamesta | gimmickkouza:electronic_basic:3:4_helloworld [2024/06/21 18:25] (現在) – lutamesta | ||
---|---|---|---|
行 2: | 行 2: | ||
電子工作の世界に於けるLチカのように、プログラミングの世界にも定番の初心者通過儀礼があります。それがHello, | 電子工作の世界に於けるLチカのように、プログラミングの世界にも定番の初心者通過儀礼があります。それがHello, | ||
プログラミング界の歴史的経緯によって、この言葉は初心者プログラマが初めてのプログラミングで表示する定番のフレーズとなっています(興味のある人は調べてみてね) | プログラミング界の歴史的経緯によって、この言葉は初心者プログラマが初めてのプログラミングで表示する定番のフレーズとなっています(興味のある人は調べてみてね) | ||
- | 折角なので、このHello, | + | 折角なので、このHello, |
+ | |||
===== とりあえずやってみよう ===== | ===== とりあえずやってみよう ===== | ||
サンプルコードの3-4_HelloWorld.inoのファイルを開いてください。 | サンプルコードの3-4_HelloWorld.inoのファイルを開いてください。 | ||
行 9: | 行 9: | ||
{{: | {{: | ||
+ | Arduinoとパソコン、或いはArduinoと一部の電子部品の間では、" | ||
+ | (Arduino 対 電子部品のシリアル通信は6章で出てきます。お楽しみに!) | ||
+ | 上記のプログラムはArduinoからパソコンあてに、シリアル通信を使って文字列のデータを送り、それをパソコン上のArduinoIDEで見るためのプログラムです。 | ||
+ | |||
+ | ==== コード解説 ==== | ||
+ | まずはプログラムを解説します。今回も命令文はたったの3行だけです!ヤッタネ!! | ||
+ | |||
+ | == 1行目 == | ||
+ | またしても宣言部はなにもありません。空白行です。 | ||
+ | |||
+ | == 3行目 == | ||
+ | |||
+ | < | ||
+ | |||
+ | Serial関数は、シリアル通信を行うための関数です。 | ||
+ | Serial~の後ろにつく言葉によって、シリアル通信にまつわるいくつかの機能を使い分けます。 | ||
+ | まず最初はSerial.beginです。 | ||
+ | |||
+ | Serial.beginではシリアル通信の初期化をして、送信側の転送レート(ボーレート)を設定します。 | ||
+ | __シリアル通信では送信側と受信側の転送レートを同じ数字に合わせる必要があります。__ | ||
+ | レートの数値は、パソコンと通信する場合は 300, | ||
+ | 今回は9600に設定します。 | ||
+ | |||
+ | == 7行目 == | ||
+ | |||
+ | < | ||
+ | |||
+ | いよいよArduinoからパソコンにシリアル通信でデータを送ります。 | ||
+ | 使う関数は、Serial.printlnです。 | ||
+ | 先程のSerial.beginはシリアル通信の初期設定をして通信を開始する命令でした。 | ||
+ | 今回のSerial.printlnは、シリアル通信で実際にデータを送る時に使う命令の一つです。 | ||
+ | |||
+ | Serial.printlnは、後続の括弧の中にあるデータを、後ろに改行をつけた状態でシリアル通信で送ります。 | ||
+ | 今回は Hello, | ||
+ | 今回のように、__Arduinoのプログラムの中で文字列のデータを扱いたい時は、その文字列は必ず「" | ||
+ | なので " | ||
+ | そしてHello, | ||
+ | |||
+ | オマケの情報:ちなみに改行をつけたくない場合は、Serial.printを使います。 | ||
+ | |||
+ | |||
+ | == 8行目 == | ||
+ | |||
+ | < | ||
+ | |||
+ | 3-3Lチカのコード解説の下の方で出てきたdelayが再登場です。 | ||
+ | (未履修の人は前の前のページにあるので見てね) | ||
+ | ここでの用法もLチカ応用編と同じで、" | ||
+ | このdelayを挟まないと**凄まじい速度でHello, | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | 解説は以上です!とりあえずこのプログラムをArduinoに書き込んでみましょう。 | ||
+ | Arduinoをパソコンに繋げて、ツールバーからボードとポートの設定をします。以下はおさらいです。 | ||
+ | |||
+ | ツール→ボード→Arduino UNO R4 Minima を選択 | ||
+ | ツール→ポート→COM○○(Arduino UNO R4 Minima) を選択 | ||
+ | |||
+ | ツールバーの下の「書き込み」ボタンを押して、エラーが出ずプログラムが書き込めていれば完了です。 | ||
+ | |||
+ | |||
+ | ==== シリアルモニタを使う ==== | ||
+ | プログラムをArduinoに書き込むと、Arduinoからパソコンに文字列が送られ始めます。 | ||
+ | 送られてきた文字列は、「シリアルモニタ」を使って見ることができます。 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | シリアルモニタを出すには、ツールバーの下の緑の帯の右端、虫めがねのアイコンをクリックしてください。 | ||
+ | 上の図の黄色い矢印で示している部分です。 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ウィンドウの下部に「シリアルモニタ」が出現しました。 | ||
+ | Arduinoに問題がなければ、この画面にHello, | ||
+ | |||
+ | シリアルモニタ右端にある「9600 baud」は、パソコン側(受信側)の転送レートです。 | ||
+ | コード解説のおさらいです。__シリアル通信では送信側と受信側の転送レートを合わせる必要があります。__ | ||
+ | 先ほどArduino(送信側)の転送レートは、9600で設定しました。 | ||
+ | もしシリアルモニタ右端のパソコン側(受信側)のbaudが9600以外の数値になっている場合は、ここをクリックしてArduino(送信側)と同じ9600 baudに変えてください。 | ||
+ | |||
+ | |||
+ | ===== 応用編:プログラムをいじって観察しよう! ===== | ||
+ | **__新しいサンプルコードに出会ったら、理解を深めるために是非ともいじくってみてください!__** | ||
+ | (元コードのバックアップを取っておくことをお忘れなく!) | ||
+ | 例えば、3-4_HelloWorld.inoのプログラムに下記の改変を加えてArduinoに書き込むと、出力の様子が変化します。 | ||
+ | 実際にいじくってどうなるか観察してみましょう (一つずつやってみてね!) | ||
+ | <text background=" | ||
+ | |||
+ | * Serial.printlnの括弧の中の文字列を好きな文字に変えてみる( " " を忘れずに!) | ||
+ | * Serial.println を、Serial.print に変えてみる | ||
+ | * delayの括弧の中の数値を変えてみる | ||
+ | * delayの一文をコメントアウトしてみる | ||
+ | |||
+ | /*<alert type=" | ||
+ | https:// | ||
+ | </ | ||