Arduino Create 平台

Arduino Create 是一個雲端編輯器,讓您可以直接在瀏覽器中編寫和編譯程式碼。 您可以在 http://create.arduino.cc 上使用這個令人驚嘆的工具。 在這篇文章中,我想要探索網頁編輯器的功能。 使用這個編輯器,您不需要在電腦上安裝任何東西來建立 Arduino 程式,除了一個插件以讓它「看見」連接到電腦的板子,但除此之外一切都會自動更新,且無需安裝設定,這讓您能夠快速上手 Arduino。 這是一個免費的工具,提供慷慨的免費層級,在雲端上進行備份且可以在不同設備上使用,支援 Windows、Mac 和 Linux。 它還可以讓您在「Project Hub」(https://create.arduino.cc/projecthub)上分享程式。那是一個您可以分享自己的專案和觀看其他人專案的地方。 當您註冊後,系統會要求您安裝我提到的插件,一旦安裝完成,您就已經完成設定。 前往 https://create.arduino.cc/editor,您將立即看到一個新的 sketch,這是 Arduino 程式的名稱: 在頂端,您可以看到它已經識別出我連接到 USB 埠的 Arduino Uno(/dev/cu.usbmodem14301 行顯示了 USB 埠)。它會自動識別 Arduino 板子。 在左側有一個側邊欄。 Examples 選單列出了許多預先製作的範例,包括程式碼、說明,以及一些情況下還包含電路圖和電路圖片: 這個 Examples 選單中還有一個方便的「From libraries」分頁,列出了由 Arduino 函式庫提供的範例。 Libraries 選單列出了官方的 Arduino 函式庫,以及許多由社群貢獻的函式庫。 很好的一點是您可以將函式庫標記為收藏,並能輕鬆找到它們。 側邊欄中的第四個項目是串口監視器(serial monitor),這是一個非常方便的工具,用於除錯和從 Arduino 程式中獲取資訊(也可向板子發送資訊): 接下來是行內說明,其中包含一些教學、偏好設定以及您的使用配額,例如儲存空間、編譯時間和專案數量等等。 每天使用配額有一個限制,包括 100MB 的儲存空間、100 個 Sketch 和 200 秒的編譯時間,超過限制後,您可以升級到每月 6.99 美元的付費方案,該方案還包括一些先進的物聯網功能,我將在另一篇文章中詳細介紹。

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充電電路對外部電池充電。...

Arduino Uno rev 3 開發板

這是製作原型的Arduino參考版本,許多教程都以這個版本的Arduino作為參考開發板。 Arduino Uno Rev 3是一款微控制器開發板。 這是製作原型的Arduino參考版本,許多教程都以這個版本的Arduino作為參考開發板。 它具有與Arduino 101、Arduino Zero、Arduino Yún、Arduino Leonardo、Arduino Uno Wifi rev 2和Arduino Ethernet相同的外觀和大小。 它配備了一款8位微控制器ATmega328P,擁有32 KB的Flash記憶體、2 KB的SRAM和1 KB的EEPROM。 Arduino以16MHz的頻率運行,工作電壓為5V,建議輸入電壓範圍為7V至12V。 在I/O方面,Arduino Uno具有一個可供計算機使用的USB-B端口,用於傳輸新的程式。它具有一個電源輸入和一組I/O引腳。它有20個I/O引腳,其中14個是數位引腳,6個是具有10位元的類比引腳,映射值範圍為0至1023。 在上圖中,我們可以看到頂部的14個數位I/O引腳,這些引腳可以通過程式設定為輸出引腳或輸入引腳。 底部是電源引腳和6個類比輸入引腳。 板子上還有一個內置LED,連接到引腳13,提供狀態信息。 Arduino Uno配備了一個USB端口,可以將其連接到計算機並加載程式。 Arduino沒有操作系統,一次只運行一個程式。 加載程式後,Arduino在通過USB或電源端口由AC至DC電源線或電池供電時啟動。這意味著一旦加載程式,您可以將Arduino放在有太陽能電池板和電池的山上,它將一直運行,直到沒有電源。 Arduino, Development Board, Microcontroller, Prototyping

