電子工作 part8 ~トグルスイッチ~

こんにちは、Rickyです。

最後の更新から2週間ぶりの投稿になります。

部品の調達や体調不良により遅れてしまいました。

今度からはできる限り間隔を開けずに更新できるようにしたいです。

さて、今回はトグルスイッチについてです。

トグルスイッチはon、offを手動で切り替えができるスイッチのことです。

今回使うトグルスイッチは単極双投というものです。

このトグルスイッチは3端子で構成されており、真ん中の端子が電源、両端がスイッチに

交差して接続されています。

今回はスイッチを右に押すと電流が流れ、左に押すと電流が流れないようにします。

電流が流れた際には2つのサーボモーターが動くようにします。

ソースコードはArudinoのスケッチ例からサーボを選択し、オブジェクトを2つ作ります。

 

https://www.youtube.com/watch?v=TN5ZKyo9Ov0

あとがき

 今回はトグルスイッチについて書いてみました。

on,offを制御するだけの簡単な仕組みなので少し物足りなかったかもしれません。

今度は実際に物を作っていきたいと思います。

お楽しみに~

電子工作 part7 ~可変抵抗~

こんにちは、Rickyです。

今回からニックネームを設定してみました。

けどニックネームを変えても表示されてるのは前のままなんですね・・・

気を取り直して今日は可変抵抗について書いていきます。

可変抵抗とは

 ボリュームを変更することで抵抗値を変化させることのできる抵抗です。
抵抗値をコントロールすることで、一定以上の電圧が流れないように制御をすることが出来ます。可変抵抗は上の部分を動かすことで抵抗の値を変えることが出来ます。

今回使う可変抵抗は半固定ボリューム100kΩ[104]を使います。

使う材料

Arduino uno
半固定ボリューム100kΩ[104]:1コ
LED:1コ
抵抗(330Ω):1コ
ジャンプワイヤ(オスオス):数本

左に回せば最大の抵抗値(100kΩ)を示し、右に回せば0にまで切り替えることが出来ます。

オームの法則[V(電圧)=I(電流) ×R(抵抗)]より抵抗が大きくなると電圧も大きくなり、結果LEDはより光ります。

上から順に0Ω、500Ω、1000Ωの順に抵抗を変化させています。

上2枚が何だか同じ明るさに見えてしまうのは私だけでしょうか・・・

あとがき

 今回は可変抵抗について書きましたが、いかがでしたでしょうか?

実装した身としてはイマイチ面白味に欠けるパーツだったような気がします。 

 次回は温度センサーについて書いていく予定です。お楽しみに~

電子工作 part6 ~サーボモーター~

こんにちは、knroro1877887です。

ワールドカップ日本代表は2-2の同点でしたね。

見ていて負けてしまうかもと思った頃にホンダの1点で追いついたいい試合でした。

次のポーランド戦はぜひ勝ってほしいですね。

さて、今回はサーボモーターについて書いていきます。

サーボモーターはロボットの関節などに使われるモーターです。

指定した角度まで動かすことができます。

DCモーターが動力ならこちらは動作といったニュアンスでしょうか。

今回も最低限の機能だけで実装していきたいと思います。

サーボモータ

 サーボモーターは3つのケーブルがあり、茶色がGND、赤が電源、オレンジが信号線となってます。信号線に角度を読み込ませます。

使う材料

Arduino uno
サーボモーター:1コ
ジャンプワイヤ(オスオス):数本 

ソースコード

//***********************************************************
// サーボモーターを動かすプログラム
//***********************************************************
#include <Servo.h> //サーボモーター用ライブラリを読み込み
Servo myservo; //サーボ用のオブジェクトを作成
int val; //サーボの角度を格納するための変数
void setup()
{
myservo.attach(3); //デジタル3番ピンをサーボの角度命令出力ピンとして設定
}
void loop()
{
val = 0;
myservo.write(val); //サーボを動かす(0度)
delay(1500);
val = 90;
myservo.write(val); //サーボを動かす(90度)
delay(1500);
}

https://www.youtube.com/watch?v=n7ikWouIgTE

あとがき

 今回はブレッドボードなしで実装してみました。抵抗がいらないと直接つなげれるので、楽でいいです。

 サーボモーターについて書きましたが、いかがでしたでしょうか?サーボモーターを利用したアイデアとして旗揚げをするロボットなんかを考えてます。声で認識するか、実際に旗揚げをしたのを真似するロボットにしようか考え中です。

 次回は可変抵抗について書く予定です。お楽しみに~

