《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 業界動態 > MSP430 電容觸摸轉輪和LED PWM 輸出設計

MSP430 電容觸摸轉輪和LED PWM 輸出設計

2015-01-26

摘要 

本應用文檔介紹了使用MSP430 微控制器實現電容觸摸轉輪和多路獨立LED 的PWM 軟件驅動技術。方案通過4 路I/O 端口實現電容觸摸轉輪控制, I/O 端口配合三極管 驅動LED, 實現LED 呼吸、軌跡燈等效果。本方案為需要電容觸摸轉輪控制和 LED 跟蹤顯示等絢麗燈效的產品提供了有效的低成本方案。 

簡介 

電容觸摸技術作為一種實用、時尚的人機交互方式,已經被廣泛的應用到各種電子產品, 小到電燈開關,大到平板電腦、觸摸桌等。隨之而來的是考驗產品設計者如何發揮智慧, 在把產品用戶界面設計得方便簡潔的同時,又能呈現產品絢麗的外觀,從而帶來良好的用戶體驗。 

LED 顯示由于界面友好,可以實時反映觸摸的位置信息,在電容觸摸產品設計中得到廣泛應用。 本設計正是利用了大量的LED 來實現呼吸燈、軌跡燈的特效,可以為例如燈光、音量、溫度等帶有調節功能的產品提供設計參考。 

德州儀器的MSP430 系列單片機以低功耗和外設模塊的豐富性而著稱, 而針對電容觸摸應用,MSP430 的PIN RO 電容觸摸檢測方式支持IO 口直接連接檢測電極,不需要任何外圍器件,極大的簡化了電路設計,而本設計文檔中使用的MSP430G2XX5 更支持多達 32 個IO 口,可驅動24 個以上的LED 燈 ,達到理想的顯示效果。 

1.  電容觸摸轉輪實現方案 

MSP430 電容觸摸轉輪方案通過4 個IO 口完成4 個通道的電容檢測,配合特殊的電極圖形,就可實現轉輪的設計。 

1.1 電容觸摸實現原理 

MSP430 根據型號的不同支持多種電容觸摸檢測方式,有RC 震蕩、比較器、PIN RO, 本設計使用的是PIN Relaxation Oscillator 方式,原理如圖1,芯片管腳內部檢測電路由施密特觸發器、反向器,以及一個電阻組成,震蕩信號經過施密特觸發器變成脈沖信號,再通過反向器反饋回RC 電路,通過Timer_A 對施密特觸發器的輸出進行記數,再通過設置測量窗口Gate 獲得記數的結果。當手指觸摸電極,電極上的C 產生變化,導致震蕩頻率改變,這樣在定長的測量窗口就能獲得不同的記數結果,一旦差值超過門限,結合一定的濾波算法判斷就可以觸發觸摸事件。 

                       圖 1   PIN RO  原理圖 

1.2 轉輪算法 

將4 個按鍵電極按照圖2 鋸齒狀交叉就形成了一個轉輪的電極,轉輪的大小根據產品設計的需要可進行適當的縮放,圖 2 的圖形設計適合30mm 左右直徑的轉輪。 

                                                         圖 2  轉輪電極設計 

當用戶在轉輪上操作的時候,在手指對應位置的電極會獲得最高的信號值,手指臨近的通道會有相對高的信號值,離手指最遠的通道檢測到的信號值最小,如 圖 3 所示: 

                                              圖 3 手指觸摸時不同電極上測量到的信號值 

這時可以利用不同通道上信號值的不同計算出手指在轉輪或滑條上的位置。位置計算步驟如下: 

a. 用排序方法找出4 個電極中信號最大的電極 

    index = Dominant_Element(groupOfElements, &measCnt[0]); 

b. 將找到的這個電極的信號加上相鄰電極的信號 

    position = measCnt[index] + measCnt[index+1] + measCnt[index-1];      

相加后的結果如果大于門限,就認為有觸摸事件產生,繼續后續的位置計算。 把前后信號相加的原因是手指在操作的過程中有可能處于兩個電極中間,這樣兩個電極上得到的信號都不會很高,需要把信號相加才可以與門限做比較。 

