このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| lesson5_ad変換器 [2010/09/12 22:26] – 作成 member | lesson5_ad変換器 [2010/10/06 12:03] (現在) – member | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ======Lesson6====== | + | ======Lesson5====== |
| ついにやってきました、AD変換です。 | ついにやってきました、AD変換です。 | ||
| 行 23: | 行 23: | ||
| {{http:// | {{http:// | ||
| - | & | + | **それがライトレとどう関係するか** |
| - | ライントレーサーでは最初に確認したように、センサーから赤外線を出しています。 | + | ライントレーサーでは最初に確認したように、センサーから赤外線を出しています。\\ |
| - | で、その隣のフォトトランジスタに光が当たると電圧が上がります。(ちょっと適当な説明ですが。) | + | で、その隣のフォトトランジスタに光が当たると電圧が上がります。(ちょっと適当な説明ですが。)\\ |
| つまり、光が反射すればするほど電圧が上がります。 | つまり、光が反射すればするほど電圧が上がります。 | ||
| - | つまりつまり、白い部分では電圧が高くなり、黒い部分では低くなるわけです。 | + | つまりつまり、白い部分では電圧が高くなり、黒い部分では低くなるわけです。\\ |
| コレを使えばラインを検出できるわけです。 | コレを使えばラインを検出できるわけです。 | ||
| - | + | **実際にどう使うか** | |
| - | & | + | |
| プログラムは | プログラムは | ||
| + | <code c> | ||
| | | ||
| | | ||
| | | ||
| + | </ | ||
| - | という風に使います。この例ではAD変換のポートのBIT0を変換するときです。 | + | という風に使います。この例ではAD変換のポートのBIT0を変換するときです。\\ |
| - | AD変換した値をSENという変数に代入しています。 | + | AD変換した値をSENという変数に代入しています。\\ |
| - | 勿論、SENはどこかで型宣言(intとか)してください。 | + | 勿論、SENはどこかで型宣言(intとか)してください。\\ |
| - | SENの最大値は2進数で10BIT分、16進数で「3ff」になります。 | + | SENの最大値は2進数で10BIT分、16進数で「3ff」になります。\\ |
| ちなみに、BIT1を変換したいときは | ちなみに、BIT1を変換したいときは | ||
| + | <code c> | ||
| | | ||
| | | ||
| | | ||
| + | </ | ||
| - | となります。 | + | となります。\\ |
| - | 1行目と3行目が変わりました。 | + | 1行目と3行目が変わりました。\\ |
| 2BITを変換したいときは2とCになります。 | 2BITを変換したいときは2とCになります。 | ||
| + | 詳しく知りたい人は、赤い本を読んでください。\\ | ||
| - | 詳しく知りたい人は、赤い本を読んでください。 | + | で、ここで課題です。\\ |
| - | + | **どれかのセンサーが反応したら、LEDを光らすプログラムを作ってください。**\\ | |
| - | で、ここで課題です。 | + | |
| - | & | + | |
| 代入したSENとかの値をifで大小比べれば楽勝です。 | 代入したSENとかの値をifで大小比べれば楽勝です。 | ||
| - | それが出来たら、 | + | それが出来たら、\\ |
| - | & | + | **右のセンサが反応したときは右のLEDが光り、中センサが反応したら中LEDが光り、左センサが反応したら左LEDを光らせるプログラムを作ってみましょう。** |