色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

電子發燒友網>今日頭條>戒煙不難 使用電子煙輕松戒煙替煙

戒煙不難 使用電子煙輕松戒煙替煙

收藏

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴

評論

查看更多

相關推薦

模數轉換器 SIG5531A 國產平 CS5531AS

https://www.hqchip.com/gongsi/73622.html 信格勒微電子 攜手 華秋商城 共創國產高精度模數轉換器芯片平新生態 因為 fully compatible.
2024-03-11 12:56:53

PMIC For E Ink?Vizplex?-啟用電子紙顯示器TPS65182x數據表

電子發燒友網站提供《PMIC For E Ink?Vizplex?-啟用電子紙顯示器TPS65182x數據表.pdf》資料免費下載
2024-03-07 13:49:260

模數轉換器 SIG7793 國產平 AD7793

https://www.hqchip.com/gongsi/73622.html 信格勒微電子 攜手 華秋商城 共創國產高精度模數轉換器芯片平新生態 因為 fully compatible.
2024-03-06 14:12:13

模數轉換器 SIG5530 國產平 CS5530

https://www.hqchip.com/gongsi/73622.html 信格勒微電子 攜手 華秋商城 共創國產高精度模數轉換器芯片平新生態 因為 fully compatible.
2024-02-22 09:25:41

宿舍用電智能監控系統設計

電子發燒友網站提供《宿舍用電智能監控系統設計.docx》資料免費下載
2024-01-11 16:04:501

使用LT3081/3091組合來為DAC提供精密度較高的供電電壓,可否使用ADR5045代其R set電阻?

我希望使用LT3081/3091組合來為DAC提供精密度較高的供電電壓,可否使用ADR5045代其R set電阻,還有在這種情況下是否需要并聯電容。 似乎3081/3091的內置50μA電流源對于
2024-01-04 06:14:30

宿舍用電智能監控系統設計

電子發燒友網站提供《宿舍用電智能監控系統設計.docx》資料免費下載
2024-01-03 10:28:320

OC5220原廠降壓恒流IC芯片

電子工程領域,降壓恒流IC芯片是一種非常重要的電子元器件。它們被廣泛應用于各種電子設備中,如LED照明、電動汽車、電子等。其中,OC5220原廠降壓恒流IC芯片是一款非常優秀的降壓恒流IC芯片
2023-12-21 19:08:01

電子電路,求分析短路保護怎么能做到芯片不復位

如下圖,當H+接一個1歐姆發熱絲短路時,我程序能識別到短路也能關斷MOS管,但是芯片會低電復位,有沒有什么解決方法嗎?有做過電子的這塊的大佬能不能指點一下啊! (pcb已經量產,小白在實習,拿著它學習程序)
2023-12-20 08:58:17

M31談MIPI在車用電子的需求與挑戰

MIPI?是Mobile Industry Processor Interface(行動產業處理器界面)的簡稱。本文將說明MIPI在新興車用電子領域之地位與發展,接著針對MIPI在車用設計及測試上的標準與規范提出觀點、并接續M31的MIPI產品線介紹,末節為MIPI技術服務之說明。
2023-12-18 10:07:45537

電子煙單片機方案開發,32位單片機PY32F030電子煙解決方案

傳統香煙和戒煙,與傳統盒裝煙相比性價比高,且不含焦油。電子煙中最核心的器件是MCU,選擇一款合適的MCU是很關鍵的。 電子煙單片機方案介紹: 芯嶺技術的電子煙解決方案的MCU選擇的是國產單片機PY32F030 QFN32封裝,可以 滿足電子煙應用小
2023-12-15 16:45:01500

用電子元器件的作用及原理是什么

用電子元器件的作用及原理 一、電阻 電阻是電子電路中最常用的元件之一,其主要作用是限流和分壓。電阻的原理是基于歐姆定律,即通過電阻的電流與電壓成正比,與電阻的阻值成反比。電阻的阻值通常用歐姆
2023-12-13 15:36:46810

用電子元器件介紹

用電子元器件介紹
2023-12-06 09:34:017298

學會這4招,輕松搞定開關電源EMI

學會這4招,輕松搞定開關電源EMI
2023-12-05 16:57:32226

電子煙方案開發說明

電子煙是一種 用于戒煙和替代香煙的 電子 科技產品 。它通常由 霧化器、鋰電池和煙油, 過濾嘴 器件 組成。電子煙和傳統香煙在很多方面都有所不同。電子煙的煙霧是通過加熱液體產生的蒸汽,而傳統香煙
2023-12-04 15:45:01409

目前市面上最火的電子煙方案單片機,XL32F001 QFN20封裝。

電子煙是一種用于戒煙和替代香煙的電子科技產品。它通常由霧化器、鋰電池和煙油,過濾嘴器件組成。電子煙和傳統香煙在很多方面都有所不同。電子煙的煙霧是通過加熱液體產生的蒸汽,而傳統香煙是通過燃燒煙草產生
2023-12-01 13:33:35316

實現USB與傳統工業接口之間的輕松橋接解決方案

電子發燒友網站提供《實現USB與傳統工業接口之間的輕松橋接解決方案.pdf》資料免費下載
2023-11-28 10:40:090

國產平ADS1230

本帖最后由 jf_01750610 于 2023-11-27 09:20 編輯 https://www.hqchip.com/gongsi/73622.html 信格勒微電子 攜手 華秋商城
2023-11-26 16:18:34

零漂移放大器:現可輕松用于高精度電路中

電子發燒友網站提供《零漂移放大器:現可輕松用于高精度電路中.pdf》資料免費下載
2023-11-24 11:13:050

資深工程師教你輕松掌握差分放大電路

資深工程師教你輕松掌握差分放大電路
2023-11-23 18:20:46511

如何輕松調節回路電阻?

