国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 好玩的項(xiàng)目|使用微控制器 PIC16F1459 構(gòu)建 DIP 開(kāi)關(guān) USB U盤

好玩的項(xiàng)目|使用微控制器 PIC16F1459 構(gòu)建 DIP 開(kāi)關(guān) USB U盤

作者: 時(shí)間:2024-07-19 來(lái)源:李工談元器件 收藏

今天給大家分享我在github上看到的一個(gè)有意思的項(xiàng)目:使用微控制器 構(gòu)建 DIP 開(kāi)關(guān) 。(附帶電路原理圖,PCB布局設(shè)計(jì),原始應(yīng)用程序。)

本文引用地址:http://m.ptau.cn/article/202407/461187.htm

主要是用撥片開(kāi)關(guān)來(lái)進(jìn)行配置設(shè)備,只需要撥動(dòng)紅色開(kāi)關(guān)就可以輕松配置文件。不需要編輯 XML 和 JSON 文件來(lái)存儲(chǔ)硬件或軟件的配置設(shè)置。

這個(gè)項(xiàng)目分享給大家,步驟講解得很詳細(xì),如果感興趣的可以動(dòng)手試試。

先放上成品圖。

DIP 開(kāi)關(guān)插電腦上圖

DIP 開(kāi)關(guān) U 盤的后視圖和前視圖(顏值還挺高的)

一、元件選擇

作者總共設(shè)計(jì)制作了兩種不同版本的DIP 開(kāi)關(guān)U盤。第一個(gè)使用非常緊湊的表面貼片DIP開(kāi)關(guān),第二種使用安裝表面貼裝 DIP 插座中的獨(dú)特彩虹 DIP 開(kāi)關(guān)。

USB A插頭(如下圖所示)

Molex USB A 插頭

這是一個(gè)安裝在電路板末端的USB A 型插頭,可以直接插入電腦的正面或側(cè)面的USB A插孔。

本來(lái)是可以使用 USB Type C 插頭,但作者的電腦沒(méi)有USB Type C 端口。

1、微控制器

作者喜歡用8位的USB微控制器,于是采用了TSSOP-20 封裝的 Microchip ,這個(gè)微控制器支持所需的電路和USB軟件。唯一不確定的問(wèn)題是它是否有足夠的輸入引腳用于DIP開(kāi)關(guān)的8個(gè)輸入。在查閱了datasheet,確認(rèn)連接USB 操作所需的基本組件后,確定了引腳是夠用的。

PIC16F1459 采用 TSSOP-20 封裝,后面有一個(gè) 8 位 SMD 開(kāi)關(guān),用于縮放

2、表面貼裝 DIP 開(kāi)關(guān)

為了使設(shè)計(jì)更緊湊,就需要把微控制器放在電路板的底部,把開(kāi)關(guān)放在電路板的頂部,就需要一個(gè)表面貼裝開(kāi)關(guān),最后選擇了 CTS 219-8MSTR 8 位表面貼裝滑動(dòng)開(kāi)關(guān)。

開(kāi)關(guān)頂部帶有可拆卸的膠帶密封,可以承受高焊接溫度和電路板的清洗。

帶有保護(hù)涂層的 CTS SMD DIP 開(kāi)關(guān),保護(hù)涂層允許使用拾取和放置設(shè)備并在清洗過(guò)程中保護(hù)開(kāi)關(guān)。

3、彩虹通孔撥碼開(kāi)關(guān)

第一個(gè)版本用ITW ERG 制造了彩虹通孔 DIP 開(kāi)關(guān),第二個(gè)版本帶有用于彩虹 DIP 開(kāi)關(guān)的表面貼裝 DIP 插座。

彩虹撥碼開(kāi)關(guān)與類似的滑動(dòng)和搖桿撥碼開(kāi)關(guān)相比,具有相當(dāng)醒目的外觀。

