2018年11月13日 星期二

三用電表量測DCV直流電壓

三用電表量測DCV直流電壓

DC為直流電英文縮寫
V為電壓伏特
==為直流電符號
1V=1000mV

先準備任一電池,AA電池或方形鈕扣或手機電池皆可,
並在電表上找到DCV直流電壓的功能位置,
在該範圍內可能有2~1000或其他數字,
將檔位轉到數字最大的位置,如1000DCV或500DCV,
並將測試棒紅針接在電壓孔,黑針接COM,


將紅針端接電池正極,黑針端接負極,查看讀數..

因檔位在1000,為量測0~1000v範圍,
所以只顯示001或002,誤差大,
將檔位慢慢轉小到下一檔200及20,並讀數..
有些電表會有2000mV=2V及200mV=0.2V,
調到檔位200mV為量測0~0.2V範圍,
若電池電壓超過200mV=0.2v,電表顯示1,表示超過範圍,

就需轉會上一級到20v或2v(2000mv)量測顯示正確電壓範圍,

若已知欲量測的概略電壓,可直接切到該檔位,
若不清楚電壓,則需由大電壓位置慢慢往小數調整,
試著量測其他電池,並比對電池上的標示電壓,
就可由讀數來判斷電池是不是還有電,

確認電池量測學會了,另找帶變壓器插頭測試,
數據機或筆電充電器等等,
依據變壓器上的DC電壓標示來選用檔位或由大調小,

一般圓端子為內正外負,因此將紅針接內孔,黑針觸外圈,
若正負錯誤電子式會顯示負號,若指針式會指向負數邊,

用此功能可簡單的測試變壓器充電器是否故障,
或是線路是否通電,電池是否夠電力,
一般空載狀態量測應略高於標示電壓,
被量測的電壓超過電表最大負荷時將會燒壞電表,


www.ee543.com

2018年9月17日 星期一

電表淺談

電表是量測電力的一種工具,電表種類相當多種,
功能也很多樣,但不外乎是量測電壓和電流,
顯示方式主要為指針式和電子數字式,
指針可測瞬間資料,電子較易讀數,各有優缺,
電子科系主用三用電表,也有稱萬用電表,
除了測電壓電流外還可量測電阻及二三極管等,
圖~電表1
圖~電表2
圖~電表2指針

每家都會有的台電電表,也有機械或電子式,,主測AC電的耗電功率瓦特,
想要離峰用電計價的要跟台電申請電子式的,才有時間區隔的計價功能,
圖~電表3
圖~電表4

勾式電表主測電器的電流耗電,使用時勾單一火線或地線,不可正負都勾,
圖~電表5

其他還有裝在工業機台的,車上用的,量電池用的..等,
圖~電表6
圖~電表7
圖~電表8
現代人運用電作了相當多的事,作為一個現代人應更學習了解電的使用及安全

2018年5月5日 星期六

UNO學習18042.自製電子尺

UNO學習18042.自製電子尺

請參考及學習250超音波倒車雷達電子尺
及學習262螢幕轉接板IIC/I2C

準備以下硬體並安裝
Arduino UNO
超音波模組HC-SR04
IIC1602螢幕
7~12V電池或5v移動電源接方USB
雷射頭-非必要
接線

硬體連接如下↓
UNO的A4接螢幕轉接板SDA
UNO的A5接螢幕轉接板SCL
UNO的P2接超音波模塊Trig
UNO的P3接超音波模塊Echo


#include <Wire.h>
#include <LiquidCrystal_I2C.h> //務必先安裝資料庫

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //設定位址或0x27或0x20
unsigned long _ABVAR_1_SR = 0UL ;
int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin)
{
  long duration;
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(20);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  duration = duration / 59;
  if ((duration < 2) || (duration > 400)) return false;
  return duration;
}

void setup()
{
  Serial.begin(9600); //通訊速率
  lcd.begin(16, 2); //初始化16字元2行
  lcd.backlight();
}

void loop()
{
  _ABVAR_1_SR = ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 2 , 3 ) ;
  Serial.println(_ABVAR_1_SR); //在電腦監控視窗顯示
  lcd.clear();
  lcd.print(_ABVAR_1_SR); //在IIC螢幕顯示
  delay( 1000 ); //每秒取一次數據顯示
}