如何輕松調節回路電阻? 調節電路中的電阻是一項基本的電子技術技能。通過改變電路中的電阻值,我們可以改變電流和電壓的大小,從而控制電路的運行狀態。在本文中,我們將詳細介紹如何輕松調節回路電阻。 首先
2023-11-23 10:33:10376

如何正確使用電烙鐵

電子發燒友網站提供《如何正確使用電烙鐵.pdf》資料免費下載
2023-11-20 09:55:535

如何使用電子負載裝置進行0V的放電呢?

如何使用電子負載裝置進行0V的放電呢? 標題:電子負載裝置的應用:實現高效0V放電 引言: 電子負載裝置是一種用于模擬和測試負載的電器裝置,可以模擬各種負載條件,并通過控制電流和電壓實現對電源的可靠
2023-11-17 14:49:17399

輕松入門開發ARM程序分享

電子發燒友網站提供《輕松入門開發ARM程序分享.pdf》資料免費下載
2023-11-17 11:39:350

MOS管的特性、驅動以及應用電

電子發燒友網站提供《MOS管的特性、驅動以及應用電路.doc》資料免費下載
2023-11-14 10:18:270

看完這篇文章,匯編也不難

為了解決二進制指令的可讀性問題,工程師將那些指令寫成了八進制。二進制轉八進制是輕而易舉的,但是八進制的可讀性也不行。很自然地,最后還是用文字表達,加法指令寫成 ADD。內存地址也不再直接引用,而是用標簽表示。
2023-11-12 11:13:38399

國產平AD7190

https://www.hqchip.com/gongsi/73622.html 信格勒微電子 攜手 華秋商城 共創國產高精度模數轉換器芯片平新生態 SIG7190 國產平 AD7190 pin
2023-11-08 15:59:50

PC3221單節鋰電流充電管理芯片高耐壓輸入28V外圍元件少

時, 自動進入一個低功耗狀態,連接電池的端口漏電流降至 1μA 以下。其他功能包括充電電流監測器、欠壓鎖定、自動充電和狀態引腳。應用場景? 電子? 玩具? 藍牙應用? 鋰離子電池供電設備
2023-11-08 10:12:35

PL7501E 雙節鋰電升壓充電管理電路IC 技術支持

,過壓保護 ●IC過溫保護,IC溫度自適應調節功能 ●ESD 2KV 應用范圍 ● 鋰電池包 ● 對講機 ● 玩具 ● 藍牙音箱 ●電子 ● POS機
2023-11-06 14:42:35

PL7501CL 5V輸入升壓型雙節鋰電池充電管理芯片

·600KHz 開關頻率 ·輸出過壓,輸出短路保護 ·輸入欠壓,輸入過壓保護 ·過溫保護 應用 ·移動電源 ·藍牙音箱 ·電子 ·對講機
2023-11-04 14:57:46

PL7501C 5V輸入升壓型雙節鋰電池充電管理芯片

·600KHz 開關頻率 ·輸出過壓,輸出短路保護 ·輸入欠壓,輸入過壓保護 ·過溫保護 應用 ·移動電源 ·藍牙音箱 ·電子 ·對講機
2023-11-04 12:12:49

用電控單元散熱器的設計測試

電子發燒友網站提供《車用電控單元散熱器的設計測試.pdf》資料免費下載
2023-11-02 09:11:250

用電器常見的電子元器件

用電器中使用的電子元器件種類繁多,以下是一些常見的電子元器件: 電阻器:用于限制電流、分壓、調整電路的電阻值等。 電容器:用于存儲電荷、濾波、隔離直流和交流信號等。
2023-10-27 11:19:09499

電子發熱絲推力測試攻略:掌握博森源推拉力測試機關鍵步驟

推拉力測試機
博森源推拉力機發布于 2023-10-25 16:55:50

兩種保護用電流采樣電路的比較及應用

電子發燒友網站提供《兩種保護用電流采樣電路的比較及應用.pdf》資料免費下載
2023-10-25 10:19:140

用電子元器件分類

電子發燒友網站提供《常用電子元器件分類.pdf》資料免費下載
2023-10-20 14:52:531

用電子元器件參考資料指南

用電子元器件參考資料.pdf
2023-10-17 09:43:428

用電子元器件手冊指南

用電子元器件手冊.pdf
2023-10-17 09:42:2424

51單片機輕松入門一基于STC15W4K系列

電子發燒友網站提供《51單片機輕松入門一基于STC15W4K系列.rar》資料免費下載
2023-10-09 15:56:4211

二總線技術為什么下行采用電壓信號上行采用電流信號?

二總線技術為什么下行采用電壓信號,上行采用電流信號?是什么傳輸的
2023-10-08 08:37:35

修復 PCB 板擦花,輕松拯救你的電子設備

修復 PCB 板擦花,輕松拯救你的電子設備
2023-09-25 09:57:14766

光耦817應用電路圖

光耦817應用電路圖? 光耦817是一種集成了發光二極管和光敏二極管的電子元器件,它可以將輸入的電信號通過光學隔離傳遞到輸出端。它具有隔離性能、耐高壓能力和防電磁干擾等特點,因而在電路設計中被
2023-09-22 17:50:174805

電子元器件與實用電路基礎

全書從認識電子元件和半導體器件起步,到各種實用電路的結構,性能和工作原理,由淺入深地進行了詳細的講解。特別是以大量的實用單元電路為例進行了圖解,使讀者易懂易學。本書的重點是對各種常用電路的工作原理
2023-09-22 07:26:39

STM8S和STM32 MCU:一致的8/32位產品線實現輕松移植

電子發燒友網站提供《STM8S和STM32 MCU:一致的8/32位產品線實現輕松移植.pdf》資料免費下載
2023-09-21 11:33:560

tcs230原理及應用電

電子發燒友網站提供《tcs230原理及應用電路.pdf》資料免費下載
2023-09-18 17:58:110

ADM130單相電子式電能表宿舍用電管理終端