電子工作 part5 ~DCモーター~

ワールドカップのリーグ戦も過熱が続いてます。

ドイツVSスウェーデンの1戦は見事な逆転劇で幕を下ろしました。

ドイツの執念が実を結んだといえる試合でした。

早起きして見て本当に良かったです。

 

さて、今回はDCモーターについて書いていきます。

DCモーターはラジコンなどに搭載されているモーターです。

直流で動作します。電圧制御にはモータードライバを使います。

モーターの先にダンボールで作った板をくっつけて回転が分かるようにしています。

 

モータードライバとは?

 外部電源で駆動しているモーターの電圧制御を行える装置です。

ピン番号は左から1~10まであり、今回使用するのは1番の電源(GND)、2番の出力1、4番の制御電源、5番の信号1、6番の信号2、7番の電源(+)、8番の出力側電源、10番の出力2を利用します。

 

信号1がHIGHかつ信号2がLOWで前駆動し、両方がLOWで停止します。

モータードライバの出力の場所にはDCモーターを接続します。

モータードライバの1番はArduinoのGNDと接続、4番と5番と6番はArduinoのDigitalの1、2、3と接続、7番はArduinoの5Vと接続します。

 

使う材料

Arduino uno
ブレッドボード
DCモーター:1コ

モータードライバTA7291P:1コ
ジャンプワイヤ(オスオス):数本 

ソースコード

void setup(){
pinMode(1,OUTPUT); //信号用ピン 6番ピン
pinMode(2,OUTPUT); //信号用ピン 5番ピン
}

void loop(){
//モーターの強さ指定
int val = 255; //0~255の値にする

// 信号1をHIGH, 信号2をLOW
digitalWrite(1,HIGH);
digitalWrite(2,LOW);

//valが大きいほど出力値も大きくなる
analogWrite( 3 , val ); //出力値:1~255

}

 

あとがき

 今回はDCモーターについて実装しました。

今後うまく組み合わせれば、簡単なミニカーみたいなのをつくれそうです。

次回はサーボモーターを実装する予定です。

お楽しみに~

電子工作 part4 ~I2C通信~

今回はI2C通信を行います。

これを用いることで、値をコンソールでなく画面に表示させたり、情報を出力が出来るようになります。

I2Cとは?

 GND、VCC、SDA、SCLの4つの端子が裏に付属しています。Arduino側のGND、3.3V、SDA、SCLと接続をします。SDAはシリアルデータ、SCLはシリアルクロックを意味してます。

 

使う材料

Arduino uno
ブレッドボード
I2C LCD Display:1コ
ジャンプワイヤ(オスオス):数本

 

ソースコード

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

//I2Cにおける通信に用いるライブラリ


LiquidCrystal_I2C lcd(0x27,16,2);

//対応したモジュールのアドレスを引数に


void setup() {
lcd.init();

//パッケージの初期化
lcd.backlight();
lcd.setCursor(0, 0);

//文字の書かれる開始地点の指定
int answer = 1 + 1;
lcd.print(answer);
}

void loop(){
}

電子工作 part3 ~超音波センサ~

もう6月も下旬ですね。

ワールドカップも決勝トーナメント進出を決めたチームも出てきてますます過熱してますね。

さて、今回は超音波センサを使って、一定の距離より近づくと光る仕組みを作ります。

前回のCdSセルと組み合わせれば、暗くなった時間帯に何かが近づいてきたら、振る舞いを行えるようになります。

超音波センサとは?

 超音波センサには4つの端子を持っています。Vcc、Trig、Echo、GNDの4つです。

超音波センサはTrigより超音波を発信し、Echoで受信を行います。この発信と受信の時間から距離を測定することが出来ます。

使う材料

Arduino uno
ブレッドボード
LED:2コ
抵抗330Ω:2コ
超音波センサ:1コ
ジャンプワイヤ(オスオス):数本
一定の距離より近づいた際にLEDが切り替わるようにします。Vccは5Vと接続、Trigは8ピンと接続、Echoは9ピンと接続、LEDには12と13ピンを使います。

以下はコードになります。

// 送信側のピン番号
const int TRIGPIN = 8;

// 受信側のピン番号
const int ECHOPIN = 9;

