Arduino MKR WiFi 1010

對於這個來自Arduino的優秀物聯網電子板的概述 我最近新增了一塊Arduino MKR WiFi 1010板到我的電子"東西"中。 如果你有疑問,我發現MKR的發音是“Maker”,而1010的發音是“ten ten”。 這是第一塊擁有內建Wi-Fi和藍牙連接功能的板子,對於所能帶來的機會和可能性,我感到非常興奮。 在本文中,我想對這塊板子進行概述,並將其與Arduino Uno進行比較,後者是我目前擁有的另一塊Arduino板,也是初學者最常用的Arduino板。 外觀 讓我們從外觀開始。 尺寸為61.4mm x 25mm,重量僅為32克。 相比Arduino Uno板,Arduino MRK WiFi 1010板要小得多。大小超過2倍。 電源 Arduino MKR WiFi 1010可以通過5V輸入或Micro-USB連接器供電。 它運行在3.3V。這是非常重要的區別,因為Arduino Uno運行在5V。3.3V是I/O引腳支持的最大電壓。 處理器 Arduino MKR WiFi 1010板配備了一個低功耗SAMD21 Cortex-M0+ 32位ARM處理器。 該處理器是32位的。Arduino Uno板配備的是8位的ATmega328處理器。 內存 該板具有256KB的Flash內存和32KB的SRAM。 I/O引腳 Arduino MKR WiFi 1010提供: 8個數字I/O引腳,引腳0 - 7。 7個模擬輸入引腳(ADC 8/10/12位),引腳A0 / A6。 1個模擬輸出引腳(DAC 10位),標識為DAC0/A0的引腳。 每個I/O引腳的直流電流為7mA。 引腳0、1、2、3、4、5、6、7、8、10、12、18、19是PWM引腳。 完整的引腳映射可以在這裡找到 here。 物聯網連接 Arduino MKR WiFi 1010提供了一個WiFi模組,即WiFi U-BLOX NINA-W10系列低功耗2.4GHz模組。它支持802.11 b/g/n協議,並且還提供藍牙低功耗(BLE)。 安全性 該板配備了一個加密芯片,可以實現SHA-256安全連接,即ATECC508。 Li-Po充電電路 通過Micro-USB端口充電時,Arduino MKR WiFi 1010可以通過其Li-Po充電電路對外部電池充電。...

Johnny Five,如何與LCD屏幕配合工作