ADM130單相電子式電能表(宿舍用電管理終端)主要用于計量單相交流用電,適合于學生宿舍(公寓)用電管理。終端可以一路火線進線,三路火線并聯輸出分別計量照明、插座、空調回路,可進線預付費控制,并可
2023-09-08 17:02:400

CLM32L003 最新規格書

CLM32L003應用:小家電、充電器、遙控器、電子、燃氣報警器、數顯表、溫控器、記錄儀、電機驅動、智能門鎖、迷你手電筒 ,手持電風扇。詳細內容請查看規格書。
2023-09-05 10:38:21

Mini54FDE做RS485通訊是否可以用P1.3代RTX?

Mini54FDE 做 RS485 通訊 它只有 RX TX 腳位 沒有RTX輸出 是否可以用P1.3代RTX 如果可程式要如何修改
2023-08-31 06:29:45

產品推薦 | Abracon 的射頻電感

:藍牙音箱、電子、無人機、便攜式游戲機、數碼相機、手持GPS設備 通信:電信設備、無線LAN、電纜調制解調器 醫療:醫療監測設備:血糖-葡萄糖儀、溫度計、手指血氧儀 可穿戴設備:智能手表、健身追蹤
2023-08-22 09:29:59

用電子元件

電路電子技術
學習電子知識發布于 2023-08-08 00:02:26

電桿上為何發著光?為何冒著?為何吱吱作響?

電源電路元器件
學習電子知識發布于 2023-08-01 21:32:50

輕松使用STM32MP13:如MCU般在Cortex-A核上裸跑應用程序

電子發燒友網站提供《輕松使用STM32MP13:如MCU般在Cortex-A核上裸跑應用程序.pdf》資料免費下載
2023-07-29 11:37:553

Pericom通用電平轉換器應用說明

電子發燒友網站提供《Pericom通用電平轉換器應用說明.pdf》資料免費下載
2023-07-26 09:19:320

制作了一個剎車帶的直流電機調速器

電子diy
學習電子知識發布于 2023-07-24 22:35:42

使用4017以更少的組件輕松制作LED燈罩

電子發燒友網站提供《使用4017以更少的組件輕松制作LED燈罩.zip》資料免費下載
2023-07-12 10:05:440

如何輕松的將電源集成到項目中

電子發燒友網站提供《如何輕松的將電源集成到項目中.zip》資料免費下載
2023-07-12 10:00:580

看完后,搞懂開關電源設計的這些指標一點都不難

中國一般是220V,由于電網電壓的不穩定,很多時候要求寬電壓輸入,所以會設計成90-270V都能正常工作。通常美國用電范圍為110-130V,日本用電范圍為100V。
2023-07-11 16:49:22853

LoRa ESP32無線電-輕松入門教程

電子發燒友網站提供《LoRa ESP32無線電-輕松入門教程.zip》資料免費下載
2023-07-11 10:14:291

使用電位器和Arduino控制LED亮度

電子發燒友網站提供《使用電位器和Arduino控制LED亮度.zip》資料免費下載
2023-07-06 09:50:420

輕松拾取無需觸摸的開源項目

電子發燒友網站提供《輕松拾取無需觸摸的開源項目.zip》資料免費下載
2023-07-05 10:49:280

如何使用電位器控制LED閃爍脈沖

電子發燒友網站提供《如何使用電位器控制LED閃爍脈沖.zip》資料免費下載
2023-07-05 10:00:580

如何用電子元件和ESP32-CAM制作AI機器人

電子發燒友網站提供《如何用電子元件和ESP32-CAM制作AI機器人.zip》資料免費下載
2023-07-04 14:29:582

干貨專欄 | 這么做讓電池耗電分析更輕松電子測試工程師必備技能,建議收藏!

找儀器、選儀器、用儀器一站解決,很省心在日常工作中,電子測試工程師們經常會遇到電池耗電分析和直流至直流轉換器效率測量之類的問題,此時使用電子負載生成任意波形,就可以更輕松地完成測試。那么今天我們
2023-07-03 10:00:21381

程斯-電線電纜密度測試儀 符合技術要求

工業自動化
csizhineng發布于 2023-07-01 14:54:06

如何使用電位器控制LASER亮度

電子發燒友網站提供《如何使用電位器控制LASER亮度.zip》資料免費下載
2023-06-27 15:16:070

這樣做,輕松拿捏阻焊橋!

PCB阻焊橋是什么?如何輕松完成阻焊要求順利投產,本文為大家提供一份參考答案。
2023-06-27 11:07:00634

使用Teachable Machine和Python輕松進行對象檢測

電子發燒友網站提供《使用Teachable Machine和Python輕松進行對象檢測.zip》資料免費下載
2023-06-27 09:26:250

如何輕松構建基于LED的強大障礙燈系統

在本文中,我們將討論如何輕松構建基于LED的強大障礙燈系統,使用最少的零件和高效的工作。
2023-06-25 17:25:27528

#智慧用電 監控安科瑞AcrelCloud-6000電氣安全用電管理云平臺系統

用電管理
安科瑞萬佳芬發布于 2023-06-14 14:26:02

MOS管基礎知識:輕松理解MOS管工作原理

MOS管基礎知識:輕松理解MOS管工作原理。MOS管是一種利用電場效應來控制其電流大小的半導體三端器件,很多特性和應用方向都與三極管類似。這種器件不僅體積小、質量輕、耗電省、壽命長、而且還具有輸入阻抗高、噪聲低、熱穩定性好、抗輻射能力強等優點,應用廣泛,特別是在大規模的集成電路中。
2023-06-13 09:46:11670

用電阻和電容去除直流偏置電壓

電子發燒友網站提供《用電阻和電容去除直流偏置電壓.zip》資料免費下載
2023-06-12 09:49:341

過濾件濾性能試驗儀視頻# 廠家實拍

儀器儀表測量儀器工業自動化
sinceritysmart發布于 2023-06-09 13:21:25