Arduino vs Raspberry Pi

對比兩個最受歡迎的 tinkering 平台 最近我買了一個 Arduino。 在我構思要在 15 年無觸碰電阻器後玩弄電子裝置的點子時,我記得我花了一些時間搜索什麼樣的裝置最適合我想做的事情。 在這方面,最受歡迎的兩個平台有 Arduino 和 Raspberry Pi。雖然還有許多其他平台,但這兩個是最受歡迎的,我想在這篇文章中解釋一下這兩者的不同之處。 這是 Arduino Uno,我們將以它作為例子,雖然 Arduino 還提供許多不同的板子。這是我選擇的板子,順便說一下: 這是 Raspberry Pi Model B+: 一開始看它們相似,芯片、連接器、螺絲孔。 結果,它們實際上非常非常不同。 從核心開始講。Arduino 使用 8 位元微控制器(microcontroller)。Raspberry Pi 使用 64 位元微處理器(microprocessor)。 Arduino 只有 2 KB 的 RAM。Raspberry Pi 有 1GB 的 RAM(是 Arduino 的 500,000 倍)。 在 I/O 方面,Arduino 有一個 USB-B 連接埠可供電腦傳送新的程式來執行,還有一個電源輸入和一組 I/O 引脚。 Raspberry Pi 在這方面更加複雜,有一個視訊輸出、一個 HDMI 連接埠、一個 SD 記憶卡連接埠、一個音訊插孔、一個 CSI 相機連接埠、一個 DSI 顯示器連接埠、4 個 USB 2.0 連接埠,可用於連接 USB 裝置,一個 Gigabit 以太網插孔、無線局域網 (Wireless LAN)、藍牙 4....

Arduino 串列通訊

為了與 Arduino 和其他裝置進行通訊,我們可以使用串列通訊。這通常用於與電腦"對話",以可視化從 Arduino 傳來的資料,以及除錯你的專案。或者,也可以用於與其他裝置進行通訊。 Arduino 內建了 Serial 函式庫,所以你不需要載入任何特別的函式庫來使用它。 計算機與 Arduino 之間的 USB 連接用於向 Arduino IDE 通過串列通訊發送和接收訊息,用於上傳程式到裝置上。 現在讓我們看一下如何通過串列发送資料。 在 Arduino 程式的 setup() 函式中,你需要通過設定串列數據傳輸速率(以波特為單位)來初始化串列通訊。通常使用 9600: Serial.begin(9600); 波特 = 每秒位元數 然後你可以使用一個或多個 Serial 函數。 例如,Serial.print(): Serial.print("Hello!"); 嘗試編譯並上傳這個程式到 Arduino: void setup() { Serial.begin(9600); Serial.print("Hello!"); } void loop() { } 將程式保存並上傳到 Arduino,然後點擊 Arduino IDE 的右上角的"串列監視器"按鈕: 這個按鈕將在計算機上打開串列介面監視器。確保它的波特率與程式中設置的一致,你應該會看到打印出"Hello!“字串: Serial.print() 只是你可以運行的函式之一。 你還可以使用 Serial.println(),它會在寫入的內容後添加 \n 換行符號,這樣每個訊息都會被打印在一行上。 你還可以從這個串列介面監視器向 Arduino 發送訊息。看到上面的輸入框和"發送"按鈕了嗎? 在 Arduino 程式中,你可以使用 Serial.read()。字符是使用 ASCII 編碼的,如果你執行這個程式: void setup() { Serial.begin(9600); } void loop() { if (Serial....

Arduino 項目:tone() 函式