c.   計算位置坐標時先根據篩選出的index 值得到一個大約的位置,再根據index 的相鄰電極信號強度進行修正,得到最后的坐標值 

position = index*(groupOfElements->points/groupOfElements->numElements); 

position += (groupOfElements->points/groupOfElements->numElements)/2; 

position += (measCnt[index+1]*(groupOfElements->points/groupOfElements->numElements))/100; 

position -= (measCnt[index-1]*(groupOfElements->points/groupOfElements->numElements))/100; 

d. 針對index 為0 或者3 的情況代碼需要另外處理,不過計算方法和上述是一致的。  

這里轉輪的分辨率,即轉輪一圈分為多少個段是根據points 設定的,假設用戶只需要區分24 個位置,就可以設points 為24, 當然也可以設為64,128,甚至更高,這取決于轉輪的大小,電極圖形的設計以及電極的多少,例如需要類似1024 這種高精度,需要增加電極數從4 個到8 個或者更多。 

2.  LED PWM 驅動方案實現 

要實現LED 呼吸的效果,就要求LED 進行PWM 調光,而要實現軌跡燈的效果,每一路LED必須是獨立的PWM 控制。 

本應用由于使用了24 個LED 燈, 需要24 路的PWM 輸出控制,MSP430G2955 有32 個IO口,通過IO 口配合TIMER 定時器,足夠支持24 路的軟件PWM 輸出。 

3.  設計實例 

本實例采用德州儀器MSP430G2955 , 通過6 個IO 完成電容觸摸檢測,24 個IO 驅動24路LED,并預留了通訊口。 設計實例如圖 4 

                                        圖 4  實例演示圖 

3.1 電路設計 

原理圖設計如圖 4, MCU 通過一個5V 轉3.3V 的LDO 給VCC 供電, 使用LDO 的目的是為了保證電源的穩定,讓觸摸電路在檢測信號時不會因為電源的噪聲產生過大的信號偏差。電極上串的電阻作為ESD 保護器件,如果在產品結構設計合理的情況下可以省去。 電路中預留了UART 口與主控系統通訊。 

                        圖 5  MCU 電路 

LED 驅動部分電路如圖 5, 由于每一個LED 的電流在10mA 左右,24 個LED 如果同時亮就有240mA,無法通過MCU IO 口直接驅動, 在每個LED 上加一個三極管以及限流電阻,實現24路LED 的控制。 

                          圖 6  LED 驅動電路 

3.2 代碼設計 

3.2.1 LED 驅動 

在編寫代碼控制LED 點亮時序前,先定義好PWM 輸出相關的規格: 

•  PWM 輸出占空比設置為50%。 

•  頻率為5K Hz, 亮度的等級分為24 級,0 級的時候關閉LED, 23 的時候最亮。 

• 使用2 個TIMER 進行PWM 輸出的控制 

•  TIMERA0 中斷頻率為24 X 5K Hz = 120K Hz.  

• TIMERB 中斷間隔設為10ms, 在TIMERB 中進行LED 亮度等級的改變 

通過兩個TIMER 的中斷配合,就可以完成24 路獨立PWM 輸出的控制。當有觸摸事件產生時,根據觸摸位置對對應的LED 進行亮度等級賦值, 然后在TIMERB 的中斷中讓亮度等級慢慢減少至零,這樣就可以實現手指離開電極后,對應LED 慢慢變暗的效果。 

在兩個TIMER 中斷里的程序流程圖如下圖 7 和圖 8 

                          圖 7  TIMERB 流程圖 

                             圖 8  TIMERA0 流程圖 

3.2.2 轉輪 

德州儀器的電容觸摸軟件庫支持電容按鍵的信號檢測以及轉輪坐標的計算,通過軟件庫相關參數的配置以及函數的調用就可以得到當前觸摸事件的位置值,可以參考德州儀器的觸摸按鍵軟件庫(www.ti.com/capacitivetouch)獲得詳細介紹。 

當用戶在轉輪上做滑動操作,LED 的軌跡顯示應該是N 個燈同時被點亮,手指所在位置的燈最亮,之前滑過的軌跡上的燈一個比一個暗,N 的數值由操作者滑動的速度決定,如果滑的速度夠快,24 個LED 燈會同時被點亮,只是亮度不同。 