三個(gè)候選通孔 DIP 開(kāi)關(guān),作者選擇了 ERG 的彩虹模型

4、表面貼裝 DIP 插座

選擇了一個(gè) Mill-Max 110-47-316-41-105000 表面貼裝 DIP 插座來(lái)固定 ERG SDS-8-014 彩虹 DIP 開(kāi)關(guān)。

表面貼裝 DIP 插座

二、原理圖設(shè)計(jì)

這個(gè)項(xiàng)目需要用到一個(gè)8 GPIO 引腳來(lái)連接 DIP 開(kāi)關(guān),然后在最靠近 DIP 開(kāi)關(guān)的微控制器一側(cè)選擇了 8 個(gè)引腳。

但這些 GPIO 引腳不是都有內(nèi)部弱上拉可用,所以需要添加一些上拉電阻,以便在各自的開(kāi)關(guān)打開(kāi)時(shí)將引腳拉高。

使用這個(gè)配置,GPIO 引腳將在開(kāi)關(guān)打開(kāi)(關(guān)閉)時(shí)讀取高電平,在開(kāi)關(guān)關(guān)閉(打開(kāi))時(shí)讀取低電平。

然后有一個(gè)強(qiáng)制性的按鈕開(kāi)關(guān)和閃爍的LED。按鈕開(kāi)關(guān)與引導(dǎo)加載程序一起使用,可以允許在沒(méi)有PLC編程器和標(biāo)簽連接電纜的情況下升級(jí)DIP開(kāi)關(guān)。

閃爍的 LED 被編程以指示 USB 枚舉狀態(tài)。緩慢閃爍表示板已通電但未枚舉,快速閃爍表示板已通電并已枚舉。

設(shè)計(jì)原理圖

三、電路板設(shè)計(jì)

1、表面貼裝開(kāi)關(guān)版本

設(shè)計(jì)萬(wàn)完原理圖后,開(kāi)始設(shè)計(jì)與CTS SMD 滑動(dòng)開(kāi)關(guān)一起使用的電路板。最終布局如下圖所示。

板的非插座版本

當(dāng)對(duì)布局比較滿意的時(shí)候,查看了電路板預(yù)覽圖像,沒(méi)有問(wèn)題之后,就去訂購(gòu)PCB板了。


2、表面貼裝 DIP 插座版本

設(shè)計(jì)了與 CTS SMD 滑動(dòng)開(kāi)關(guān)一起使用的電路板后,接著設(shè)計(jì)與表面貼裝 DIP 插座和 ERG 彩虹 DIP 開(kāi)關(guān)一起使用的電路板,最終布局如上圖所示。

唯一真正的區(qū)別是開(kāi)關(guān)或插座的16個(gè)焊盤的寬度和高度。

板的插座版本

當(dāng)布局完成之后,依舊查看電路板板預(yù)覽圖,然后定制PCB板。


四、軟件開(kāi)發(fā)

在等待PCB板的過(guò)程,使用Microchip 低引腳數(shù) USB 微控制器開(kāi)發(fā)板來(lái)編寫該項(xiàng)目的軟件。

在這個(gè)過(guò)程也遇到了許多問(wèn)題,例如:想實(shí)現(xiàn)一個(gè)USB大容量存儲(chǔ)設(shè)備類,其中包含一個(gè)帶有開(kāi)關(guān)狀態(tài)的文件。但是開(kāi)關(guān)的值可以從文件中讀取一次,但當(dāng)開(kāi)關(guān)更改時(shí)就不再更新了。

為了解決這個(gè)問(wèn)題,進(jìn)行了多次嘗試,例如在每次更改開(kāi)關(guān)時(shí)執(zhí)行軟分離和重新連接,但這會(huì)導(dǎo)致許多煩人的不安全彈出和發(fā)現(xiàn)消息/警報(bào)聲音。

最后將DIP開(kāi)關(guān)實(shí)現(xiàn)為供應(yīng)商定義的 USB HID 設(shè)備。