Arduino 語言提供的 tone() 函式可以用於使用被動蜂鳴器播放音符。 結合不同的 tone() 調用,我們可以播放曲子。 以下是使用方式: tone(<PIN>, <FREQUENCY>) 例如,在連接到引腳 8 的蜂鳴器上播放 C7 音符: #define NOTE\_C7 2093 tone(8, NOTE\_C7) 頻率以赫茲 (hz) 表示 可以調用 noTone(<PIN>) 函式停止播放: tone(8, NOTE\_C7) delay(100) noTone(8) 第三個參數可以設置音符的持續時間,這樣就不需要調用 noTone() 函式: tone(8, NOTE\_C7, 100) 我從 Arduino 官方的 toneMelody 範例 中獲得了其他音符的頻率。我在這裡將它們複製供參考: #define NOTE\_B0 31 #define NOTE\_C1 33 #define NOTE\_CS1 35 #define NOTE\_D1 37 #define NOTE\_DS1 39 #define NOTE\_E1 41 #define NOTE\_F1 44 #define NOTE\_FS1 46 #define NOTE\_G1 49 #define NOTE\_GS1 52 #define NOTE\_A1 55 #define NOTE\_AS1 58 #define NOTE\_B1 62 #define NOTE\_C2 65 #define NOTE\_CS2 69 #define NOTE\_D2 73 #define NOTE\_DS2 78 #define NOTE\_E2 82 #define NOTE\_F2 87 #define NOTE\_FS2 93 #define NOTE\_G2 98 #define NOTE\_GS2 104 #define NOTE\_A2 110 #define NOTE\_AS2 117 #define NOTE\_B2 123 #define NOTE\_C3 131 #define NOTE\_CS3 139 #define NOTE\_D3 147 #define NOTE\_DS3 156 #define NOTE\_E3 165 #define NOTE\_F3 175 #define NOTE\_FS3 185 #define NOTE\_G3 196 #define NOTE\_GS3 208 #define NOTE\_A3 220 #define NOTE\_AS3 233 #define NOTE\_B3 247 #define NOTE\_C4 262 #define NOTE\_CS4 277 #define NOTE\_D4 294 #define NOTE\_DS4 311 #define NOTE\_E4 330 #define NOTE\_F4 349 #define NOTE\_FS4 370 #define NOTE\_G4 392 #define NOTE\_GS4 415 #define NOTE\_A4 440 #define NOTE\_AS4 466 #define NOTE\_B4 494 #define NOTE\_C5 523 #define NOTE\_CS5 554 #define NOTE\_D5 587 #define NOTE\_DS5 622 #define NOTE\_E5 659 #define NOTE\_F5 698 #define NOTE\_FS5 740 #define NOTE\_G5 784 #define NOTE\_GS5 831 #define NOTE\_A5 880 #define NOTE\_AS5 932 #define NOTE\_B5 988 #define NOTE\_C6 1047 #define NOTE\_CS6 1109 #define NOTE\_D6 1175 #define NOTE\_DS6 1245 #define NOTE\_E6 1319 #define NOTE\_F6 1397 #define NOTE\_FS6 1480 #define NOTE\_G6 1568 #define NOTE\_GS6 1661 #define NOTE\_A6 1760 #define NOTE\_AS6 1865 #define NOTE\_B6 1976 #define NOTE\_C7 2093 #define NOTE\_CS7 2217 #define NOTE\_D7 2349 #define NOTE\_DS7 2489 #define NOTE\_E7 2637 #define NOTE\_F7 2794 #define NOTE\_FS7 2960 #define NOTE\_G7 3136 #define NOTE\_GS7 3322 #define NOTE\_A7 3520 #define NOTE\_AS7 3729 #define NOTE\_B7 3951 #define NOTE\_C8 4186 #define NOTE\_CS8 4435 #define NOTE\_D8 4699 #define NOTE\_DS8 4978

Arduino 項目:使用瀏覽器點亮內建LED