在滑動很快的操作時會帶來一個問題,電容按鍵掃描的周期跟不上滑動的速度,導致坐標的變化不是連續的,結果就是LED 的軌跡不連貫,在連續的N 個LED 中有部分沒有被點亮。為了解決這個問題需要在轉輪坐標計算后加入一個插值算法,在用戶操作過快的時候對被漏掉的坐標進行補值,使得LED 的軌跡連續。

插值的方法可以通過當前位置和上一次位置的比較,決定是否要進行插值, 這里需要設置一個插值門限InterpolationThreshold,當位置跳動距離超過門限就不進行插值,反正誤操作產生。 

      if((WheelPosition-LastPosition)< InterpolationThreshold) 

                    { 

                       for (j=1;j<=(WheelPosition-LastPosition+1);j++) 

                       { 

                              SetLightLevel(LastPosition+j); 

                  } 

         } 

除此之外,還需要對兩個特殊情況做處理,及正向和反向滑動操作經過轉輪坐標0 點。 

4.  總結 

本文介紹了使用MSP430G 系列單芯片實現電容觸摸轉輪和24 路獨立PWM 輸出LED 控制方案,在一些需要低成本的產品設計,又要對多種LED 特效控制的場合,有很大的使用價值。 

參考文檔 

1. MSP430x2xx Family User’s Guide (SLAU144H) 

2. MSP430_SLAS800_G2x55 