注意該超音波模組HC-SR04最大量測距離為400公分,超過顯示0,
IIC1602螢幕若無法顯示則需再確認該模組的通訊位址,
測試OK後要裝成移動式,但麵包板太大,又想裝上紅雷射來定位,
此時發現SMD貼片板本的CH340機板,有提供2個5V和1個3.3V的接口,
因此移裝到該機板,如此就不需要麵包板了↓


測試OK要開始安裝,又發現超音波模塊的安裝孔太小,需再加大,
並把紅雷射頭裝在底下,各部分螺絲及支架等組裝完成↓
窮則變,變則通,世界不斷變化前進,唯一不變的只有變
www.ee543.com

2018年4月23日 星期一

雙A學習18041.藍芽模塊4針HC06

Arduino加Android=雙A,要安卓控制UNO,藍牙模塊不可少,
此模塊透過藍芽通訊與其他設備連結,大多是手機,
HC06為從式Slave,由手機去搜尋模塊的連線方式,圖
以下為Win7+Arduino1.6.6+UNO及安卓測試
注意AT模式和使用模式接腳方式是不同的,
若不修改設定可跳過設定模式,直接使用,
在AT設定模式下的腳位連接
RXD接UNO的RX-P0
TXD接UNO的TX-P1
GND接UNO的GND
Vcc接UNO的5v

接好線路後UNO與電腦連結,此時HC06的燈為快閃,
在電腦上執行IDE介面程式,
打開監控視窗,調整鮑率為9600,此為HC06的原廠預設,
選擇"沒有行結尾"No line ending,
於輸入欄打入AT,注意大寫,監視窗會回傳顯示OK,
若輸入後無回覆顯示,請檢查RX及TX接線是否勞固正確,
或上傳空程式確認設定,若出現錯誤請電腦重新開機,,圖

進入AT模式後HC06的一般指令,
測試:AT
查詢版本:AT+VERSION(測試為v1.8)
改名為XYZ:AT+NAMEXYZ(預設名稱HC-06)
設密碼為1234:AT+PIN1234(預設密碼1234)
設定鮑率為9600:AT+BAUD4(預設鮑率9600)
編號    鮑率
BAUD1    1200
BAUD2    2400
BAUD3    4800
BAUD4    9600出廠預設
BAUD5    19200
BAUD6    38400
BAUD7    57600
BAUD8    115200

試著改成自己要的設定並記錄,關閉程式後移除機板,
將RX/TX更換成"使用模式"的腳位連接,
RXD接UNO的P11
TXD接UNO的P10
GND接UNO的GND
Vcc接UNO的5v
可在P13和GND加上LED燈,,圖

接好線路連接電腦執行介面程式,此時HC06燈號快閃,上傳程式

#include <SoftwareSerial.h>   // 引用程式庫
SoftwareSerial BT(10, 11); // 接TX和RX
char tx;  // 接收字元

void setup() {
  Serial.begin(9600);   // 電腦鮑率
  BT.begin(9600);  // 藍芽鮑率
  pinMode( 13 , OUTPUT);  //被控燈號
  }

void loop() {
  // 收到藍牙資料顯示在監控視窗
  if (BT.available()) {
    tx = BT.read();
    Serial.print(tx);
  //當收到藍牙A亮燈,B熄燈
  if ((tx) == ('A') )
    digitalWrite( 13 , HIGH );
  if ((tx) == ('B') )
    digitalWrite( 13 , LOW );
  }
}

上傳後打開監控視窗,一樣確認鮑率及沒結尾模式,待機,
以上UNO軟硬體部分算完成,再來手機部分,
可自行編寫或在APP商城有很多藍芽對Arduino用的程式,
以下使用Arduino bluetooth controller, 圖

此APP有4種功能,從簡易的開關,和遊戲控制板,
及調光調速,也有字串的輸入,
安裝APP等待下載先不執行,手機先開啟藍芽,
搜尋HC06點擊配對輸入密碼1234,
再執行安裝完成的Arduino bluetooth controller,
點連HC06,會出現4個模式,先選用第4個Terminal mode,,圖 

在手機輸入列任意打入英文字或數字送出,將會顯示在電腦的監控視窗上,
無正常顯示中文,可試著輸入大寫A和大寫B,,圖

文字輸入沒問題則手機退出type文字模式,選擇Switch開關模式,
初次使用需設定或點擊右上編輯鍵,
將綠鍵修改為大寫A,紅鍵修改為大寫B,完成後點擊手機中的大開關,
此時Pin13的燈亮起,監控視窗顯示A,再點一次手機大開關,
此時Pin13的燈熄滅,監控視窗顯示B,可自行在Pin13加上LED燈,,圖