在這篇教學中,我們將擴展 Arduino Web Server 範例 ,以便可以通過瀏覽器向 Arduino 發送指令。 我們將透過存取 /on 的 URL 點亮 Arduino 上的內建 LED,並透過開啟 /off 的 URL 來關閉它。其他任何指令都將無效。 以下是來自其他教學的程式碼: #include <SPI.h> #include <WiFiNINA.h> WiFiServer server(80); void setup() { char ssid[] = SECRET_SSID; char pass[] = SECRET_PASS; Serial.begin(9600); while (!Serial); int status = WL_IDLE_STATUS; while (status != WL_CONNECTED) { Serial.print("Connecting to "); Serial.println(ssid); status = WiFi.begin(ssid, pass); delay(5000); } Serial.print("IP address: "); Serial.println(WiFi.localIP()); server.begin(); } void loop() { WiFiClient client = server....

Arduino 項目:建立數位溫度計

在這個項目中,我想結合兩個元件,即 1602 LCD 顯示器和 DHT11 溫濕度傳感器,以創建一個實際可用的數位溫度計。 在我們開始之前,先閱讀 DHT11 教學,該教學解釋了如何從傳感器讀取數據: link 然後再閱讀 1602 LCD 教學,其中我解釋了如何將數據寫入顯示器: link 完成後,從電路的角度來看,你只需要將兩個電路添加到同一個基於 Arduino 的項目中: link 實際效果如下: images images images 從程式碼方面來看,我們做了類似的事情。首先,我們先引入 DHT 和 LiquidCrystal 函式庫,然後初始化這兩個元件。 我們在 setup() 中初始化它們,然後在 loop() 中每 2 秒檢查從傳感器接收到的數據,並將其顯示在 LCD 顯示器上: #include <LiquidCrystal.h> #include <DHT.h> DHT dht(2, DHT11); LiquidCrystal lcd(7, 8, 9, 10, 11, 12); void setup() { dht.begin(); lcd.begin(16, 2); } void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { return; } lcd....

arduino-power-bank

#使用行動電源為Arduino供電 我在進行一個Arduino專案時,完成後我說:“嗯,如果能用USB行動電源為它供電並放在室外就很酷了”。 我就這樣做了。我連接了Arduino與行動電源,它工作了! 但大約20秒後,Arduino關機了。 原來是行動電源關閉了。連同Arduino一起關機了。 事實證明,Arduino消耗的電力不足以讓行動電源察覺到有東西連接,它只是浪費電力。 我找到了一些解決方案,包括讓Arduino消耗更多電力。像是這裡所提到的方式。 或者找一個不會自動關閉的行動電源。 在我的情況下,我決定使用可充電電池,因為我正在使用Arduino MKR 1010 WiFi,並且它有一個3.7V的鋰電池選項。

arduino-read-values-http

#從Arduino通過HTTP讀取數值 在本教程中,我想擴展Arduino Web Server教程以讀取由傳感器測量的數值,這樣我們只需打開瀏覽器上的一個頁面就可以看到數據。 例如,我們將使用DHT11傳感器測量溫度,並使用接近傳感器測量對象距離。 我們通過訪問/on URL點亮Arduino上的內置LED,並通過打開/off URL關閉它。其他任何操作都不起作用。 這是來自其他教程的代碼: #include <SPI.h> #include <WiFiNINA.h> WiFiServer server(80); void setup() { char ssid[] = SECRET\_SSID; char pass[] = SECRET\_PASS; Serial.begin(9600); while (!Serial); int status = WL\_IDLE\_STATUS; while (status != WL\_CONNECTED) { Serial.print("Connecting to "); Serial.println(ssid); status = WiFi.begin(ssid, pass); delay(5000); } Serial.print("IP address: "); Serial.println(WiFi.localIP()); server.begin(); } void loop() { WiFiClient client = server.available(); if (client) { String line = ""; while (client.connected()) { if (client....