最近在公司發現的鏡頭小模組
解析度 640*480 (30萬像素)
暫時還不知道怎麼玩它,等爬文之後再來寫其他的。
參考資料:
OV7670 Datasheet
http://www.voti.nl/docs/OV7670.pdf
2016年5月8日 星期日
2016年5月6日 星期五
[玩具]D-link DCS-930L
最近有個需求,要遠端看到我用IOT Board執行情況,
所以選擇了一台Wi-Fi IP-CAM ,選擇它只有一個理由,cheaper。
順發賣899大洋,其他的兄弟都破千,就是它了。
這台機器有二種上網方式:
(1)直接用RJ45 插在AP後面。( 最簡單沒有煩惱,只是多了一條線位置就不好喬)
(2)透過Wi-Fi。(就是為了無線才買它丫,不然我買有線就好)
如果你家沒有D牌支援雲路由的AP,那就會麻煩一點。(小弟就是用T牌AP)。
別問我為什麼不一開始就用APP 搜尋,因為真的一直搜不到。
(1)拿出附贈的網路線,把CAM跟AP後面的LAN弓連接。(隨便插一孔,別插到WAN)
(2) 連進你的AP,查一下DHCP列表,找到DCS-906LB 的IP是192.168.0.100
(3)打開瀏覽器,打上剛才找出來的IP,使用者名稱輸入 admin ,密碼不用打,按登入
(4)先來改語言
(5)功能的部份,要選ActiveX 或是 Java。看一下,下圖的說明
很可惜的,Chrome二個都不支援,ActiveX 基本上就是只有IE可以用。
Java像是Firefox,Safari之類的可以支援,用Mac的話你就只有Java可以選擇,
不過別擔心,你還有APP。
(6)點選網際網路連線設定精靈
(7)下一步
(8)如果你是插在AP後面,選DHCP,如果想要鎖IP,可以在AP中設定即可。
如果你之後是要插在ADSL後面,選一下PPPoE並輸入ADSL帳密。
如果你不是用DHCP,那DNS可以設定成168.95.1.1 以及 8.8.8.8。
(9)動態DNS帳戶是指如果是浮動IP,可以透過像No-IP這樣的服務,取得一組Domain
Name,DDNS會自動幫你對應至浮動IP。
(10)修改攝影機的名稱,你可以改成room Cam 或是 door Cam這類比較好記的名字。
(11)設定一下時區
(12)最後做一個套用的動作。
(13)畢竟我最後還是要用無線的Cam,所以來改一下無線網路設定。
點下"站台搜尋"
(14)掃到我家的AP,然候按下"選擇"
(15)會自動代入我家AP的設定,最後記得在共享密碼的地方,打上家裡AP的密碼。
(16)接下來拔掉網路線,然候稍等一下,Cam就變成無線上網了。
(IP可能會改變,再次確認一下,然候再重新登入Cam設定頁)
(17)修改Cam的解析度為640*480
(19)新增完後就會在下面出現了
(20)我在Mac無論使用Safari或是Firefox都無法正常觀看即時影像(Java 己更新到最新版)
近端指的是透過Wi-FI觀看(只有在家裡看的到)
遠端指的是透過D-Link的雲服務(在那都可以看,需另外註冊帳號)
透過Wi-Fi在傳輸其實沒什麼感覺到Delay。
這台的編碼方式是JEPG,並不是M-JEPG,所以你如果要用程式去讀必須
要不斷的重新取得,因為JPEG是靜態的,而不是影片。
2015年7月21日 星期二
2015年7月13日 星期一
[玩具]顏色傳感器(Color sensor)
1、TCS3200 識別顏色的原理:
TCS3200 識這種可編程的彩色光到頻率轉換器適合於色度計測量應用領域,如彩色打印、醫 療診斷、計算機彩色監視器校準以及油漆、紡織品、化妝品和印刷材料的過程控制和色彩配合。 本文以 TCS3200 識在液體顏色識別中的應用為例,介紹它的具體使用。
2、 三原色的感應原理
通常所看到的物體的顏色,實際上是物體表面吸收了照射到它上面的白光(日光)中的一 部分有色成分,而反射出的另一部分有色光在人眼中的反應。白色是由各種頻率的可見光混 合在一起構成的,也就是說白光中包含著各種顏色的色光(如紅 R、黃 Y、綠 G、青 V、藍 B、紫 P)。根據德國物理學家赫姆霍茲(Helinholtz)的三原色理論可知,各種顏色是由不同比例的三 原色(紅、綠、藍)混合而成的。
3、 TCS3200 識識別顏色的原理
通常所看到的物體的顏色,實際上是物體表面吸收了照射到它上面的白光(日光)中的一 部分有色成分,而反射出的另一部分有色光在人眼中的反應。白色是由各種頻率的可見光混 合在一起構成的,也就是說白光中包含著各種顏色的色光(如紅 R、黃 Y、綠 G、青 V、藍 B、紫 P)。根據德國物理學家赫姆霍茲(Helinholtz)的三原色理論可知,各種顏色是由不同比例的三 原色(紅、綠、藍)混合而成的。
3、 TCS3200 識識別顏色的原理
由上面的三原色感應原理可知,如果知道構成各種顏色的三原色的值,就能夠知道所測試物體的顏色。對於 TCS3200 識來說,當選定一個顏色濾波器時,它只允許某種特定的原 色通過,阻止其它原色的通過。例如:當選擇紅色濾波器時,入射光中只有紅色可以通過, 藍色和綠色都被阻止,這樣就可以得到紅色光的光強;同理,選擇其它的濾波器,就可以 得到藍色光和綠色光的光強。通過這三個值,就可以分析投射到 TCS3200 識傳感器上的光 的顏色。
4、白平衡和顏色識別原理
4、白平衡和顏色識別原理
白平衡就是告訴系統什麽是白色。從理論上講,白色是由等量的紅色、綠色和藍色混合而成的;但實際上,白色中的三原色並不完全相等,並且對於 TCS3200 識的光傳感器來說, 它對這三種基本色的敏感性是不相同的,導致 TCS3200 識的 RGB 輸出並不相等,因此在 測試前必須進行白平衡調整,使得 TCS3200 識對所檢測的“白色”中的三原色是相等的。進 行白平衡調整是為後續的顏色識別作準備。在本裝置中,白平衡調整的具體步驟和方法如下: 將空的試管放置在傳感器的上方,試管的上方放置一個白色的光源,使入射光能夠穿過試 管照射到 TC3200 識;根據前面所介紹的方法,依次選通紅色、綠色和藍色濾波器,分別測 得紅色、綠色和藍色的值,然後就可計算出需要的三個調整參數。
當用 TCS3200 識識別顏色時,就用這三個參數對所測顏色的 R 、G 和 B 進行調整。這里有兩 種方法來計算調整參數:1依次選通三種顏色的濾波器,然後對 TCS3200識的輸出脈沖依 次進行計數。當計數到 255 時停止計數,分別計算每個通道所用的時間。這些時間對應於實 際測試時 TCS3200 識每種濾波器所采用的時間基準,在這段時間內所測得的脈沖數就是所 對應的 R 、G 和 B 的值。2設置定時器為一固定時間(例如 10ms ),然後選通三種顏色的濾波 器,計算這段時間內 TCS3200識的輸出脈沖數,計算出一個比例因子,通過這個比例因子 可以把這些脈沖數變為 255。在實際測試時,使用同樣的時間進行計數,把測得的脈沖數再 乘以求得的比例因子,然後就可以得到所對應的 R 、G 和 B 的值
資料來源:
http://www.ltc.com.tw/images/mtardtcs3200.rar
當用 TCS3200 識識別顏色時,就用這三個參數對所測顏色的 R 、G 和 B 進行調整。這里有兩 種方法來計算調整參數:1依次選通三種顏色的濾波器,然後對 TCS3200識的輸出脈沖依 次進行計數。當計數到 255 時停止計數,分別計算每個通道所用的時間。這些時間對應於實 際測試時 TCS3200 識每種濾波器所采用的時間基準,在這段時間內所測得的脈沖數就是所 對應的 R 、G 和 B 的值。2設置定時器為一固定時間(例如 10ms ),然後選通三種顏色的濾波 器,計算這段時間內 TCS3200識的輸出脈沖數,計算出一個比例因子,通過這個比例因子 可以把這些脈沖數變為 255。在實際測試時,使用同樣的時間進行計數,把測得的脈沖數再 乘以求得的比例因子,然後就可以得到所對應的 R 、G 和 B 的值
資料來源:
http://www.ltc.com.tw/images/mtardtcs3200.rar
2015年7月11日 星期六
「arduino」三色LED模組
3個顏色的LED模組
V是VCC,R是紅色,B是藍色,G是綠色。
參考這塊模組的電路圖,內部己有限流電阻了
圖片來源:
https://docs.google.com/file/d/0ByLk3af9VgyyM0V4TG5jaElJaWc/edit
注意一下,這顆LED是共陽極的,也就是你的PWM輸出必須是0才會全亮,
255則是閉關的,下方的程式碼是關閉所有燈。
你可以選擇單色亮起,亦可以透過PWM來控制頻色的值。
我們先透過arduino 來控制3個顏色做呼吸燈
V接在5V,R接11 ,B接10,G接9
程式碼
最後是成果
V是VCC,R是紅色,B是藍色,G是綠色。
參考這塊模組的電路圖,內部己有限流電阻了
圖片來源:
https://docs.google.com/file/d/0ByLk3af9VgyyM0V4TG5jaElJaWc/edit
注意一下,這顆LED是共陽極的,也就是你的PWM輸出必須是0才會全亮,
255則是閉關的,下方的程式碼是關閉所有燈。
//off
analogWrite(LEDR,255);
analogWrite(LEDB,255);
analogWrite(LEDG,255); 你可以選擇單色亮起,亦可以透過PWM來控制頻色的值。
我們先透過arduino 來控制3個顏色做呼吸燈
V接在5V,R接11 ,B接10,G接9
程式碼
int redpin = 11; //select the pin for the red LED
int bluepin =10; // select the pin for the blue LED
int greenpin =9;// select the pin for the green LED
int val;
void setup() {
pinMode(redpin, OUTPUT);
pinMode(bluepin, OUTPUT);
pinMode(greenpin, OUTPUT);
off();
}
void loop()
{
//off all led
//off();
ledbreathe(redpin);
ledbreathe(greenpin);
ledbreathe(bluepin);
}
void off()
{
analogWrite(redpin,255);
analogWrite(bluepin,255);
analogWrite(greenpin,255); //off
}
void ledbreathe(int led)
{
for(val=255; val>=0; val-=5)
{
analogWrite(led, val);
delay(30);
}
//hold on 30ms
delay(30);
for(val=255; val>0; val-=5)
{
analogWrite(led, 255-val);
delay(30);
}
}
最後是成果
2015年7月3日 星期五
「玩具」溫溼度傳感器
先來看一下照片
S 接A0
中間接+5V
- 接GND
接線照劃如下(小弟只買一包線,只有藍色的,不要打我)
執行結果如下:
溼度大致上在38~39% 左右,溫度在25~27之開飄移,我們來看一下,在39元店買的
室溫約29度,溼度也差不多接近40% ,OK啦,開了冷氣都還快30度(省一下電~誤)
最後附上官方的範例程式碼
S 接A0
中間接+5V
- 接GND
接線照劃如下(小弟只買一包線,只有藍色的,不要打我)
執行結果如下:
溼度大致上在38~39% 左右,溫度在25~27之開飄移,我們來看一下,在39元店買的
室溫約29度,溼度也差不多接近40% ,OK啦,開了冷氣都還快30度(省一下電~誤)
最後附上官方的範例程式碼
#define dht_dpin A0
byte bGlobalErr;
byte dht_dat[5];
void setup(){
InitDHT();
Serial.begin(9600);
delay(300);
Serial.println("Humidity and temperature\n\n");
delay(700);
}
void loop(){
ReadDHT();
switch (bGlobalErr){
case 0:
Serial.print("Current humdity = ");
Serial.print(dht_dat[0], DEC);
Serial.print(".");
Serial.print(dht_dat[1], DEC);
Serial.print("% ");
Serial.print("temperature = ");
Serial.print(dht_dat[2], DEC);
Serial.print(".");
Serial.print(dht_dat[3], DEC);
Serial.println("C ");
break;
case 1:
Serial.println("Error 1: DHT start condition 1 not met.");
break;
case 2:
Serial.println("Error 2: DHT start condition 2 not met.");
break;
case 3:
Serial.println("Error 3: DHT checksum error.");
break;
default:
Serial.println("Error: Unrecognized code encountered.");
break;
}
delay(800);
}
void InitDHT(){
pinMode(dht_dpin,OUTPUT);
digitalWrite(dht_dpin,HIGH);
}
void ReadDHT(){
bGlobalErr=0;
byte dht_in;
byte i;
digitalWrite(dht_dpin,LOW);
delay(20);
digitalWrite(dht_dpin,HIGH);
delayMicroseconds(40);
pinMode(dht_dpin,INPUT);
//delayMicroseconds(40);
dht_in=digitalRead(dht_dpin);
if(dht_in){
bGlobalErr=1;
return;
}
delayMicroseconds(80);
dht_in=digitalRead(dht_dpin);
if(!dht_in){
bGlobalErr=2;
return;
}
delayMicroseconds(80);
for (i=0; i<5; i++)
dht_dat[i] = read_dht_dat();
pinMode(dht_dpin,OUTPUT);
digitalWrite(dht_dpin,HIGH);
byte dht_check_sum =
dht_dat[0]+dht_dat[1]+dht_dat[2]+dht_dat[3];
if(dht_dat[4]!= dht_check_sum)
{bGlobalErr=3;}
};
byte read_dht_dat(){
byte i = 0;
byte result=0;
for(i=0; i< 8; i++){
while(digitalRead(dht_dpin)==LOW);
delayMicroseconds(30);
if (digitalRead(dht_dpin)==HIGH)
result |=(1<<(7-i));
while (digitalRead(dht_dpin)==HIGH);
}
return result;
}
2015年7月1日 星期三
[玩具]D-Link DWA-121
幫pi 2買了一支USB無線網卡,參考網路上資料,
確定這一支D-Link DWA-121是可以支援,本來想買跟pi 1一樣的
Edimax EW-7811Un ,但是找不到了,退而求其次選擇一支可正常支援的。
來看一下照片
和 Edimax EW-7811Un 合照
來一張運作中的模樣(右上的USB,底下是藍芽,參考這一篇)
確定這一支D-Link DWA-121是可以支援,本來想買跟pi 1一樣的
Edimax EW-7811Un ,但是找不到了,退而求其次選擇一支可正常支援的。
來看一下照片
和 Edimax EW-7811Un 合照
來一張運作中的模樣(右上的USB,底下是藍芽,參考這一篇)
2015年6月20日 星期六
2015年6月11日 星期四
2015年5月30日 星期六
[玩具]USB電壓、電流檢測表
今天和嘛吉去電腦街時,嘛吉覺得這玩意兒俺一定有興趣,賓果~俺敗下去了,
特價99,買來試一下也不錯。
看標示可以支援3.5V ~ 7.0V 的電壓,用來USB上應相當足夠。
電流則是1~3A,一般的USB充電是1A ,平板的充電插頭有些是2A。
一般USB 2.0 的供電約在0.5A左右。
觀察了一下發現,其實大致上充電器以及小米行動電源都能輸出5~5.1V
的電壓,但電流則是視裝置的不同,並不是插頭餵多少,裝置就吃多少,
同一顆插頭,同一條線,接平板吃400多mA ,接手機吃600多mA。
換到小米行動電源上亦同。
它不需要任何操作,通電後每隔幾秒會輪流切換電壓及電流。
特價99,買來試一下也不錯。
看標示可以支援3.5V ~ 7.0V 的電壓,用來USB上應相當足夠。
電流則是1~3A,一般的USB充電是1A ,平板的充電插頭有些是2A。
一般USB 2.0 的供電約在0.5A左右。
觀察了一下發現,其實大致上充電器以及小米行動電源都能輸出5~5.1V
的電壓,但電流則是視裝置的不同,並不是插頭餵多少,裝置就吃多少,
同一顆插頭,同一條線,接平板吃400多mA ,接手機吃600多mA。
換到小米行動電源上亦同。
它不需要任何操作,通電後每隔幾秒會輪流切換電壓及電流。
訂閱:
文章 (Atom)



















