SW3526料XPD911 100W和100W以內降壓多口互聯互通協議芯片

供應SW3526料XPD911 100W和100W以內降壓多口互聯互通協議芯片,提供XPD911關鍵參數 ,廣泛應用于AC-DC 適配器、車載充電器等設備的 USB Type-C 端口充電解決方案,更多產品手冊、應用料資請向深圳富滿微代理驪微電子申請。>>
2023-06-05 14:14:55

husb350芯片料XPD701 100w單C口協議芯片帶LINK外置VBUS MOS

供應husb350芯片料XPD701 100w單C口協議芯片帶LINK外置VBUS MOS,提供XPD701關鍵參數 ,廣泛應用于AC-DC 適配器、車載充電器等設備的 USB Type-C 端口充電解決方案,更多產品手冊、應用料資請向深圳富滿微代理驪微電子申請。>>
2023-06-05 11:11:23

SW3526料XPM52C 35W雙C市場pd快充降壓芯片

供應SW3526料XPM52C 35W雙C市場pd快充降壓芯片,提供XPM52C關鍵參數 ,廣泛應用于AC-DC 適配器、車載充電器等設備的 USB Type-C 端口充電解決方案,更多產品手冊、應用料資請向深圳富滿微代理驪微電子申請。>>
2023-06-05 11:03:26

IP6537芯片料XPM52C 35W 雙C市場內置DCDC

供應IP6537芯片料XPM52C 35W 雙C市場內置DCDC,提供XPM52C 關鍵參數 ,廣泛應用于AC-DC 適配器、車載充電器等設備的 USB Type-C 端口充電解決方案,更多產品手冊、應用料資請向深圳富滿微代理驪微電子申請。>>
2023-06-05 10:53:38

天鈺快充fp6606ac料XPD738/XPD938 雙口usb協議芯片

供應天鈺快充fp6606ac料XPD738/XPD938 雙口usb協議芯片,提供XPD738/XPD938 關鍵參數 ,廣泛應用于AC-DC 適配器、車載充電器等設備的 USB Type-C 端口充電解決方案,更多產品手冊、應用料資請向深圳富滿微代理驪微電子申請。>>
2023-06-01 17:30:41

快充協議芯片SW2305料XPD738/XPD938雙口協議芯片

供應快充協議芯片SW2305料XPD738/XPD938雙口協議芯片,提供XPD738/XPD938關鍵參數 ,廣泛應用于AC-DC 適配器、車載充電器等設備的 USB Type-C 端口充電解決方案,更多產品手冊、應用料資請向深圳富滿微代理驪微電子申請。>>
2023-06-01 17:09:32

十大最常用電子元器件(一)

電子元器件是電子技術中的基礎組成部分,是電子電路的基本構件。電子元器件的種類繁多,但其中一些元器件的應用非常廣泛,被稱為十大最常用電子元器件。本文將介紹這些元器件的基礎知識。
2023-06-01 08:52:401690

具有負載斷開控制的20V同步升壓轉換器PL30502

· QFN13-FC 3 * 3.5封裝 應用范圍: · 便攜式POS終端 · 藍牙揚聲器 · 電子 · Thunderbolt接口 · USB Type-C電源傳輸
2023-05-30 14:54:09

智能充電樁電子設計圖

汽車用電子充電樁電子設計方案,包括4G、WIFI、電流測量、用電量計量等。用于充電裝設計參考,完整的電子設計電路圖。
2023-05-30 14:30:0011

CAN比UART難不難

最近看到有網友在技術群討論關于『CAN比UART難不難的話題』,有的網友說CAN很簡單,也有的網友說CAN很難。
2023-05-20 14:38:20426

5v轉3.3v常用穩壓芯片 單片機5v轉3.3v

輸入電壓下將電壓轉換為3.3V輸出的能力。該芯片擁有出色的電源抗干擾能力,同時也具有高-精度、高-穩定性和低功耗等特點。AH53XX適用于很多電池供電設備,如煙霧傳感器、微控制器、家用電器與儀器等。 在
2023-05-18 16:01:10

德普dp2525jb料PL3366A/B/C內置高壓功率BJT管原邊pwm控制芯片

供應德普dp2525jb料PL3366A/B/C內置高壓功率BJT管原邊pwm控制芯片,提供PL3366A/B/C關鍵參數 ,更多產品手冊、應用料資請向聚元微代理商驪微電子申請。>>
2023-05-17 10:15:03

S9111芯茂微料PL3365A/B/C恒流/恒壓原邊控制器-蘇州聚元微代理

供應S9111芯茂微料PL3365A/B/C恒流/恒壓原邊控制器,是蘇州聚元微代理,廣泛應用于手機充電器、小功率率電源適配器、LED驅動、消費類的備用電源等領域,更多產品手冊、應用料資請向蘇州聚元微代理驪微電子申請。>>  
2023-05-16 16:47:14

德普dp2525a料PL3365A/B/C高精度恒流/恒壓原邊控制PWM功率開關

供應德普dp2525a料PL3365A/B/C高精度恒流/恒壓原邊控制PWM功率開關,廣泛應用于手機充電器、小功率率電源適配器、LED驅動、消費類的備用電源等領域,更多產品手冊、應用料資請向蘇州聚元微代理驪微電子申請。>> 
2023-05-16 16:39:54

PD誘騙芯片 QC誘騙芯片 PD QC快充取電芯片

取電芯片,支持從手機充電器/車充等電源上取電給產品供電。 2.應用 ? 小家電、電子 ? 智能家居、音響 ? 卷發器、無線充電 ? 筋膜槍、吸塵器等 3.特性 ? 集成 USB PD 快充協議
2023-05-11 15:40:45

直流交換電路是利用電子開關器件什么來改變輸出電壓的大小呢?

直流交換電路是利用電子開關器件什么來改變輸出電壓的大小呢?
2023-05-05 18:04:49