// HIGHの時間(μ秒)
const int CTM = 10;

// 青LED
const int LED_BLUE = 12;

// 赤LED
const int LED_RED = 13;

// 時間差(μ秒)
int dur;

// 距離(cm)
float dis;

void setup() {

// シリアル通信の宣言
Serial.begin (9600);

// 超音波距離センサ
pinMode(TRIGPIN, OUTPUT);
pinMode(ECHOPIN, INPUT);

// LED
pinMode(LED_BLUE, OUTPUT);
pinMode(LED_RED, OUTPUT);

}

void loop() {

digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(CTM);
digitalWrite(TRIGPIN, LOW);

// 超音波が物体にあたり跳ね返ってくるまでの時間を測定
dur = pulseIn(ECHOPIN, HIGH);

// 物体までの距離に変換
dis = (float) dur * 0.017;

// シリアルモニタへ出力
Serial.print(dis);
Serial.println(" cm");

// 距離が50cm以上なら青LEDを光らせる
if(dis < 50) {
digitalWrite(LED_BLUE,HIGH);
digitalWrite(LED_RED,LOW);

// 50cm未満なら赤LEDを光らせる
}else{
digitalWrite(LED_BLUE,LOW);
digitalWrite(LED_RED,HIGH);

}

delay(500);

}

以下実際の動作です。

ちょっとわかりづらいですが、白い紙を近づけた後に赤いLEDが光ってます。

youtu.be

電子工作 part2 ~CdSセル~

前回までと打って変わって、今回の更新は早くにできました。

今回はCdSセルを使い明るさによってLEDの光らせ方を変えていきます。

CdSセルとは?

 フォトレジスタとも呼ばれるものです。

 光の量が多いと抵抗が低くなり、少ないと高くなります。

 

今回は暗くなったらLEDが強く光るようにします。

 

使う材料

  • Arduino uno
  • ブレッドボード
  • LED:1コ
  • 抵抗330Ω、10kΩ:各1コ
  • CdSセル:1コ
  • ジャンプワイヤ(オスオス):数本

接続

 9ピン→抵抗(330Ω)→LED→GND

 5V→CdSセル→抵抗(10kΩ)→GND

       →アナログ0ピン

以上のように接続します。

直接CdSセルをつなぐとCdSセルには明るいときに抵抗が低くなるため、LEDが強く光ります。

そのため別の回路にて抵抗を受け取り、9ピンから電圧として出力します。

電圧は電流×抵抗のため、抵抗が低いと電圧も低くなります。

よってLEDの光り方は弱くなります。上写真

CdSセルを指で押さえた場合は抵抗が大きくなり、LEDに流れる電圧が増加し、通常より明るくなります。

https://lh3.googleusercontent.com/rD3zzqFhBONiakr7Qqo7DVSajLpeesy_m6XTHuOSxyEM1yZOgCQY2AC08UOcRTYsuEbqJub8h8vMIGlMiRv57NI-lxhJ6U431Q-WixF5COF5kBnff9FkfVMGM_4XHQCJgQHy9TzcZbhIQMScm97L1SYXJsX-2DOgYjnMkRiIRe4SfMbKSDsWBu-iCVC7IgM0Yow8p7R849aVV32ovd1m2E2buptQvFSLYOM3kE5gT5xDMiq2SDKVODWkWvXEOKC-3U-kqIc40glQGVrevwOX29NN_3b0HuZ2PR6mVit-5C2Jtu8iDDW6GoWe5kXtP_ScWHzTrujGp3O92-v1xzhYmA0Prv1Cd9pLYW9zvlu8dRBe9D7iwnl9p5nlIbndwoYg2CFzj8byM5E-uVNqhhI-RpxNOMlO4D80tmCq_259TmsqdQkmjKo_2tv-DSAkXeqe9igqUPjGFcGYHJY8-z_lZ2cmZ2RcflSj51F9cIYIyLsI2msrEqgYqdytYwKSw0E2H_bfHS_p8BOtUtNHmeYzzgySVL9fthvY8MxIejpJXCJQSHR3CdWn64ZlDF8v-yxavda0FTUmr0ngqk-Mm3h76jR7PBqTZH32IDPwho0=w477-h635-no

 

 

まとめ

CdSセルは明るさを検知できるので、上手く使えれば暗くなった時に光る装置なんかも作れそうです。