2019年7月8日 星期一

學習1906.循跡模塊

學習1906.循跡模塊

此循跡模塊一般運用於循跡小車或避障車等,
也可當光電接近開關判斷使用,
當物件接近或光影變化時輸出訊號,
驅動電壓DC3.3V~5V,通電後內建工作燈亮起,
由紅外線發射器發出訊號,反波後由接收器接收,
可調整感應距離1~40mm,範圍角度35度,輸出數位及類比訊號,
數位腳常態輸出高電平15mA,有物接近輸出低電位並亮反應燈,
類比輸出0~1024數據,透過單晶片程式接收轉換,圖↓

數位運用可參考學習131,將模塊數位輸出腳接在Arduino的Pin2,
https://ee543.blogspot.com/2016/01/arduino131-led.html
使用內建範例,檔案>範例>Digital>Button,
上傳後UNO板內建P13燈亮起,當有感應到物件時P13燈熄滅,
可調整循跡模塊上的電位器,調整感應距離,
試著將參數調整為平時熄燈,感應到物件亮燈,圖↓



另類比訊號參考學習310,將模塊類比輸出腳接在Arduino的A0,
https://ee543.blogspot.com/2016/01/arduino310.html
打開內建範例,檔案>範例>Basics>AnalogReadSerial
圖↓

將程式上傳至UNO板後,打開電腦程式IDE的監控視窗,圖↓
試著將物體靠近,監控窗的數據會有變化,
當物件靠近到調整距離時的數據理論上應為1024~0,
但實際顯示約1015~25左右,
可參考超音波模塊及溫度計模塊和光敏模塊的運用,
透過計算轉換來控制被動元件,

以下影片為無程式,由感應器數位輸出,透過驅動板控制馬達運用


https://www.ee543.com



2019年5月28日 星期二

1905.Arduino Nano驅動軟硬體

Arduino Nano驅動軟硬體

在使用UNO板時經常會有板子太大的空間問題,
因此Arduino有開放了一款小板子nano,尺寸45*18*19mm
使用和UNO差異不大,使用miniUSB連接電腦和電源供應,
詳細可查看官方網站
https://www.arduino.cc

