実際に動作するキッチンタイマーをArduinoで製作することにより、プログラミングの基礎知識を習得する入門シリーズです。
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-1_featured-image-300x200.png)
第1回 はじめに
「Arduinoでプログラミング入門」シリーズの概要を説明します。 はじめに 最近はいろいろなところでプログラミングが話題になっています。AI(人工知能)や自動運転の話題...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-2_featured-image-300x200.png)
第2回 Arduinoとは
このシリーズで使用する「Arduino」について説明します。 Arduinoの概要 前回の記事で、Arduinoは「電子工作とプログラミングが簡単にできるシステム」と説明しましたが...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-3_featured-image-300x200.png)
第3回 プログラミングとは
プログラミングについて説明します。 プログラミングとは 今までの記事では「プログラミング」や「プログラム」という言葉を使ってきましたが、具体的な中身がよくわか...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-4_featured-image-300x200.png)
第4回 必要なもの(アプリ・電子部品類)
基礎編(パート1とパート2)で必要なものをまとめます。今回はプログラミングアプリと電子部品類を説明します。 説明内容 今回と次回の記事で、「Arduinoでプログラミング...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-5_featured-image-300x200.png)
第5回 必要なもの(工具類)
基礎編(パート1&パート2)で必要なものをまとめます。今回は工具類を説明します。 足りないものだけ購入しましょう 今回は工具類を説明しますが、持っているものは活用...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-6_featured-image-300x200.png)
第6回 買い物リスト
必要なものを買い物リストとしてまとめます。 買い物リストの見方 第4回と第5回の記事で必要なものを一通り説明しました。今回は買い物リストとしてまとめておきます。 ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-7_featured-image-300x200.png)
第7回 電子工作の第一歩 (1)
初めての電子工作&プログラミングでは、1個のLEDを制御します。今回は、ArduinoにLEDを1個接続する電子工作の前半の説明です。 「電子工作の第一歩」 最初はArduino...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-8_featured-image-300x200.png)
第8回 電子工作の第一歩 (2)
電子工作の続きです。今回はArduinoにLEDを1個接続する電子工作をします。 使用するLED これからArduino MicroにLEDを接続します。 この記事で使用するLEDは「抵抗内蔵...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-9_featured-image-300x200.png)
第9回 Arduino IDEのインストール
今回はArduino IDEをインストールします。 今回やること 今回の記事では、Arduino IDEをPCにインストール、セットアップを行います。 Arduinoの公式サイトからArduino I...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-10_featured-image-300x200.png)
第10回 最初のスケッチ(1)
今回からいよいよスケッチの作成に入ります。 最初のスケッチ内容 それでは、これから初めてのスケッチ(プログラム)を作っていきます。まずはゴールの確認です。 ゴール...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-11_featured-image-300x200.png)
第11回 最初のスケッチ(2)
今回はArduinoの端子をスイッチ制御する命令を習得します。 Arduinoの端子を制御する命令 前回の記事で、12番ピンをスイッチ機能に設定しました。 やり方は、setupのと...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-12_featured-300x200.png)
第12回 プログラミング言語
今回はプログラミング言語について説明します。 言語? ちょっと長い道のりでしたが、最初のスケッチを作成してArduinoを動作させてみました。 Arduinoを動かすための指...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2022/01/no_image-300x169.png)
第13回 コメント
今回はスケッチを見やすくします。 キッチンタイマーのスケッチを作る前に 第12回までの記事で、LEDを1秒ごとにつけたり消したりするスケッチを作成して、実際にArduino...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-14_featured-image-300x200.png)
第14回 インデント
今回は別の観点でスケッチを見やすくします。 残っている謎 今回の記事では、今まで謎にしていた以下の2つのことを解き明かします。 ひとつはsetupとloopに出てくる「{...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-15_featured-image-300x200.png)
第15回 #define
今回はLEDの点滅パターンを変更してみます。 スケッチをコピーする ずいぶんと長い道のりでしたが、LEDを1秒ごとにつけたり消したりするスケッチがやっと完成しました。...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-16_featured-image-300x200.png)
第16回 #defineの続きと算術演算子
今回は#defineの続きと、新しく算術演算子を習得します。 #defineの追加 前回のスケッチでは「delay(1000);」の1000の部分を#defineで定義してスケッチを変更しやすくし...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-17_featured-image-300x200.png)
第17回 チャレンジ課題(1)
今まで習得した知識を使って課題にチャレンジしてみます。 チャレンジ課題 このシリーズの最初のチャレンジ課題は、追加で緑色のLEDを接続して、そのLEDを前回のスケッ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-18_featured-image-300x200.png)
第18回 キッチンタイマーのスケッチ
やっと、、、キッチンタイマーのスケッチを作り始めます。 キッチンタイマー最初のスケッチ 製作するキッチンタイマーは、設定時間になったらアラームで知らせますが、...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-19_featured-image-300x200.png)
第19回 スイッチを追加する
ブレッドボードにスイッチを追加します。 スイッチを追加しよう 前回の記事では青色LEDをピカッ、ピカッ、と光らせるスケッチを作成しました。このピカッ、ピカッ、と光...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-19-sup_featured-image-300x200.png)
第19回補足 Arduino Microボードの端子番号
Arduino Microの端子番号について補足します。 23番ピン? 前回の記事でスイッチを「23番端子」に接続しました。注意深い方はお気づきかと思いますが、Arduino Microボー...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-20_featured-image-300x200.png)
第20回 pinMode命令とdigitalRead命令
今回はpinMode命令の復習をして、スイッチの状態を読み取る命令を習得します。 pinMode命令の復習 第10回の記事でpinMode命令を説明しましたが、その時はパラメータの「...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-21_featured-image-300x200.png)
第21回 シリアルモニタ
今回はスイッチの状態をArduino IDEで確認します。 Arduinoボードの中で起こっていることを自分の目で確認したい 前回の記事では、digitalRead命令を使ってスイッチの状...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-22_featured-image-300x200.png)
第22回 while構文と比較演算子
キッチンタイマーのスケッチを変更して、スイッチが押されたらLEDの点滅を開始するようにします。 習得した項目の確認 前回までの記事で、青色LEDを1秒に1回、ピカッ、...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-23_featured-image-300x200.png)
第23回 式と評価
今回は「式」と「式の評価」という考え方を習得して、while構文と比較演算子について理解を深めます。 比較「演算」子 前回の記事では「何かと何かが等しい」などの比較...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-24_featured-image-300x200.png)
第24回 変数の型と宣言
タイマーの時間を計測する方法を検討します。 タイマー機能を追加 前回までのスケッチで、スイッチを押すと、LEDを1秒に1回光らせる動作を実現することができました。 ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-25_featured-image-300x200.png)
第25回 変数の代入と代入演算子・インクリメント演算子
時間を計測するスケッチを検討します。 メモ用紙の書き換え方法 前回の記事では、C/C++言語に変数が用意されていることを説明しました。変数はメモ用紙のようなもので、...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-26_featured-image-300x200.png)
第26回 for文
一定回数の処理をwhile構文とは別の方法で実現してみます。 一定回数処理をするスケッチ 前回の記事では、一定回数処理をするスケッチを、変数とwhile構文を使用して実...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-27_featured-image-300x200.png)
第27回 変数の詳細1 〜変数のスコープ〜
今回は変数について理解を深めます。 今回の説明内容 今回の記事では、変数について理解を深めていきます。 前回までの記事で、変数はこういうもので、スケッチではこの...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-28_featured-image-300x200.png)
第28回 変数の詳細2 〜メモリ〜
今回の記事では、Arduinoボードが変数をどのように処理しているのか習得して、変数の扱い方の理解を深めます。、 前回の「疑問」 前回の記事で変数の性質についていろい...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-29_featured-image-300x200.png)
第29回 スピーカーを追加する
今回はスピーカーを接続します。 アラーム音の必要性 今まで製作したキッチンタイマーは、スイッチを押すとLEDが点滅を始めて時間の計測を開始しますが、設定時間になっ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-30_featured-image-300x200.png)
第30回 音の仕組みと圧電スピーカーの仕組み
今回は音の仕組みと圧電スピーカーの仕組みを理解して、Arduinoで音を鳴らしてみます。 音の仕組み いよいよキッチンタイマーらしく、時間になったらアラーム音を鳴らす...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-31_featured-image-300x200.png)
第31回 アラーム音を追加する
今回はキッチンタイマーのスケッチにアラーム音を追加します。 音程と周波数 前回の記事では、digitalWrite命令とdelayMicroseconds命令を使って、ずいぶんと面倒なプロ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-32_featured-image-300x200.png)
第32回 LEDを追加する
基本的なキッチンタイマーのスケッチができました。今回は残り時間の目安を表示するLEDを追加します。 残り時間の表示 前回までに製作したキッチンタイマーは、スタート...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-33_featured-image-300x200.png)
第33回 if文
タイマーの残り時間に応じて、前回追加したLEDを制御します。 残り時間LEDの制御 前回追加した残り時間を表現するLEDは以下のように制御することにします。 タイマーが...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-34_featured-image-300x200.png)
第34回 チャレンジ課題2
それでは今まで習得した知識を使ってスケッチを変更してみましょう。 チャレンジ課題2-1 タイマー時間と残り時間を以下のように書くと、いちいち残り時間の3分の2、3分...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-35_featured-image-300x200.png)
第35回 if else文
今回はタイマーの残り時間が少なくなったら動作を変える制御をします。 条件判断文 前回の記事で「if文」を新しく習得しましたが、if文のように条件を判断して処理を変...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-36_featured-image-300x200.png)
第36回 アラーム音をメロディーに変更する
今回はアラーム音をメロディに変更します。 アラーム音をメロディに変えよう ここまでのプログラミングで、キッチンタイマーとしての動作はある程度完成しました。 ただ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-37_featured-image-300x200.png)
第37回 プリプロセッサ指示子 #include
今回はスケッチを整理します。 スケッチ、長くないですか? 前回、アラーム音をメロディーに変えたのはいいですが、スケッチがなんだかずいぶん長くなってしまいました...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-39_featured-image-300x200.png)
第39回 チャレンジ課題 3
今までの知識を使ってスケッチを変更してみましょう。 動作開始時にもメロディーを鳴らす 現在のスケッチでは、Arduinoにスケッチを送ると、しばらくしてキッチンタイマ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-40_featured-image-300x200.png)
第40回 関数
今回は残り時間を表現する3個のLEDの制御方法を変えてみます。 残り時間LED制御 製作したキッチンタイマーには、残り時間を表現するために3個のLEDを接続しています。 ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-41_featured-image-300x200.png)
第41回 switch文
今回は関数を変更してみます。 やりたいこと 前回の記事で、残り時間を表現する3個のLEDを制御する関数を作りました。具体的には、 controlTimeLed(HIGH, LOW, LOW); と...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-42_featured-image-300x200.png)
第42回 列挙型
今回もさらに関数を変更します。 時間表示関数の引数について 現在のスケッチでは、時間表示用LEDの制御用に以下の関数を作成しています。 void controlTimeLed(uint8_t...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-43_featured-image-300x200.png)
第43回 2次元配列
今回はメロディーのそれぞれの音の長さを変えられるように変更します。 メロディーの音の長さを変えたい タイマー時間になったらメロディーを演奏していますが、このメ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-45_featured-image-300x200.png)
第45回 チャレンジ課題 4
プログラミングの基本が習得できましたので、最後にチャレンジ課題に挑戦してみます。 まとめ 前回までの記事で、プログラミングの基本的な部分は習得できました。 プロ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-46_featured-image-1-300x200.png)
第46回 補足 – #define
今回から今まで説明した内容の補足説明です。 補足記事 この基礎編パート1では、プログラミングに必要な最低限の知識を説明しました。ただ実際にプログラミングをする場...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-47_featured-image-300x200.png)
第47回 補足 – シリアルモニタ
今回はArduino Microでシリアルモニタを使用する際の注意点を説明します。 シリアルモニタの復習 第21回の記事で「シリアルモニタ」の使い方を習得しました。 Arduino M...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-48_featured-image-300x200.png)
第48回 補足 – 変数
今回は変数の扱いについて補足します。 変数の復習 今までの記事で、変数の性質について詳しく説明していませんでしたので、この記事では変数についてもう少し掘り下げ...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/01/programming-basic-1-49_featured-image-300x200.png)
第49回 補足 – typedef
第42回で列挙型、第44回で構造体を習得しましたが、これらをもう少し使いやすくする手法を習得します。 typedefのコンセプト 列挙型、構造体について忘れてしまっていた...
シリーズ記事
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://tool-lab.com/wp-content/uploads/2020/02/programming-basic-1-50_featured-image-300x200.png)
最終回 チャレンジ課題
基礎編パート1の最後にいくつかのチャレンジ課題に挑戦してみましょう。 たくさんプログラミングしよう 基礎編パート1では、Arduino Microでキッチンタイマーを作りなが...