本文是Johnny Five系列文章的一部分。請參閱第一篇文章。 LCD屏幕是一個很酷的組件,因為我們可以用它在各種不同的創意項目中使用。 這個我拿到的是名叫1602A的。 它有16個引腳。我按照以下方式連接它: 引腳1連接到0V 引腳2連接到控制背光的電位器 引腳3連接到5V 引腳4連接到Arduino的引腳7 引腳5連接到0V 引腳6連接到Arduino的引腳8 引腳11連接到Arduino的引腳9 引腳12連接到Arduino的引腳10 引腳13連接到Arduino的引腳11 引腳14連接到Arduino的引腳12 引腳15連接到5V 引腳16連接到0V 電位器有3個腳。中間的腳連接到LCD屏幕,左邊的腳連接到0V,右邊的腳連接到5V。 接線就完成了。 創建一個新的lcd.js文件並載入以下代碼: const { Board, LCD } = require("johnny-five"); const board = new Board(); board.on("ready", function() {}); 現在從LCD類初始化一個新的LCD對象。 確切的初始化程序取決於所使用的顯示器的類型。在我的情況下,是這樣的: const lcd = new LCD({ pins: [7, 8, 9, 10, 11, 12] }); 最後,調用print()方法顯示一個字符串: const { Board, LCD } = require("johnny-five"); const board = new Board(); board.on("ready", function() { const lcd = new LCD({ pins: [7, 8, 9, 10, 11, 12] }); lcd....

介紹Arduino

對Arduino電子平台的總覽 Arduino是業餘電子生態系統中的一項突破性技術。 所謂的突破性並不是指它引入了一個強大的微處理器或任何相關的技術。 它實際上創造了整個行業,一個運動,在此之前並不存在。 我所說的是創客運動。在Arduino之前,電子學並不像今天這樣有趣且容易學習,周圍也沒有太多資源。我在技術高中和米蘭理工學院學習了多年的電子學,但那是一些非常嚴肅、理論性的東西,幾乎沒有程式編碼和樂趣。 Arduino誕生於意大利,來自Ivrea,這個城市也因為創造了1965年的第一台個人電腦的公司Olivetti而聞名。 Arduino從一開始就特別設計成一個學習設備。這一個簡單的事實影響了原始Arduino核心團隊所做的幾個設計選擇。 我不會深入探討歷史細節,但你可以在維基百科上自由查看它們。 Arduino的關鍵成功因素在於它完全是開源的,並且它是最早一批開源項目。硬體是開源的,軟體也是開源的。 例如,最新的Arduino Uno板,Arduino Uno Wifi Rev2的電路圖可以在線上找到。這很酷,因為你可以自己建立Arduino,如果你想的話。公司可以製造和銷售自己的Arduino克隆版,而且他們已經這樣做了。我第一個Arduino是從一家叫做Elegoo的公司買的,他們提供了令人驚喜而又便宜的套裝,裡面有很多元件和教程可以讓你入門。 此外,周圍有一個完整的工具、庫和教育資源生態系統,使它取得了巨大的成功。在此之前,像這樣的開發板要麼很難獲得,材料也太過專業,更適合技術人員而不是學生。Arduino改變了一切。官方網站https://www.arduino.cc/上充滿了學習材料、示例、教程,還有一個活躍的項目中心和社區論壇。此外,Arduino還建立了一個IoT雲平台,讓你可以將設備連接到網絡。 隨著時間的推移,Arduino團隊推出了幾款不同的開發板:Arduino Uno、Arduino Mega、Arduino Diecimila、Arduino Robot、Arduino Nano、Arduino Micro、Arduino Leonardo、Arduino MKR等等。 每個開發板都有自己的用例。例如,Arduino Nano和Arduino Micro非常適合物聯網、可穿戴設備和小型裝置。Arduino Mega具有比其他任何板子更多的記憶體和I/O引腳。 截至今天,Arduino Uno開發板是目前最受歡迎的學習板,它包含在許多套件中,並且被用於大量的教程中。 Arduino MKR WiFi 1010開發板在物聯網中得到了廣泛的應用,因為它具有內置的WiFi和藍牙功能。 Arduino沒有操作系統,它一次只運行一個程序。 你不必擔心任何其他事情,因為Arduino上除了你的程式之外沒有其他東西。 大多數Arduino開發板甚至沒有網絡連接,出廠時如此。有些開發版是有網絡連接的,比如Arduino Uno WiFi rev 2或Arduino MKR WiFi 1010。 程序加載之後,只要Arduino通過USB或電源端口通過交流-直流電源線或電池供電,它就會啟動。 這意味著一旦你加載了程序,你可以將Arduino放在山上,配備太陽能電池板和電池,它將在有電力的情況下一直運行。 它只能運行為Arduino平台編譯的程序,這主要是指使用Arduino語言編寫的程序,該語言是C++語言的一種帶有一些便利功能的版本,使初學者能夠輕松上手。 但你不僅僅局限於此。如果你可以忍受Arduino連接到計算機的USB端口(或者由樹莓派驅動連接),你可以使用Johnny Five項目在其中運行Node.js代碼,這相當酷。其他語言也有類似的工具,例如pyserial和Gobot。 Arduino有什麼用處? 首先,它非常適合學習電子學。 此外,當你想為Arduino編譯一個程序,連接一個電池或電源連接器並將其放置在某個地方運行,並且與傳感器和其他與現實世界接口的有趣的東西進行玩耍時,Arduino十分強大。 例如,我會使用Arduino來為我的自動澆水植物、追蹤室外溫度或控制家居自動化設備等等。 在不久的將來,我將製作很多項目,並將在這裡發布教程,以展示我如何構建這些東西。

從哪裡下手購買 Arduino 和電子設備

在我的電子教程系列中,我使用了一套我多年來購買的工具。 我確實可以給你一些建議,讓你開始進行我所做的實驗。 Arduino 是一個很棒的項目,我強烈推薦你購買原裝的 Arduino 零件,以支持該項目和整個生態系統。 但是,當你剛開始時,你需要很多小零件,如果單獨購買可能會很貴。你可以找到一些一次性配備許多東西的套件。 特別推薦一個由 Elegoo 生產的套件,你可以在亞馬遜上以53.99美元/45歐元(撰寫時)的價格找到。它被稱為 ELEGOO UNO R3 Project Most Complete Starter Kit w/Tutorial Compatible with Arduino IDE (63 Items)。 這是一個包含了一塊 Arduino Uno rev 3複製板和許多組件、傳感器和小零件的盒子,這些東西通常很有用: 它附帶了很多東西:一個麵包板、很多電線、電阻、LED、電池、擴展板、電源模塊、水位傳感器、數字鍵盤、液晶屏、按鈕、搖杆、步進馬達和伺服馬達、紅外接收器和發射器、繼電器、超聲波傳感器等等。 另一個非常完整且更便宜的套件(但似乎零件和傳感器較少)是 ELEGOO UNO Project Super Starter Kit with Tutorial and UNO R3 Compatible with Arduino IDE。 我給我的一位朋友送了其中一個,很酷。 還有其他類似的套件,但請確保板子是 Arduino Uno,這是更好的起點。 然後我建議你購買一個多用表。任何多用表都可以,你可以在當地工具店或互聯網上的任何地方買到。 就先這樣。你需要先試試便宜的套件,然後如果你喜歡嘗試電子設備,就沒有極限了。 你可以購買一個具有 WiFi 和藍牙通信功能的設備,例如 Arduino MKR Wifi 1010 和 Arduino MKR GPS shield 來使用 GPS 等功能。

談論不同主題的寫作

我已經在這個博客上寫了很長一段時間了。在這段時間裡,我涵蓋了許多不同的主題。 回顧往事,我從一些隨機的 Web 開發主題開始,然後專注於 Go、React、Node.js、CSS、HTML、瀏覽器 APIs、Next.js、Vue.js、Svelte、數據庫、Python、Swift,甚至電子學和 C 語言。 有時候,當我有希望寫一些與我通常所寫的主題不同的內容時,我會考慮一下。 這是我的博客,它不是一本名為“Web 開發”或其他類似的出版物。 儘管如此,當你長時間寫關於一個主題時,即使是像我這樣涵蓋了廣泛範圍的主題,你也會開始覺得自己與讀者之間有一個“合約”。 如果我決定寫關於 X 的內容而讀者對此不感興趣,會發生什麼事呢?他們會停止閱讀或關注這個博客嗎?他們會取消訂閱郵件通訊嗎? 除非你完全偏離了主題,否則幾乎從不會有這種情況。 你讀到了上面的主題列表嗎?它們之間幾乎沒有什麼相關性,除了它們都與編程有關。但是一位 React 開發者對於 C 語言或 CSS 沒有興趣。 因此,廣泛的專業領域是編程,在這個領域下我可以寫關於任何事情。 如果我開始寫關於園藝、狗、或者徒步旅行之類的內容,那就不一樣了。 有時候我會談論商業方面的事情,或者內容的製作,但這些都是相關的。 我考慮過在旅行時寫一些類似“旅遊博客”的帖子,只是為了做些不同的事情。也許有一天我會寫,儘管我不想讓讀者困惑。還有 Google 啊哈哈。 對我來說,規則是寫我想寫的內容。每天寫一篇帖子是關鍵。否則我早就停下來了。如果有一天我想寫關於旅行、烹飪或其他任何事情的內容,我就會去寫。 有時候我寫一篇關於如何為數字遊牧在整個歐洲旅行期間設置我的面包車的帖子,說實話,關於這些主題我獲得了更多的回覆。也許只是因為在他們那個時代這有些不尋常。 我將來要做的一件事是開始寫關於 SwiftUI 和 iOS 開發的內容。我已經考慮了好幾個月了。其實,我想已經有幾年了。 但現在我覺得是合適的時候了。 過去,我決定寫一些我不是非常熱衷的主題,比如數據庫。我對數據庫有多少熱情呢?我開始寫了幾天後就停下來了。 但我想,我可以寫一些我對於 iOS 應用的想法,計劃階段,開發過程,上架 App Store,等等的內容,這可能是我的一部分讀者非常感興趣的內容。 也許他們也有一個 iOS 應用的想法,這可能會是他們開始的觸發點。 我是否對 Web 開發厭倦了?絕對不是。而且任何 iOS 應用也需要與 Web 或 API 相應的對應組件,所以這不意味著我會停止寫關於它的內容。 而且我喜歡 JavaScript。 我只是喜歡編程。用代碼創造事物。不管是 Web 應用、iOS 應用還是桌面應用,都無關緊要。 對我來說,改變一下我寫關於什麼的方式只是為了多元化並保持我的能量水平高。 對我來說一直都是這樣。我會工作在一個 Web 應用上,然後轉到 iOS 應用,然後再轉到 macOS 開發,然後再回到 Web 應用。...

電子基礎:短路

在電子系統中,我們可以有不同的元件執行不同的工作,結合在一起形成一個電路。 在一個典型的電路中,我們有一個電壓源,以及具有某種功用的裝置。 電壓源可以是電池,或者例如提供電力的Arduino板。 假設電壓是5V。我們有一個正極和一個負極。 如果我們使用一根電線將這兩個極直接連接在一起,我們將會產生一個短路。 短路是非常糟糕的情況,也是電路中問題最常見的原因之一,在實踐中,我們采取各種預防措施,因為它可能導致我們的設備和元件受到嚴重損壞,使它們無法使用。 即使在1.5V電池的情況下,正極和負極之間流經的電流也可能引發火災(我不建議嘗試,但這是一種在露營時忘記打火機時點燃火源的酷技巧)。 想像一下如果是一個更大的電池會發生什麼。某些電池(包括您手機中使用的電池)將在短路時爆炸。 總之,盡一切可能避免短路,並要注意。

電子學入門

介紹關於電子學的新系列 這篇文章是我想要開始關於電子學的新系列。 電子學是我非常熱衷的領域,我相信它跟程式設計非常類似。我們將輸入轉換成輸出,通過將簡單的元件結合成更複雜的結構來創建有用的系統。 這與我們在軟體程式設計中做的事情很相似,只是電子學更加實際,而且在屏幕前工作時,我們可以暫時中斷,轉而專注於讓我們能創建實際的現實世界項目的工藝中。當你加入像Arduino這樣的可編程開發板時,這就是實際的嵌入式,低層次的程式設計。 我之前有一點談論過電子學,只是不多。 特別是我在《Arduino簡介》(/arduino-introduction/)中談到了Arduino,並且我寫了一篇《Arduino程式語言簡介》(/arduino-programming-language/)的介紹。 然後,我介紹了三個熱門的開發板: Arduino Uno rev 3 Arduino Uno WiFi rev 2 Arduino MKR WiFi 1010 並且我還將Arduino與另一個非常受歡迎的設備,樹莓派進行了比較:[/arduino-vs-raspberry-pi/]。 這就是我在這個博客中關於電子學的範疇。 這些都是非常高層次的。Arduino是一個非常簡單易用的開發板,但在底層它還抽象了很多微小的細節並提供了很多內建設施。 Arduino是一個非常有趣的電子學入門點。 不過,從跟隨“點亮LED”教程到真正掌握電子學還有很長一段路要走。 這個系列的目的是,提供一個更深入的電子學探索。從一個不同角度,避免過多講解理論和數學。 抽象微小的細節,但實際應用這些概念。 為什麼要開始談論電子學?嗯,因為我喜歡談論它、閱讀它、觀看相關視頻,同時我也喜歡使用電子設備和電子元件來創造東西。 當你對電子學和電力有了基本的理解後,將會打開一個嶄新的世界。 在過去的十年裡,我們從一個將電腦安裝在桌子上的社會進化成每個人口袋中都有一台功能強大、連接到互聯網的設備。 我相信在未來,隨著5G、廉價移動網絡以及可再生能源的不斷進步,我們將完全沉浸在比今天更多的電子世界中,而理解這一切的工作原理是一種非常有價值的技能。 這是一個可以為你帶來高薪的技能,同時也是一種可以在DIY和工藝中獲得很多滿足感的技能。 自己製作設備和工具,並且看到它們在現實世界中真的工作,這讓你對自己感到非常自豪。 當然,你可能不會學會如何製作下一代iPhone,但也許你會學會如何創建一個簡化版的計算機,或者如何製作一些很酷的電路。 相比於其他更昂貴的嗜好,這是一個很廉價的選擇。 我是一個程式設計師和工程師,我在高中和大學時學過電子學,但通過這個系列,我想要重新學習電子學,從基礎知識開始,與你一同學習。 首先,我們將深入討論模擬電子學。 我們先談論一些基礎知識: 模擬與數位 電流 電壓 Vcc、接地、… 電阻 短路 你的第一個電路 使用面包板進行原型設計 使用多用表測量電壓、電流和電阻 接著,我們將深入研究電子元件: 電阻器 發光二極體(LED) 二極管 按鈕 電位計 電容器 電感器 開關 變壓器 晶體管 閘流體 七段顯示器 LED顯示器 液晶顯示器 光敏二極體 蜂鳴器和揚聲器 接下來我們將探索讓我們與外界進行接口和獲取數據的傳感器的奇妙世界,包括: 熱敏電阻 熱偶 傾斜傳感器 加速度傳感器 壓力傳感器 振動傳感器 濕度傳感器 聲音傳感器 光敏電阻 光敏閘流體 光敏晶體管 磁感應器 接近傳感器 麥克風 鍵盤 我們將學習如何使用這些傳感器以及如何使用Arduino板進行有趣的實踐:...

麵包板電源模組

在我的一些電子教程中,我通常會將電路連接到一個9V電池,因為這是非常簡單且容易找到的。 但這並不是最佳的解決方案。首先,電池會隨著時間的推移而耗盡,無法提供所宣稱的9V電壓。 麵包板電源模組通過從電池、12V適配器或其他任何電源的“桶型插孔”輸入,根據我們的需求為電路提供5V或3.3V電壓。我們將很快引入Arduino系列開發板到我們的電路中,而所有的Arduino電路都將使用這些電壓。 有很多不同的模組可供選擇,這是我想要向你展示的電源模組,它是Elegoo套件的一部分,我建議你去購買,但也有其他品牌販售相同形狀和特性的產品,你可以在亞馬遜上搜索“Arduino電源”來看看其他選擇: ! ! ! ! ! 輸入電壓範圍為6.5V至9V直流電。 最大輸出電流為700mA。 我們可以直接將其連接到麵包板上: ! ! ! 然後,你可以在每側選擇要應用到麵包板上的電壓,可以獨立選擇5V,例如這種情況: ! 或者3.3V,通過更改跳線的位置: ! 你也可以將其關閉,將跳線放置在中間位置: ! 然後,你可以使用桶型插孔連接到12V至220V適配器: ! 按下灰色按鈕開啟它,LED燈將會亮起: ! ! USB端口並不是用來為電源模組供電的,它用於根據需要供電給USB設備(例如Arduino)。 麵包板上還有其他提供GND、5V和3.3V的輸出接口,以防需要使用: !