圈圈畫畫,輕松分析照明結果

? ? 原文標題:圈圈畫畫,輕松分析照明結果 文章出處:【微信公眾號:新思科技】歡迎添加關注!文章轉載請注明出處。
2023-04-12 23:25:02328

G30導熱凝膠輕松打進車載AR散熱市場

G30導熱凝膠輕松打進車載AR散熱市場
2023-04-10 15:30:36402

如何解決智慧用電探測器沒有信號的問題?

  智慧用電似乎已經成為我們生活中不可或缺的一部分,一系列煩惱也接踵而至,其中最常見的就是安裝智慧用電探測器信號不好。  遇到這種情況該如何解決?3個簡單實用的方法,讓你輕松解決智慧用電探測器沒有
2023-04-10 09:49:50

如何輕松實現MQTT接入阿里云IoT平臺

教你輕松實現使用MQTT協議接入阿里云平臺
2023-03-29 11:05:437

基于Arduino單片機的便攜式智能戒煙助手

單片機DIY
jf_06209345發布于 2023-03-28 22:42:17

【魯班貓創意氛圍賽】 有無害環境衛士

大佬們好,分享一下我用魯班貓做ros主控,stm32f407做底層驅動的一個ros小車。 目的是識別煙霧并凈化:凈化是用的負離子發生器(效果如文章頂部視頻,凈化還是很頂的),外加扇葉將其擴散出去。同時也具有環境氣體濃度(質量)檢測的功能。 b站鏈接: https://www.bilibili.com/video/BV1hh4y1n7Fz/?vd_source=4fa660ff7e4423139e6ebdbd4dece6c7 這是我去年12月底開始做的,入坑魯班貓算是比較早了。在讀大三學生。正奧里給考研中。。。 最底下還塞了一塊vet6和一塊esp32. 板子上加了個風扇,為了散熱快。 魯班貓1s做ROS主控用于ros建圖(gmapping)和導航,同時接入NPU做抽煙監測,模型是yolov5自己訓練的模型轉化成rknn部署在板子上。 功能部分即功能層的stm32與串口屏、esp32通信部分。功能層的主要目的是獲取傳感器數據和通過繼電器控制小車前端的負離子發生器和兩個加快負離子擴散的風扇。這里的stm32相當于一個中轉,用的是rt—thread實時操作系統,版本是4.0.2(寫的比較早,當時的rtt還有小bug,現在已經很好用了。) 開啟三個串口:一個用于讀取傳感器,一個用于接收和發送指令給串口屏,一個用于給esp32傳輸數據,通過esp32將數據發送到巴法云平臺,做接入小程序中轉。 篇幅有限,代碼放在了網盤上。 鏈接:https://pan.baidu.com/s/1ltgypPMq9heezk412r4IKw?pwd=jhzs 提取碼:jhzs 因為用的是rtt,移植性很高,故只寫了應用層的main.c函數。如下: 氣體傳感器如下(所用的是串口協議) #include <rtthread.h> / *串口1用來調試* / #define DBG_TAG \"main\" #define DBG_LVL DBG_LOG #include <rtdbg.h> #include <string.h> #include <serial.h>//此處有坑,要改頭文件路徑為rt-thread/components/drivers/include/drivers #include <stdio.h> #include \"stdlib.h\" #defineleft_motor_run{rt_pin_write(6,PIN_LOW );rt_pin_write(7,PIN_HIGH);} #defineleft_motor_back{rt_pin_write(6,PIN_HIGH );rt_pin_write(7,PIN_LOW);} #definestoping{rt_pin_write(6,PIN_HIGH );rt_pin_write(7,PIN_HIGH);rt_pin_write(16,PIN_HIGH );rt_pin_write(17,PIN_HIGH);} #defineright_motor_run{rt_pin_write(16,PIN_LOW );rt_pin_write(17,PIN_HIGH);} #defineright_motor_back{rt_pin_write(16,PIN_HIGH );rt_pin_write(17,PIN_LOW);} #define key1_openrt_pin_write(51,PIN_LOW );//d3 #define key1_closert_pin_write(51,PIN_HIGH ); #define key2_openrt_pin_write(52,PIN_LOW );//d4 #define key2_closert_pin_write(52,PIN_HIGH ); #define key3_openrt_pin_write(53,PIN_LOW );//d5 #define key3_closert_pin_write(53,PIN_HIGH ); /*micropython esp32與rtt串口DMA傳輸數據時有坑, * 需在drv_usart.c找到HAL_UART_RxCpltCallback和HAL_UART_RxHalfCpltCallback將dma_isr(&uart->serial)注釋掉, * 能降低數據錯誤率*/ / *串口2的變量 115200* / struct serial_configureuar2_configs = RT_SERIAL_CONFIG_DEFAULT; rt_sem_t sem2; rt_device_t uar2_dev; rt_thread_t uar_2_th; rt_thread_t uar_2_deal; char buffer[128] = {0}; rt_size_t rxlen2 = 0; / *串口3的變量 9600* / struct serial_configureuar3_configs = MY_SERIAL_CONFIG_DEFAULT; rt_sem_t sem3; rt_device_t uar3_dev; rt_thread_t uar_3_th; uint8_t buffer3[17] = {0}; rt_size_t rxlen3 = 0; / *串口4的變量 115200* / struct serial_configureuar4_configs = RT_SERIAL_CONFIG_DEFAULT; rt_sem_t sem4; rt_device_t uar4_dev; rt_thread_t uar_4_th; rt_uint8_t buffer4[256] = {0xff}; rt_size_t rxlen4 = 0; //char deal; rt_uint8_t deal ; char wheater[8]; char humidity[4]; char temperature[4]; char wind_speed[4]; char shi[3]; char miao[3]; char fen[3]; char wheater_deal[23]=\"main2.g3.txt=\"\"; char humidity_deal[18]=\"main2.g1.txt=\"\"; char temperature_deal[17]=\"main2.g0.txt=\"\"; char wind_speed_deal[19]=\"main2.g2.txt=\"\"; char shi_deal[15] = \"main.z1.val=\"; char miao_deal[15] = \"main.z0.val=\"; char fen_deal[15] = \"main.z2.val=\"; char end[2]=\"\"\"; char xf_end[3];//串口屏控制幀尾 void uar2_thread_entry(void *parameter)//串口2DMA線程入口 { rt_size_t len = 0; /*發送ch2o數據*/ rt_device_write(uar4_dev,0,ch2o_date,sizeof(ch2o_date)); rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end)); /*end*/ /*發送tvoc數據*/ rt_device_write(uar4_dev,0 ,tvoc_date,sizeof(tvoc_date)); rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end)); /*end*/ /*發送pm2.5數據*/ rt_device_write(uar4_dev,0 ,pm2_5_date,sizeof(pm2_5_date)); rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end)); /*end*/ /*發送pm10數據*/ rt_device_write(uar4_dev,0 ,pm10_date,sizeof(pm10_date)); rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end)); /*end*/ /*發送temp數據*/rt_device_write(uar4_dev,0,temp_date,sizeof(temp_date)); rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end)); /*end*/ /*發送humi數據*/ rt_device_write(uar4_dev,0,humi_date,sizeof(humi_date)); rt_device_write(uar4_dev,0 ,xf_end,sizeof(xf_end)); /*end*/ memset(buffer4, 0, sizeof buffer4); // } } } rt_err_t uar3_rxback(rt_device_t dev, rt_size_t size)//串口3接收//回調函數9600 { rxlen3 = size; rt_sem_release(sem3); return RT_EOK; } void uar4_thread_entry(void *parameter)//串口4DMA線程入口 { rt_size_t len = 0; while(1) { rt_sem_take(sem4, RT_WAITING_FOREVER); len = rt_device_read(uar4_dev, 0, buffer4, rxlen4); buffer4[len] = \'\\\\0\'; rt_kprintf(\"%c\\\\n\",len); if (buffer4[0] == 0x02) { deal=0x02; rt_device_write(uar2_dev,0 ,&deal,16); rt_kprintf(\"uart4\"); deal=0; } if (buffer4[0] == 0x01) { deal=0x01; rt_device_write(uar2_dev,0 ,&deal,16); rt_kprintf(\"uart4\"); deal=0; } if (buffer4[0] == 0x03) { deal=0x03; //memset(buffer,0,sizeof(buffer)); rt_device_write(uar2_dev,0 ,&deal,16); rt_kprintf(\"uart4\"); deal=0; } switch(buffer4[0]) { case 0x44: key1_open;break; case 0x55: key1_close;break; case 0x66: key2_open;break; case 0x77: key2_close;break; case 0x88: key3_open;break; case 0x99: key3_close;break; } } } rt_err_t uar4_rxback(rt_device_t dev, rt_size_t size)//串口4接收回調函數 { rxlen4 = size; rt_sem_release(sem4); return RT_EOK; } void clearmachine_and_motor_pin_init() { rt_pin_mode(6,PIN_MODE_OUTPUT );//a6 rt_pin_mode(7,PIN_MODE_OUTPUT );//a7 rt_pin_mode(16,PIN_MODE_OUTPUT );//b0 rt_pin_mode(17,PIN_MODE_OUTPUT );//b1 rt_pin_mode(28, PIN_MODE_INPUT);//b12 left rt_pin_mode(29,PIN_MODE_INPUT);//b13right rt_pin_mode(51,PIN_MODE_OUTPUT );//d3 rt_pin_mode(52,PIN_MODE_OUTPUT );//d4 rt_pin_mode(53,PIN_MODE_OUTPUT );//d5 key1_close; key2_close; key3_close; } int main(void) { clearmachine_and_motor_pin_init();//引腳初始化 /*串口2 DMA初始化*/ uar2_dev = rt_device_find(\"uart2\"); if (uar2_dev == NULL) { LOG_E(\"rt_device_find[uart2] FAILED...\\\\\\\\\\\\\\\\n\"); return -EINVAL; } rt_device_open(uar2_dev, RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_DMA_RX); rt_device_control(uar2_dev, RT_DEVICE_CTRL_CONFIG, (void *)&uar2_configs); rt_device_set_rx_indicate(uar2_dev, uar2_rxback); uar_2_th = rt_thread_create(\"uar2_rx_thread\", uar2_thread_entry, NULL, 4096, 10, 5); rt_thread_startup(uar_2_th); sem2 = rt_sem_create(\"sem2\", 1, RT_IPC_FLAG_FIFO); if(sem2 == RT_NULL){ LOG_E(\"sem2 rt_sem_create failed...\\\\\\\\\\\\\\\\n\"); return -ENOMEM; } LOG_D(\"sem2 rt_sem_create successed...\\\\\\\\\\\\\\\\n\"); /*串口2 DMA初始化結束*/ //uar_2_deal = rt_thread_create(\"uar2_deal\", uar2_deal_entry, NULL, 512, 13, 5); //rt_thread_startup(uar_2_deal); /*串口3 DMA初始化9600*/ uar3_dev = rt_device_find(\"uart3\"); if (uar3_dev == NULL) { LOG_E(\"rt_device_find[uart3] FAILED...\\\\\\\\\\\\\\\\n\"); return -EINVAL; } rt_device_open(uar3_dev, RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_DMA_RX); rt_device_control(uar3_dev, RT_DEVICE_CTRL_CONFIG, (void *)&uar3_configs); rt_device_set_rx_indicate(uar3_dev, uar3_rxback); uar_3_th = rt_thread_create(\"uar3_rx_thread\", uar3_thread_entry, NULL, 4096, 12, 5); rt_thread_startup(uar_3_th); sem3 = rt_sem_create(\"sem3\", 1, RT_IPC_FLAG_FIFO); if(sem3 == RT_NULL){ LOG_E(\"sem3 rt_sem_create failed...\\\\\\\\\\\\\\\\n\"); return -ENOMEM; } LOG_D(\"sem3 rt_sem_create successed...\\\\\\\\\\\\\\\\n\"); /*串口3 DMA初始化結束*/ /*串口4 DMA初始化*/ uar4_dev = rt_device_find(\"uart4\"); if (uar4_dev == NULL) { LOG_E(\"rt_device_find[uart4] FAILED...\\\\\\\\\\\\\\\\n\"); return -EINVAL; } rt_device_open(uar4_dev, RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_DMA_RX); rt_device_control(uar4_dev, RT_DEVICE_CTRL_CONFIG, (void *)&uar4_configs); rt_device_set_rx_indicate(uar4_dev, uar4_rxback); uar_4_th = rt_thread_create(\"uar4_rx_thread\", uar4_thread_entry, NULL, 4096, 11, 5); rt_thread_startup(uar_4_th); sem4 = rt_sem_create(\"sem4\", 4, RT_IPC_FLAG_FIFO); if(sem4 == RT_NULL){ LOG_E(\"sem4 rt_sem_create failed...\\\\\\\\\\\\\\\\n\"); return -ENOMEM; } LOG_D(\"sem4 rt_sem_create successed...\\\\\\\\\\\\\\\\n\"); /*串口4 DMA初始化結束*/ return RT_EOK; } 最后是串口屏顯示,同時數據也能在微信小程序上查看 接下來是魯班貓1s做ros主控的部分。 1、移植輪趣大佬的ros源碼: 根據我現有的硬件:思嵐a1雷達、一個usb rgb攝像頭選擇合適的功能包,然后開始移植。 中途會出現很多錯誤。例如缺少部分功能包,sudo apt install ros-noetic-(包名)【我的ros版本是noetic】。 2、移植完畢后發現大佬們并沒有使用魯班貓上的npu。所以我嘗試了用npu跑yolov5在debain10的環境下用python接口效果如下: Python與c++接口將圖片監測改成實時攝像頭的代碼: 只需更改cv.Capture()函數的攝像頭設備號即可。 鏈接:https://pan.baidu.com/s/1gauOezF-X8ZuvU4b0I4v4A?pwd=jhzs 提取碼:jhzs Python接口的yolov7只需更改yolov5代碼的錨點即可 以下只列出主函數部分,完整的在鏈接里。 import urllib import time import sys import numpy as np import cv2 from rknnlite.api import RKNNLite #from PIL import Image RKNN_MODEL = \'mask.rknn\' IMG_PATH = \'./test.jpg\' OBJ_THRESH = 0.25 NMS_THRESH = 0.45 IMG_SIZE = 640 ......(省略中間部分) if __name__ == \'__main__\': # Create RKNN object rknn = RKNNLite() # init runtime environment print(\'--> Load RKNN model\') ret = rknn.load_rknn(RKNN_MODEL) #ret = rknn.init_runtime(target=\'rv1126\', device_id=\'256fca8144d3b5af\') if ret != 0: print(\'Load RKNN model failed\') exit(ret) print(\'done\') ret = rknn.init_runtime() if ret != 0: print(\'Init runtime environment failed!\') exit(ret) print(\'done\') capture = cv2.VideoCapture(9) ref, frame = capture.read() if not ref: raise ValueError(\"error reading\") fps = 0.0 while(True): t1 = time.time() # ref, frame = capture.read() if not ref: break # BGRtoRGB frame = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB) ############# img = frame img, ratio, (dw, dh) = letterbox(img, new_shape=(IMG_SIZE, IMG_SIZE)) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # Inference print(\'--> Running model\') outputs = rknn.inference(inputs=[img]) input0_data = outputs[0] input1_data = outputs[1] input2_data = outputs[2] input0_data = input0_data.reshape([3, -1]+list(input0_data.shape[-2:])) input1_data = input1_data.reshape([3, -1]+list(input1_data.shape[-2:])) input2_data = input2_data.reshape([3, -1]+list(input2_data.shape[-2:])) input_data = list() input_data.append(np.transpose(input0_data, (2, 3, 0, 1))) input_data.append(np.transpose(input1_data, (2, 3, 0, 1))) input_data.append(np.transpose(input2_data, (2, 3, 0, 1))) boxes, classes, scores = yolov5_post_process(input_data) img_1 = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) #img_1 = img_1[:,:,::-1] if boxes is not None: draw(img_1, boxes, scores, classes) fps= ( fps + (1./(time.time()-t1)) ) / 2 print(\"fps= %.2f\"%(fps)) #img_1 = cv2.putText(frame, \"fps= %.2f\"%(fps), (0, 40), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) cv2.imshow(\"video\",img_1[:,:,::-1]) c= cv2.waitKey(1) & 0xff if c==27: capture.release() break print(\"Video Detection Done!\") capture.release() cv2.destroyAllWindows() 但這還沒有接到ros中,為此我去翻rknn的github找到了接入ros的方法。 Ros功能包如下: Launch文件: Yolov5.launch <param name=\"model_file\" value=\"yolov5s-640-640.rknn\"/> <param name=\"display_output\" value=\"$(arg display_output)\"/> <param name=\"prob_threshold\" value=\"0.35\"/> <param name=\"chip_type\" value=\"$(arg chip_type)\"/> <remap from=\"/camera/image_raw\" to=\"$(arg camera_topic)\"/> Camrea.Launch <param name=\"video_device\" value=\"/dev/$(arg device)\" /> <param name=\"image_width\" value=\"640\" /> <param name=\"image_height\" value=\"480\" /> <param name=\"framerate\" value=\"30\" /> <param name=\"pixel_format\" value=\"yuyv\" /> <param name=\"camera_frame_id\" value=\"usn_cam\" /> <param name=\"io_method\" value=\"mmap\"/> <param name=\"camera_name\" value=\"usn_cam\"/> 啟動攝像頭 默認的攝像頭設備號為video0 魯班貓為video9 1、roslaunch rknn_ros camera.launch 2、roslaunch rknn_ros camera.launch device:=video9(可傳參或者改launch) 3、roslaunch rknn_ros yolov5.launch chip_type:=RK3566 鏈接: 鏈接:https://pan.baidu.com/s/1QhfRjDs1sftAB0Q-TS5dBA?pwd=jhzs 提取碼:jhzs 不出意外改好板子型號和對應的video就能用了。 可打開rviz或者rqt_image_view查看。 模型是我自己訓練的,鏈接如下: 鏈接:https://pan.baidu.com/s/1FSJyW6kp4cy3-yakTq_Q4g?pwd=jhzs 提取碼:jhzs YOLOV5配置和使用: 官方的源碼是不建議的: 用這個: https://gitcode.net/mirrors/airockchip/yolov5?utm_source=csdn_github_accelerator 這是瑞芯微官方推薦的源碼,但是也需要更改。 yolov5-master\\\\models下的yolo.py 找到 def forward(self, x): 函數,更改為: def forward(self, x): z = []# inference output for i in range(self.nl): if os.getenv(\'RKNN_model_hack\', \'0\') != \'0\': z.append(torch.sigmoid(self.m[i](x[i]))) continue x[i] = self.m[i](x[i])# conv \'\'\' bs, _, ny, nx = x[i].shape# x(bs,255,20,20) to x(bs,3,20,20,85) x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous() if not self.training:# inference if self.onnx_dynamic or self.grid[i].shape[2:4] != x[i].shape[2:4]: self.grid[i], self.anchor_grid[i] = self._make_grid(nx, ny, i) y = x[i].sigmoid() if self.inplace: y[..., 0:2] = (y[..., 0:2] * 2 + self.grid[i]) * self.stride[i]# xy y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i]# wh else:# for YOLOv5 on AWS Inferentia https://github.com/ultralytics/yolov5/pull/2953 xy, wh, conf = y.split((2, 2, self.nc + 1), 4)# y.tensor_split((2, 4, 5), 4)# torch 1.8.0 xy = (xy * 2 + self.grid[i]) * self.stride[i]# xy wh = (wh * 2) ** 2 * self.anchor_grid[i]# wh y = torch.cat((xy, wh, conf), 4) z.append(y.view(bs, -1, self.no)) if os.getenv(\'RKNN_model_hack\', \'0\') != \'0\': return z return x if self.training else (torch.cat(z, 1),) if self.export else (torch.cat(z, 1), x) \'\'\' return x[0],x[1],x[2] 這樣就可以在pt權重轉onnx時去掉最后一個Detect層。 pt轉onnx指令 python export.py --weights yolov5s.pt --img 640 --batch 1 --opset 11 --include onnx 紅色字體部分換成要轉換的權重文件例如我的就是: **python export.py --weights ** **weights/best.pt ** --img 640 --batch 1 --opset 11 --include onnx opset選擇11。 這樣出來的模型是有三個節點的模型,才是可用的。 可用netron查看: netron:https://netron.app/(瀏覽器網址) 將模型拖到頁面可查看。 有三個輸出節點。 且要記好三個節點的名字。 在官方要求的ubuntu pc端上進行模型轉換。 我這里有個改好的yolov5源碼(里面是我訓練的抽煙監測模型) 網盤鏈接如下: 鏈接:https://pan.baidu.com/s/1fXKNoXhu4m1SmTr4fc-afg?pwd=jhzs 提取碼:jhzs Chatgpt部分是b站機器人阿杰github開源項目。 https://www.bilibili.com/video/BV12M4y1R76M/?spm_id_from=333.788 效果如圖: 嗚。。。不要看問得什么 整車的sw模型鏈接:soildwork2020及以上版本可直接打開 鏈接:https://pan.baidu.com/s/1KqB1SOD418dCvyDaZFMgpg?pwd=jhzs 提取碼:jhzs當時還理想化的擼了個履帶,可后來發現打印出來根本用不了,故放棄,換成了輪子。 放鏈接是希望能夠幫到像我一樣步步踩坑的菜鳥級選手。我是老踩坑怪了。 有不當的地方,還望大佬們海涵。
2023-03-24 20:05:14