針腳可輸入DC5V~20V電力,建議12v以內,
D0~D13為數位輸出入腳位,
IO輸出電流40mA(實測試約70mA
D0和D1是作串列通訊用,如非必要應避免使用,
D13則連接內建的LED燈號,
第3,5,6,9,10,11腳位可PWM輸出入,輸出值0~255,
A0~A7為類比輸入腳位數值0~1023,
A0~A5也可作為數位腳D14~D19
ICSP主從傳輸接腳,
AREF電壓輸入參考,
RESET低電位時可重新開機,
處理器ATmega328 or 168
輸出電壓3.3v及5v
原廠外觀及腳位參考照片圖↓

由於開放源,市場有很多不同板本,目前以nano V3.0為多,
大多差異在電力腳位和連接電腦的通信晶片,
主要通訊晶片為FT232和CH340二種,
原廠使用FT232,正常情形下nano與電腦連接後會自動線上安裝,圖↓

但隨著Windows各版本的Update,及無法線上更新時,
可能造成無法識別的情形,造成無法正確驅動,
當自動安裝不順利時,則需手動安裝更新,
將nano與電腦透過miniUSB連接後,點選硬體裝置管理員(例Win7)圖↓

參考說明及驅動載點
https://www.zdnet.com/article/ftdi-admits-to-bricking-innocent-users-chips-in-silent-update/
http://www.ftdichip.com/Drivers/CDM/CDM%20v2.12.06%20WHQL%20Certified.zip
https://drive.google.com/open?id=1IJmyh06KBKNnLo0J5S1RjJ2SSid-ZSSD
http://flagsupport.blogspot.com/2015/04/ft232-ftdi.html
下載後解壓,回到裝置管理員,在不明的USB裝置點右鍵,
選擇手動更新驅動程式,並依序手動選擇由磁片指定檔案,









有2個檔案需更新,ftdibus.inf及ftdiport.inf,故上述步驟要重覆2次,
但也有因windows更新不同,只要裝一個檔案的就完成的情形,

更新後會顯示驅動完成且三角嘆號不見了



以上是FT232晶片的驅動,若手上的是CH340晶片,
則參考下網頁說明及驅動載點下載,
https://www.arduined.eu/ch340g-converter-windows-7-driver-download/
http://www.arduined.eu/files/CH341SER.zip
https://drive.google.com/open?id=1Dg-KaLIeWyxn_KSyXmhnUxWYggFAOrr7
下載解壓執行setup,出現以下畫面,點Install後自動安裝,

剩餘IDE部分與UNO相同,在arduino官網選擇適合系統的版本安裝,
https://www.arduino.cc/en/Main/Software
Software-Download-選版本-選擇贊助或只下載Just Download

若為新手建議另參考之前的其他文章
https://ee543.blogspot.com/2016/01/arduino010unoardublock.html
安裝好ArduinoIDE後執行,選擇工具-開發板-nano
依晶片種類選擇,此例為v3.0 ATmega328的2018年之前的舊版本,
並選擇正確的序列阜位,圖↓

完成軟硬體安裝,參考第一個程式Pin13閃燈測試,
https://ee543.blogspot.com/2016/01/arduino110led.html
打開內建範例>Basics>Blink後上傳,
nano的內建燈會開始慢閃,就可開始其他的使用了,圖↓





www.ee543.com



2019年5月22日 星期三

電表AC/DC電流量測

AC/DC電流量測

電流單位安陪A
1A=1000mA

電流的量測需要有負載設備串聯,錯誤使用嚴重會爆炸的,
也就是量測馬達螢幕燈具設備等等的耗電情形,
在無負載情形下可用三用電表量測電池的輸出電流,
其實在三用電表裡有電阻來替代設備,但僅用於DC3V以下小電池,
所以在量測時電池是會一直處在高耗電的狀態下,直到沒電為止,
取三用電表檔位在DC200mA,紅探針在電流mA孔,黑針在Com,
找一個3v電池,紅針觸正極,黑針觸負極即可量測電池的最大輸出電流,
來判定電池是否還有電流輸出,
特別注意~此使用方式僅可在DC3v以下電池使用,
若超過電壓電流輸入正負極電源會直接短路,可能導致電表燒毀,

電壓V量測是並接的方式量測電源器供電情形,
而電流A的量測是供電和負載之間的串接,檢查負載的耗電,
量測超過200mA以上電流,需打檔到10A時,
將紅色探針則需插在10A接孔,若超過10A,則內部的保險絲就會燒斷,
故取電源的單一線,正或負一線串過電表,千萬不要正負都接,嚴重會爆炸的,
圖為試測DC12VLED燈的耗電情形,

數字型電表的反應時間無法量測瞬間電流,
例如要量測馬達啟動瞬間的電流則需要指針式的電表,
DC/AC連接方式一樣是單線的一進一出,
當進出接點錯誤就會使指針反方向轉動,將接點交換即可,
注意若電流超額會燒壞電表,則需另接分流器,

AC或DC的電流量測法是一樣的,但是電表是有區分的,
三用電表一般只能量測DCA,如要量測ACA需要如上圖的電表頭,
或是勾式電表,而勾式電表的使用是量測AC線的單股電流,
不可將火線和地線一起勾測,手邊現在沒勾表,拿別人圖用

現有方便的功率計,可接在插座上量測AC電器的耗電情形,
圖為電風扇的耗電




https://www.ee543.com

2019年4月17日 星期三

雙A學習1903.藍芽UNO車BC6

雙A學習1903.藍芽UNO車BC6

若購買BC6套件,已將程式寫入晶片,可組裝後手機設定使用,
如要修改程式請先學習基礎初級,物聯網已屬高級課程,
Arduino加Android=雙A,
運用安卓設備的藍芽功能來控制UNO車,
UNO輸出電流300mA無法直接轉動馬達,所以要接驅動板,
9v方電池電流不足,故由18650電池*2個約8v左右供應電力,
如多組藍芽同時使用,建議參考各藍牙使用方式修改名稱,
https://ee543.blogspot.com/2020/03/6jdy.html
https://ee543.blogspot.com/2018/04/a180414hc06.html

手機平板APP使用線上的開源程式,
先下載安裝APP,多個連結下載到安卓設備安裝,
在APP商店搜尋Arduino bluetooth controller
或是Arduino Bluetooth RC Car或其他可搭配的APP都行,
https://www.apkmonk.com/app/braulio.calle.bluetoothRCcontroller/
https://play.google.com/store/apps/details?id=com.giumig.apps.bluetoothserialmonitor&hl=en_US
https://drive.google.com/open?id=15T7193VvQp176pvwdWbPw7SCgKfrTbKY
https://www.yqdown.com/shoujiruanjian/shoujigongju/508732.htm

https://drive.google.com/file/d/15HjxZxHFZL6meloID9XIT2I9KkYhPi_f/view?usp=share_link

安裝後不執行APP,先準備小車材料並安裝軟硬體
Arduino主機板,此篇用UNO-CH340
藍芽模塊(4針HC06或6針JDY)
馬達驅動模塊L9110S
馬達*2
線路
18650電池盒2串接

先將空UNO板連接電腦上傳程式,不要接其他模塊,
藍芽模塊通電後會干擾電腦上傳導致寫入失敗,

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

void setup() {
  Serial.begin(9600);   // 電腦鮑率
  BT.begin(9600);  // 藍芽鮑率
  for(int i=3;i<7;i++)  //被控腳3456
  pinMode(i,OUTPUT);
  }

void loop() {
  if (BT.available()) {
    bc = BT.read();
    Serial.print(bc);// 收到藍牙資料顯示在監控視窗
    switch(bc)
    {
      case 'F':
      digitalWrite(3,LOW);
      digitalWrite(4,HIGH);
      digitalWrite(5,LOW);
      digitalWrite(6,HIGH);
      break;
      case 'B':
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
      digitalWrite(5,HIGH);
      digitalWrite(6,LOW);
      break;
      case 'R':
      digitalWrite(3,LOW);
      digitalWrite(4,HIGH);
      digitalWrite(5,HIGH);
      digitalWrite(6,HIGH);
      break;
      case 'L':
      digitalWrite(3,HIGH);
      digitalWrite(4,HIGH);
      digitalWrite(5,LOW);
      digitalWrite(6,HIGH);
      break;
      case 'S':
      digitalWrite(3,HIGH);
      digitalWrite(4,HIGH);
      digitalWrite(5,HIGH);
      digitalWrite(6,HIGH);
      break;
      case 'X':
      digitalWrite(3,LOW);
      digitalWrite(4,HIGH);
      digitalWrite(5,HIGH);
      digitalWrite(6,LOW);
      break;
      case 'Y':
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,HIGH);
      break;
    }
  }
}