3. Capacitive Touch Software Library Programmer's Guide (Rev. A) (slaa490a) 

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美一级夜夜爽| 午夜精品婷婷| 在线一区二区视频| 久久亚洲私人国产精品va媚药| 欧美日韩一区二区免费视频| 欧美在线免费视频| 伊人久久av导航| 校园春色国产精品| 国产日韩欧美在线| 国产主播精品在线| 夜夜爽夜夜爽精品视频| 在线欧美小视频| 亚洲国产精品一区二区尤物区| 一区二区三区免费网站| 91久久线看在观草草青青| 久久五月婷婷丁香社区| 午夜精品一区二区三区在线视| 欧美极品aⅴ影院| 亚洲免费一区二区| 欧美日韩一区二区在线| 久久噜噜噜精品国产亚洲综合| 久久激情一区| 欧美精选午夜久久久乱码6080| 亚洲精品一区在线观看香蕉| 久久久亚洲高清| 国产一区二区三区丝袜| 欧美一级视频一区二区| 久久精品国产91精品亚洲| 亚洲欧美电影在线观看| 国产日韩在线一区| 亚洲一级黄色片| av成人激情| 亚洲精品一二| 亚洲欧美日韩精品| 美女黄毛**国产精品啪啪| 国产精品久久久久久久久久尿| 亚洲神马久久| 国内外成人在线| 亚洲激情电影在线| 国产精品亚洲综合久久| 在线欧美电影| 午夜一区在线| 久久人人爽人人| 91久久国产综合久久蜜月精品| 亚洲国产欧美一区| 欧美经典一区二区| 国产欧美三级| 欧美在线播放一区二区| 欧美日韩精品三区| 欧美一区午夜精品| 久久精品网址| 国产亚洲人成a一在线v站| 欧美伊久线香蕉线新在线| 欧美精品免费观看二区| 亚洲精品午夜| 欧美mv日韩mv亚洲| 亚洲夜晚福利在线观看| 国产精品theporn| 欧美日韩免费观看一区三区| 亚洲国产一区二区a毛片| 欧美日韩亚洲综合一区| 欧美一区二区成人6969| 欧美午夜精品久久久久久人妖| 国产精品视频一| 国产精品天天摸av网| 在线观看日韩av电影| 一区二区高清视频在线观看| 一区二区三区在线高清| 久久精品30| 亚洲美女电影在线| 久久九九久精品国产免费直播| 欧美特黄a级高清免费大片a级| 欧美一区免费视频| 欧美日产国产成人免费图片| 一本在线高清不卡dvd| 一区二区三区精密机械公司| 在线观看亚洲精品| 欧美三区免费完整视频在线观看| 久久久最新网址| 国产精品久久久久9999| 亚洲激情视频在线播放| 亚洲日本一区二区| 欧美午夜无遮挡| 欧美一区二区三区在线播放| 久久精品日韩| 国产性猛交xxxx免费看久久| 在线一区二区三区四区五区| 久久综合福利| 国产精品一区二区黑丝| 欧美国产精品v| 国产精品久久久一区二区三区| 久久综合精品国产一区二区三区| 欧美日韩国产二区| 欧美一区二区在线播放| 午夜精品亚洲一区二区三区嫩草| 欧美精品一区二区在线观看| 欧美色综合天天久久综合精品| 欧美精品粉嫩高潮一区二区| 午夜精品亚洲一区二区三区嫩草| 欧美日韩中文精品| 国产三区二区一区久久| 亚洲欧洲日夜超级视频| 国外精品视频| 国产亚洲精品久久久久久| 欧美午夜电影在线| 国产亚洲欧美中文| 日韩午夜中文字幕| 国产美女一区二区| 国产伦精品免费视频| 欧美成人高清视频| 欧美中文字幕久久| 亚洲欧美在线另类| 欧美久久99| 国产亚洲午夜高清国产拍精品| 欧美大片免费观看在线观看网站推荐| 久久精品国产在热久久| 午夜久久电影网| 夜夜狂射影院欧美极品| 国产伦理一区| 亚洲国产一区二区在线| 亚洲午夜激情网页| 国产丝袜美腿一区二区三区| 久久精品国产精品亚洲| 亚洲欧洲在线视频| 夜夜嗨av一区二区三区网站四季av| 欧美福利一区二区三区| 一区二区黄色| 国产欧美在线观看一区| 亚洲香蕉成视频在线观看| 欧美在线高清视频| 欧美成人免费网站| 免费欧美高清视频| 亚洲另类视频| 欧美一级专区免费大片| 国产伦精品一区二区三区照片91| 国产欧美日韩一区二区三区在线| 亚洲桃花岛网站| 欧美高清在线视频| 欧美激情一区二区三区蜜桃视频| 欧美日韩国产综合视频在线| 亚洲最新色图| 国产精品欧美经典| 亚洲国产日韩欧美在线动漫| 欧美精品一区三区| 午夜视频在线观看一区二区三区| 国产免费一区二区三区香蕉精| 亚洲国产一区在线观看| 久久综合给合久久狠狠色| 国产伪娘ts一区| 欧美日韩亚洲一区二| 国产九九精品视频| 欧美体内she精视频在线观看| 欧美亚洲自偷自偷| 曰本成人黄色| 国产精品久久久| 亚洲精品乱码久久久久久日本蜜臀| 欧美视频在线不卡| 欧美三级电影大全| 午夜亚洲福利| 小黄鸭精品aⅴ导航网站入口| 亚洲国产精品v| 国产精品麻豆va在线播放| 亚洲春色另类小说| 一区二区亚洲精品国产| 欧美偷拍另类| 一区二区三区精品在线| 欧美成人精品| 欧美激情精品久久久久久蜜臀| 欧美日韩成人综合天天影院| 免费毛片一区二区三区久久久| 亚洲日本欧美天堂| 日韩亚洲视频| 在线亚洲精品福利网址导航| 99re8这里有精品热视频免费| 在线看无码的免费网站| 美日韩精品免费观看视频| 久久久精品久久久久| 欧美日韩高清区| 亚洲欧洲av一区二区| 国产综合色产| 欧美一区1区三区3区公司| 国产精品成人aaaaa网站| 亚洲国产高清在线| 欧美本精品男人aⅴ天堂| 国产亚洲永久域名| 激情婷婷亚洲| 欧美精品www在线观看| 欧美天堂在线观看| 麻豆久久婷婷| 最新亚洲电影| 久久九九电影| 国产日韩欧美一区二区三区四区| 欧美美女视频| 国产久一道中文一区| 99v久久综合狠狠综合久久| 久久激情视频久久| 亚洲欧美区自拍先锋| 欧美高清一区二区| 国产一区二区三区无遮挡| 免费欧美视频| 欧美激情网站在线观看| 久久精品一区二区三区中文字幕| 狠狠久久亚洲欧美专区| 久久精品国产亚洲一区二区| 中国女人久久久| 国产精品theporn88| 亚洲亚洲精品三区日韩精品在线视频| 欧美激情免费在线| 欧美系列亚洲系列| 国产精品一区视频| 欧美va亚洲va国产综合| 欧美午夜性色大片在线观看| 亚洲毛片在线观看.| 久久亚洲国产精品一区二区| 欧美性一区二区| 久久只有精品| 国产精品一区二区女厕厕| 国产亚洲一本大道中文在线| 美国十次成人| 欧美视频日韩| 欧美一区二区精品| 国产午夜精品美女视频明星a级| 欧美系列精品| 亚洲激情网站免费观看| 亚洲天堂av电影| 国产欧美精品在线| 蜜桃久久精品乱码一区二区| 久久久久久久一区二区三区| 国产精品久久久久久久久动漫| 狠狠色综合网| 一区二区三区在线视频免费观看| 欧美天堂亚洲电影院在线播放| 亚洲激情影视| 国产伦精品一区二区三区免费| 美女黄网久久| 久久综合国产精品台湾中文娱乐网| 欧美日韩美女在线观看| 欧美成人高清| 欧美成人性网| 国产精品综合不卡av| 国产欧美日韩精品丝袜高跟鞋| 精品二区视频| 国产伪娘ts一区| 国产精品v一区二区三区| 亚洲欧美精品伊人久久| 欧美日韩精品免费观看视一区二区| 欧美电影免费| 欧美在线|欧美| 亚洲美女av在线播放| 欧美一区亚洲二区| 久久亚洲精品一区| 在线成人亚洲| 国产在线不卡视频| 国产精品美女久久久浪潮软件| 99精品欧美一区二区三区综合在线| 亚洲欧美中日韩| 国产视频综合在线| 中日韩在线视频| 国产精品亚洲成人| 亚洲电影在线播放| 亚洲第一精品在线| 亚洲色诱最新| 亚洲一区美女视频在线观看免费| aa日韩免费精品视频一| 国产精品成人在线| 精品成人国产在线观看男人呻吟| 亚洲国产日韩一级| 久久伊人一区二区| 中文精品视频一区二区在线观看| 久久久精品视频成人| 国产一区二区在线观看免费| 欧美一区二区久久久| 影院欧美亚洲| 国产毛片一区| 国产日韩欧美一区| 国产精品青草久久| 欧美日本不卡高清| 亚洲丶国产丶欧美一区二区三区| 美乳少妇欧美精品| 国产一区在线看| 国产一区二区三区四区| 亚洲第一中文字幕在线观看| 在线观看一区二区视频| 国产欧美一区二区三区久久人妖| 开元免费观看欧美电视剧网站| 欧美成年人网站| 国产精品久久久久久久久久久久久久| 亚洲欧洲精品一区二区| 嫩草影视亚洲| 欧美承认网站| 国产视频精品免费播放| 亚洲国内高清视频| 最新日韩中文字幕| 黄色成人小视频| 香蕉国产精品偷在线观看不卡| 久久婷婷人人澡人人喊人人爽| 欧美日韩系列| 国产精品日韩二区| 欧美激情中文不卡| 欧美成人一区二免费视频软件| 一本一本久久a久久精品综合麻豆| 欧美69wwwcom| 欧美日韩国产不卡在线看| 欧美尤物巨大精品爽| 国产美女精品免费电影| 一区二区三区国产精品| 国产精品欧美日韩一区二区| 国产精品日韩在线| 在线观看成人av| 国产亚洲精品自拍| 99精品国产99久久久久久福利| 怡红院精品视频在线观看极品| 久久伊人一区二区| 亚洲一本视频| 美女被久久久| 国产精品大片wwwwww| 欧美aⅴ一区二区三区视频| 久久综合九色99| 91久久精品久久国产性色也91| 国产偷国产偷精品高清尤物| 国产精品永久免费在线| 老司机午夜精品| 在线不卡视频| 久久精品国产99精品国产亚洲性色| 在线观看视频亚洲| 国产精品成人午夜| 欧美中文字幕视频在线观看| 欧美日韩国产区|