USB 主機(jī)可以向 DIP 開(kāi)關(guān) USB 堆棧發(fā)送 USB OUT 報(bào)告,詢問(wèn)開(kāi)關(guān)的當(dāng)前狀態(tài)。

DIP 開(kāi)關(guān) U 盤將響應(yīng)包含開(kāi)關(guān)當(dāng)前狀態(tài)的 USB IN 報(bào)告。

每當(dāng)切換開(kāi)關(guān)時(shí),DIP 開(kāi)關(guān) USB U 盤也會(huì)以包含開(kāi)關(guān)當(dāng)前狀態(tài)的 USB IN 報(bào)告進(jìn)行響應(yīng)。

在真正的板子從工廠回來(lái)之前,作者使用了一個(gè) PIC 低引腳數(shù) USB 開(kāi)發(fā)板來(lái)編寫軟件。

為了演示DIP開(kāi)關(guān)USB U盤,編寫了一個(gè)快讀的 C# .NET Windows 窗體應(yīng)用程序。

該應(yīng)用程序與開(kāi)發(fā)板或真正的DIP開(kāi)關(guān)U盤進(jìn)行通信。

使用開(kāi)發(fā)板,按鈕開(kāi)關(guān)切換紅色開(kāi)關(guān)圖像。使用真板,應(yīng)用程序中的開(kāi)關(guān)圖像反映了 DIP 開(kāi)關(guān) U 盤上開(kāi)關(guān)的狀態(tài)。

C# .NET Windows 窗體演示應(yīng)用程序

五、成品板

與表面貼裝開(kāi)關(guān)一起使用的成品板如下所示。

SMD版成品板

與表面貼裝插座和通孔 DIP 開(kāi)關(guān)一起使用的成品板如下所示。

插座版成品板

下圖圖左側(cè)為電路板的表面貼裝開(kāi)關(guān)版本,右側(cè)為電路板的表面貼裝插座版本。

這里再?gòu)?qiáng)調(diào)一次,唯一這兩個(gè)版本的區(qū)別是開(kāi)關(guān)或插座的 16 個(gè)焊盤的寬度和高度。

板版本比較

六、組裝和測(cè)試

將電路板放回原處,首先組裝并測(cè)試了電路板的表面貼裝開(kāi)關(guān)版本。

使用Microchip REAL ICE 編程器和 Tag-Connect 電纜將軟件編程到 PIC16F1459 中。

編程后,Windows 找到了一個(gè)新設(shè)備,啟動(dòng)了演示應(yīng)用程序,成功了!

SMD 版本的 DIP 開(kāi)關(guān) U 盤

后來(lái)作者又組裝并測(cè)試了板的表面貼裝插座版本,也成功了。(感嘆一句,厲害)

ERG DIP 開(kāi)關(guān)有點(diǎn)挑剔,如果將開(kāi)關(guān)向上推超過(guò)其打開(kāi)位置,它將再次短暫打開(kāi),直到它被釋放并回到其打開(kāi)/關(guān)閉位置。

DIP 開(kāi)關(guān) U 盤的通孔版本

插入 Surface Pro 并運(yùn)行演示應(yīng)用程序的 DIP 開(kāi)關(guān) USB U盤

插入 Surface Pro 的 DIP 開(kāi)關(guān) U 盤

DIP 開(kāi)關(guān) U 盤的后視圖和前視圖

七、設(shè)計(jì)文件

電路板的設(shè)計(jì)文件、PIC16F1459 固件和 C# .NET 演示應(yīng)用程序可以在作者的 Github 上的DIP 開(kāi)關(guān) USB U盤 存儲(chǔ)庫(kù)中找到。

項(xiàng)目鏈接:
https://github.com/bikerglen/usb-dip-switch-stick



關(guān)鍵詞: MCU PIC16F1459 USB U盤

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