若是購買套件已設定好可不需修改藍牙參數,
上傳程式後移除電腦,務必斷電後再接藍芽板,
再接回電腦,打開Arduino的監控視窗待機,
RXD接UNO的P11
TXD接UNO的P10
GND接UNO的GND
Vcc接UNO的5v

打開手機平板的藍芽,並搜尋HC06或JDY初次配對需輸入密碼1234,
再打開先前裝好的APP程式Arduino bluetooth controller,
選擇有上下左右的控制界面,設定前後左右對應為大寫的FBLR,
及XYS,一定要有S才能停止

若是使用Arduino Bluetooth RC Car則內建已是FBLR不需另設,

手機APP設定好後點擊上下左右及各符號,
並查看電腦的監控視窗,看機板是否有收到訊號顯示,

若無反應請移除電腦連線和關閉程式,
全部重新連線再打開監控視窗,並更換接線是否斷路,
或先學習藍牙板的使用操作,
https://ee543.blogspot.com/2020/03/6jdy.html 
發送接收無誤後移除電腦連線,組裝車體及馬達驅動模塊,
DC馬達的正反轉由電源的正負極控制,
接上馬達後手機先測試左右馬達是否向前轉,
若轉向錯誤將3和4互換,或5和6互換,
或是馬達的正負線交換接上,或先學習驅動板的使用方式,


線上有許多的開放APP,可試試功能及使用略有不同,


2024年底發現上述的APP部份功能開始收費,
可一樣在Google Play商店搜尋Arduino bluetoth controller
安裝其他APP使用,或自行編輯APP
下載安裝開啟藍牙連結後選遙控器
再點選設定.由上方程式為FBRL和XYS 注意大小寫不同
可進階自行修改程式加上蜂鳴喇叭或大燈開關等等


https://www.ee543.com
視野決定寬度、知識決定深度、態度決定高度

2019年3月7日 星期四

三用電表量測ACV交流電壓

三用電表量測ACV交流電壓

AC為交流電英文縮寫
V為電壓伏特
~為交流電符號
1v=1000mv

先在電表上找到ACV交流電壓位置,
已知台灣電壓一般室內電壓為AC110v,
故將檔位切在ACV200v量測,
將測試棒紅針接在電壓孔,黑針接COM,

找家裡牆壁插座或延長線,
不分黑針紅針,插入孔內測試,讀數115v~117v,

交流電可將黑針紅針互換插孔測試,一樣讀數,
而直流電正負互換時會變成正負數,
工廠或家裡冷氣插座有220v也360v工業用,
則將檔位切在600v量測即可,

用此功能可簡單的測試牆壁插座是否供電,
來檢查插座或線路是否通電,
被量測的電壓超過電表最大負荷時將會燒壞電表,

