電路連接
由于數(shù)碼管品種多樣,還有共陰共陽(yáng)的,下面我們使用一個(gè)數(shù)碼管段碼生成器(在文章結(jié)尾) 去解決不同數(shù)碼管的問題:
本例作者利用手頭現(xiàn)有的一位不知品牌的共陽(yáng)數(shù)碼管:型號(hào)D5611 A/B,在Eagle 找了一個(gè) 類似的型號(hào)SA56-11,引腳功能一樣可以直接代換。所以下面電路圖使用SA56-11 做引腳說明。
注意:
1. 將數(shù)碼管的a~g 段,分別接到Arduino 的D0~D6 上面。如果你手上的數(shù)碼管未知的話,可以通過通電測(cè)量它哪個(gè)引腳對(duì)應(yīng)哪個(gè)字段,然后找出a~g 即可。
2. 分清共陰還是共陽(yáng)。共陰的話,接220Ω電阻到電源負(fù)極;共陽(yáng)的話,接220Ω電阻到電源+5v。
3. 220Ω電阻視數(shù)碼管實(shí)際工作亮度與手頭現(xiàn)有原件而定,不一定需要準(zhǔn)確。
4. 按下按鈕即停。
源代碼
由于我是按照段碼生成器默認(rèn)接法接的,所以不用修改段碼生成器了,直接在段碼生成器選擇共陽(yáng)極,再按“自動(dòng)”生成數(shù)組就搞定。
下面是源代碼,由于偷懶不用寫循環(huán),使用了部分AVR 語(yǔ)句。
PORTD 這個(gè)是AVR 的端口輸出控制語(yǔ)句,8 位對(duì)應(yīng)D7~D0,PORTD=00001001 就是D3 和D0 是高電平。
PORTD = a;就是找出相應(yīng)的段碼輸出到D7~D0。
DDRD 這個(gè)是AVR 語(yǔ)句中控制引腳作為輸出/輸入的語(yǔ)句。DDRD = 0xFF;就是D0~D7 全部
作為輸出腳了。
ARDUINO CODECOPY
/*
Arduino 單數(shù)碼管骰子
Ansifa 2011-12-28
*/
//定義段碼表,表中十個(gè)元素由LED 段碼生成器生成,選擇了共陽(yáng)極。
inta[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
voidsetup()
{
DDRD = 0xFF; //AVR 定義PortD 的低七位全部用作輸出使用。即0xFF=B11111111對(duì)
應(yīng)D7~D0
pinMode(12, INPUT); //D12用來(lái)做骰子暫停的開關(guān)
}
voidloop()
{
for(int i = 0; i < 10; i++)
{
//將段碼輸出PortD 的低7位,即Arduino 的引腳D0~D6,這樣需要取出PORTD 最高位,即
D7的狀態(tài),與段碼相加,之后再輸出。
PORTD = a[i];
delay(50); //延時(shí)50ms
while(digitalRead(12)) {} //如果D12引腳高電平,則在此死循環(huán),暫停LED 跑
動(dòng)
}
}
標(biāo)簽:
Arduino
10
數(shù)碼管
實(shí)驗(yàn)
上傳時(shí)間:
2013-10-15
上傳用戶:baitouyu
提出了一種改進(jìn)的LSM-ALSM子空間模式識(shí)別方法,將LSM的旋轉(zhuǎn)策略引入ALSM,使子空間之間互不關(guān)聯(lián)的情況得到改善,提高了ALSM對(duì)相似樣本的區(qū)分能力。討論中以性能函數(shù)代替經(jīng)驗(yàn)函數(shù)來(lái)確定拒識(shí)規(guī)則的參數(shù),實(shí)現(xiàn)了識(shí)別率、誤識(shí)率與拒識(shí)率之間的最佳平衡;通過對(duì)有限字符集的實(shí)驗(yàn)結(jié)果表明,LSM-ALSM算法有效地改善了分類器的識(shí)別率和可靠性。關(guān) 鍵 詞 學(xué)習(xí)子空間; 性能函數(shù); 散布矩陣; 最小描述長(zhǎng)度在子空間模式識(shí)別方法中,一個(gè)線性子空間代表一個(gè)模式類別,該子空間由反映類別本質(zhì)的一組特征矢量張成,分類器根據(jù)輸入樣本在各子空間上的投影長(zhǎng)度將其歸為相應(yīng)的類別。典型的子空間算法有以下三種[1, 2]:CLAFIC(Class-feature Information Compression)算法以相關(guān)矩陣的部分特征向量來(lái)構(gòu)造子空間,實(shí)現(xiàn)了特征信息的壓縮,但對(duì)樣本的利用為一次性,不能根據(jù)分類結(jié)果進(jìn)行調(diào)整和學(xué)習(xí),對(duì)樣本信息的利用不充分;學(xué)習(xí)子空間方法(Leaning Subspace Method, LSM)通過旋轉(zhuǎn)子空間來(lái)拉大樣本所屬類別與最近鄰類別的距離,以此提高分類能力,但對(duì)樣本的訓(xùn)練順序敏感,同一樣本訓(xùn)練的順序不同對(duì)子空間構(gòu)造的影響就不同;平均學(xué)習(xí)子空間算法(Averaged Learning Subspace Method, ALSM)是在迭代訓(xùn)練過程中,用錯(cuò)誤分類的樣本去調(diào)整散布矩陣,訓(xùn)練結(jié)果與樣本輸入順序無(wú)關(guān),所有樣本平均參與訓(xùn)練,其不足之處是各模式的子空間之間相互獨(dú)立。針對(duì)以上問題,本文提出一種改進(jìn)的子空間模式識(shí)別方法。子空間模式識(shí)別的基本原理1.1 子空間的分類規(guī)則子空間模式識(shí)別方法的每一類別由一個(gè)子空間表示,子空間分類器的基本分類規(guī)則是按矢量在各子空間上的投影長(zhǎng)度大小,將樣本歸類到最大長(zhǎng)度所對(duì)應(yīng)的類別,在類x()iω的子空間上投影長(zhǎng)度的平方為()211,2,,()argmax()jMTkkjpg===Σx (1)式中 函數(shù)稱為分類函數(shù);為子空間基矢量。兩類的分類情況如圖1所示。
標(biāo)簽:
子空間
模式
識(shí)別方法
上傳時(shí)間:
2013-12-25
上傳用戶:熊少鋒