已全部加載完成

主站蜘蛛池模板: 欧美zozofoot| 99视频免费看| 亚洲精品国产AV成人毛片| 无码日本亚洲一区久久精品 | Y8848高清私人影院软件优势| 99精品国产福利在线观看| 被黑人群jian又粗又大H| 精品午夜久久福利大片免费| 麻豆精品人妻一区二区三区蜜桃| 久久这里只精品热在线18| 国产精品无需播放器| 狠狠躁日日躁人人爽| 亚洲欧美一区二区三区蜜芽| 国产精品无码亚洲网| 一本色道久久综合亚洲精品| 99久久婷婷国产麻豆精品电影| 极品色αv影院| 午夜在线观看免费完整直播网页 | 中文中幕无码亚洲在线| 国产美熟女乱又伦AV| 日产久久视频| 免费网站在线观看国产v片| 亚洲高清在线精品一区| 国产不卡视频在线| 蜜桃色欲AV久久无码精品| 婷婷午夜影院| 91九色视频无限观看免费| 国产69精品久久久久乱码免费| 国产在线不卡| 欧美嫩freexxxhddvd| 邪恶肉肉全彩色无遮琉璃神社| 4388成人| 国产乱色伦影片在线观看| 男生扒开美女尿口戳戳| 伊人久久影视| 国产欧美一本道无码| 嫩草影院一区| 亚洲伊人情人综合网站| 芳草地在线观看免费观看| 麻豆免费版| 亚洲精品国产一区二区贰佰信息网|