到此如果都順利,那APP中的controller遊戲控制器模式應該知道如何運用了吧,圖
   
www.ee543.com



2018年1月19日 星期五

Arduino學習180120.自製照度計


Arduino學習180120.自製照度計

準備以下硬體並安裝
Arduino UNO
照度計模塊GY-30
IIC1602螢幕
18650電池*2
接線

先參考學習262及610,了解螢幕及照度計模塊的使用,
將照度計模塊接在A4和A5,將螢幕接在SDA和SCL,
先安裝在麵包板上,並上傳程式,無誤後由18650電池供電,


#include <Wire.h>
#include <LiquidCrystal_I2C.h> //務必先安裝資料庫
#include <BH1750.h>

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //設定位址或0x27或0x20或0x38
BH1750 lightMeter;

void setup() {
  Serial.begin(9600); //通訊速率
  lcd.begin(16, 2); //初始化16字元2行
  lightMeter.begin();

  for(int i = 0; i < 3; i++) {
    lcd.backlight();
    delay(250);
    lcd.noBacklight();
    delay(250);
  }
  lcd.backlight(); //閃爍三次後點亮背光
}

void loop() {
  uint16_t lux = lightMeter.readLightLevel();
  Serial.println(lux);
  lcd.clear();
  lcd.print(lux);
  delay(1000);
}

測試無誤後將電路移裝到塑膠板上,電池裝在板後加上開關


在無雲太陽照射下測得照度在6000Lux以上,
室內約只300Lux以下,




2017年11月14日 星期二

學習171114.火燄感應模塊3針,火災警報器

學習171114.火燄感應模塊3針,火災警報器

此模塊感應紅色火燄或波長760~1100nm光源,
輸入DC3.3V~5V,輸出數位訊號,
常態輸出高電平,有感應時輸出低電位,↓



數位開關可使用內建範例Digital>Button,
將模塊輸出腳接在Arduino的Pin2,↓

上傳程式後UNO板上的Pin13燈常亮,
取火靠近感應器,勿太接近以免燒壞設備注意安全,
當有感應時Pin13燈熄滅,可調整板上電位鈕控制敏感度,
火燄越大感應距離可越遠,實測發現對藍色火燄沒反應,


若以上沒問題,將程式底部修改,Pin13的HIGH與LOW參數相反,
使常態燈不亮,有感應時亮燈,
並加裝有源蜂鳴器在Pin13,即成了火災警報器,↓






www.ee543.com

2017年8月8日 星期二

學習170808.光電測轉速模塊MH測TT減速馬達

學習170808.光電測轉速模塊MH測TT減速馬達

準備以下硬體並安裝↓
Arduino UNO R3
光電測轉速模塊MH
公對母杜邦線
TT減速馬達
20格輪盤



此光電模塊輸出數位訊號,A0腳位是無效的,先搭配內建數位開關程式來測試,
可參考學習131數位開關,接好硬體上傳內建範例Digital>Button↓


上傳後取金屬起子紙板塑膠尺等物在感應槽來回移動,UNO內建P13燈會隨訊號熄亮,
測試一些材料後會發現此模塊無法感應部分塑膠材質,
確認模塊沒問題,來測試TT減速馬達的轉速,此搭配20格輪盤及18650電池,↓

此模塊和對射式光電感應模塊FC33功能是相同的,可參考學習170513,
程式也一樣,找出拼圖上傳打開監視小窗↓

{
  pinMode( 2 , INPUT);
  Serial.begin(9600);
}

void loop()
{
  _ABVAR_1_BTS = digitalRead(2) ;
  if (( ( _ABVAR_1_BTS ) != ( _ABVAR_2_BTL ) ))
  {
    if (( ( _ABVAR_1_BTS ) == ( HIGH ) ))
    {
      _ABVAR_3_count = ( _ABVAR_3_count + 1 ) ;
      Serial.print(_ABVAR_3_count);
      Serial.println();
    }
  }
  _ABVAR_2_BTL = _ABVAR_1_BTS ;
  delay( 10 );
}

通電啟動馬達就會開始計數,計時60秒後約1600,除以20格後約80RPM,
此為特殊齒輪比馬達,測其他一般的TT馬達約180RPM,
注意電腦與Arduimo的通信速率為9600,只要速度高於9600就會漏數,
就要過減速齒輪或降低光柵格數
影片



www.ee543.com