www.ee543.com

2019年1月28日 星期一

雙A學習18112.藍芽0~255控制PWM燈強弱

雙A學習18112.藍芽0~255控制PWM燈強弱

Arduino加Android=雙A,
UNO裝上藍芽模塊與手機或平板連線,
此篇用HC05接UNO R3,由Win7及Arduino1.6.6安裝
再透過APP控制UNO,此篇要控制P9腳位LED燈的亮度,
務必將燈接在有PWM~符號的腳位上
並接上一220或330電阻到負腳位,
若要控制電機馬達需再加其他零件,因UNO的輸出電流只300mA,
圖↓


如不了解PWM及藍芽使用,請先學習之前的頁面,
用HC05或HC06都可以,硬體接好連電腦後藍芽板快閃,
開啟UNO IDE程式先上傳空程式確認連線無誤,
由於手機透過藍芽傳輸時會將字元轉換為ASCII碼,
雖然在監控視窗可看到字元或數字,
但對UNO來說只是字碼而非字元,
在ASCII碼裡,"0"字元碼為48,
因此需先將接收的ASCII碼值轉換為整數值0~255,
再傳給LED燈控制亮度


// 手機傳輸0~255控制PWM燈強弱
#include <SoftwareSerial.h> // 引用程式庫
SoftwareSerial BT(10,11); // 對應藍芽TX和RX
String num = "" ;
int i = 0 ;
long val ;

void setup(){
Serial.begin(9600); // 電腦鮑率
BT.begin(38400); // 藍芽鮑率
pinMode( 9 , OUTPUT); // 被控燈腳位需有pwm
}

void loop(){
command();
}

long command(){
 while(BT.available()){
   if(i==0){
    num = "";  
 }
num += BT.read()-48; // 扣除ASCII碼值
i++;
}
 val = num.toInt(); // 字串轉換成整數值
i=0 ;

Serial.println(val);
analogWrite(9,(val));
}

以上UNO軟硬體完成後,安卓手機可自行編寫,
或在APP商城有很多藍芽對Arduino用的程式,
以下使用Arduino bluetooth controller,


下載APP後
有4種功能,及調光調速,也有字串的輸入,
安裝APP後開啟藍芽,搜尋HC05連線輸入密碼後燈慢快閃,
點選數字棒功能來拖拉控制燈的亮度,
打開電腦監控視窗可顯示數值,



www.ee543.com

2019年1月19日 星期六

雙電網太陽能排風扇

雙電網太陽能排風扇

目的要達到有太陽時由太陽能發電給風扇運轉,
沒太陽時由室電供應電力,

選用的風扇為12公分電腦用排風扇,電壓DC12V約0.27A,
太陽能板為10W,標示18v,測試時空載21V,
2者電壓不同且太陽忽大忽小,要再接降壓器,
將太陽板降為穩定的DC12.5V(略大於設備耗電),

太陽能板-降壓模塊-風扇,接好線路即可使用,
風扇3.6w,太陽板15w,可驅動2個風扇,
焊接時注意高溫時間勿過長,以免燒換電路板,

 太陽發雖取之不盡,但穩定性不足,並非天天都有足夠日照,
因此在太陽能不足時搭配一般室內電源,
電路上可搭配繼電器PLC或微晶片等來控制切換,
此處配合輸入電壓選用DC12V線圈驅動的8腳繼電器,

當無驅動電力時腳位9+1和12+4為NC,
而驅動線圈通電時9+1和12+4為斷路,換成9+5和12+8為通路,
9和12為固定點接到風扇,
1和4為一組接一電力,5和8為一組接另一電力,
驅動線圈和風扇使用同一電力來源,故接短路,
接線時注意正負極,先用電池12v帶替太陽板,
另一端準備一AC110v轉DC12v1A電源器,接線測試,

準備其他材料,繼電器底座+接線台+DC母線+接線+底板
先在板上畫上大約位置並鑽孔,

螺絲固定接線台座線後開始配線,

完成後接上雙電力及風扇測試,沒問題就可上陣了,
因為安裝的地方是在天花板裡,而太陽板在屋頂,
所以就不上照片了,

台灣目前2019年電力來源約7成為火力發電,
來源包括燃煤.天然氣.石油,但這些都是進口能源,
燒煤甚至影響空氣品質,已慢慢改成天然氣,
約2成為核能發電,其餘為水力及綠能等等,
太陽能由於費用比火力和核能高,故推動不易,
而太陽能板和電池也是有壽命的,報廢後也是高污染的化學品,
要達到全綠能發電還有一段路...

www.ee543.com