はじめての電子工作♪で、LED全部のせ
本日のお届けは、ブレッドボード(部品を差し込むだけで結線できるハンダ付け不要の試作用基板)と、LED10個(赤、緑、各5個)、抵抗いっぱい、コンデンサいっぱい。そしてジャンパワイヤ(オス~オス、オス~メス、各10本ずつ)
抵抗のカラーコードは全く読めないのでお勉強。LEDのスペックがわからんかったので、大きめの抵抗から手を付けようと、大量の抵抗のカラーコードを見て、頭の中で抵抗値を算出してから、テスターで確認。「お、あってた・・・」、とか、「ん?なんで?」みたいな、自問自答型クイズ番組状態が楽しいが、ちょっと疲れる。
ブレッドボードもはじめて触るので調査。なるほど、ココとココは繋がっていないのかーなどと、面白い。
LEDを1個2個光らせてみたら、同じ抵抗では、赤に比べて緑が暗いということがわかった。全体的には暗めだけど、赤は10KΩ、緑は1KΩにするとバランスが良かった。イロイロ考えて解決していくのが、これまた楽しい。
というか、ジャンパーの数が足りなくなるので、LEDを2個余らせたけど、8つのLEDを独立して点灯できるようにしましたよっと。
プログラムはコチラ。
#include <stdio.h>
#include <unistd.h>
#include "Gpio.hpp"
int main ()
{
RaspiGpio gpio;
int pins[] = {2,3,4,7,8,9,10,11,};
size_t nPin =
sizeof(pins)/sizeof(pins[0]);
for(int i = 0; i < nPin; i++) {
gpio[pins[i]].setMode(
GPIO_OUTPUT);
}
int n = 0;
while (1) {
for(int i = 0; i < nPin; i++) {
gpio[pins[i]] =
((n & (1 << i)) != 0);
}
n = ++n % 256;
usleep(100000);
}
return 0;
}
0~255の数値を2進数でLEDに表示する感じ。RaspiGpioクラスはGPIOの入出力を行うクラスで、「こじ研」さんのページで紹介されてた、Cのルーチンを利用してます。
ところで、gpio_2とgpio_3は、初期状態でONなんですね。そして、出力が反転して互いに連動している。つまりgpio_2をHIGHにすると、gpio_3がLOWになるとか、その逆もまた同じ。詳細不明ですので近いうちに調べてみようと思います。
次は、入力かな。抵抗あるしすぐ出来るか。なら、トランジスタを使ってみるとか。音を鳴らす、モーター制御、空を飛ぶとか、まーそのうち、おいおいやな。
« おもちゃのテスター真骨頂♪ラズパイのGPIOポートをチェック | トップページ | GW前半初日♪ゆっくり走る20キロ »
「電子工作」カテゴリの記事
- 7セグぐるぐる(2014.05.14)
- 問題:NPNトランジスタ(C1815)を使ってスイッチ押したらLEDが光る回路を作れ(配点5点)(2014.05.13)
- はじめての電子工作♪で、LED全部のせ(2014.04.25)
- おもちゃのテスター真骨頂♪ラズパイのGPIOポートをチェック(2014.04.24)
- 撮るラズベリーパイ(2014.04.19)
« おもちゃのテスター真骨頂♪ラズパイのGPIOポートをチェック | トップページ | GW前半初日♪ゆっくり走る20キロ »
コメント