1K+ 瀏覽量
生成隨機數是微控制器的一個關鍵需求。隨機數有許多應用。我們先不談這個。你一定是為了某個應用才來到這個頁面的。在 Arduino 中生成隨機數非常容易,這要感謝內建的 random() 函式。語法random(min, max)或random(max)其中 min 預設值為 0。Min 是包含的,而 max 是不包含的。因此, random(10, 50) 將返回 10 到 49 之間的整數(包括 10 和 49)。random(100) 將返回 0 到 99 之間的隨機數(包括 0 和 99)。請注意,random 函式的返回值型別是 long。示例void setup() { // 在這裡新增你的初始化程式碼,僅執行一次: ... 閱讀更多
2K+ 瀏覽量
Arduino 提供了 3 個基本的三角函式:sin()、cos() 和 tan()。所有其他三角函式表示式都可以從這三個函式推匯出來。所有這三個函式都以弧度(float 型別)作為輸入。它們返回一個 double。對於 sin() 和 cos(),值介於 -1 和 1 之間。tan() 的值沒有這樣的界限。示例下面的示例程式碼演示了這些函式的使用方法 −void setup() { // 在這裡新增你的初始化程式碼,僅執行一次: Serial.begin(9600); Serial.println(); float pi = 3.14159; float angle_deg = 30; float angle_rad = angle_deg*pi/180; Serial.println(sin(angle_rad)); ... 閱讀更多
4K+ 瀏覽量
Arduino 支援幾個常用的數學函式,平方和平方根就是其中兩個。我們先來看看平方根。語法sqrt(x)其中 x 是任何資料型別的數字。它返回一個 double。對於平方,你理想情況下不需要單獨的函式。你可以直接將數字乘以自身。x_squared = x*x;但是,Arduino 確實有一個單獨的函式用於計算平方。語法是 −sq(x),其中 x 是任何資料型別的數字。它也返回一個 double。示例以下示例演示了這些函式的使用方法 −void setup() { // 在這裡新增你的初始化程式碼,僅執行一次: ... 閱讀更多
5K+ 瀏覽量
在之前的文章中,我們使用了 TimerOne 庫為 Arduino 新增定時器中斷。但如果我們希望在沒有第三方庫的情況下生成定時器中斷呢?在這種情況下,你將需要直接處理 Arduino 中的定時器暫存器。在本文中,我們將僅介紹與定時器操作相關的暫存器並解釋其意義。我們還將提供 ATmega328(用於 Arduino Uno)資料手冊的頁碼,你可以在其中找到有關這些暫存器的詳細資訊。你可以在此處找到資料手冊 −https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdfTCCRxA 和 TCCRxB這些是定時器控制暫存器。x 代表 ... 閱讀更多
Arduino 中 do-while 迴圈的語法與 C 語言中的語法類似。如下所示 −do{ // 程式碼 } while (條件);請注意末尾的分號。示例void setup() { // 在這裡新增你的初始化程式碼,僅執行一次: Serial.begin(9600); Serial.println(); int i = 5; do{ Serial.println(i); i--; } while(i > 0); } void loop() { // 在這裡新增你的主程式碼,迴圈執行: }輸出序列埠監視器輸出如下所示 −
7K+ 瀏覽量
在之前的文章中,我們已經瞭解瞭如何使用 analogWrite() 函式在 Arduino Uno 上設定 PWM。Arduino Uno 的 3、5、6、9、10 和 11 引腳支援 PWM。除了 5 和 6 引腳外,所有引腳上的方波頻率都是 490 Hz(約 2 毫秒週期),而 5 和 6 引腳上的頻率是 980 Hz(約 1 秒週期)。使用 analogWrite() 可以控制佔空比,但不能控制生成的方波的頻率。在本文中,我們將探討另一種在 Arduino Uno 中設定 PWM 的方法,具體針對 Timer1。其優勢在於 ... 閱讀更多
顧名思義,在本教程中,我們將列出連線到 Arduino 的 SD 卡中儲存的檔案。電路圖電路圖如下所示 −如你所見,你需要進行以下連線:SD 卡座Arduino UnoVcc5VGNDGNDMISO12MOSI11SCK13CS10僅對於 Vcc,請確保你的 SD 卡座接收 5V 作為輸入。如果它接收 3.3V,則將其連線到 Arduino Uno 上的 3.3V 引腳。程式碼演練我們將逐步講解內建 SD 庫附帶的示例程式碼。你可以從 檔案 → 示例 → SD → listfiles 訪問它或者,程式碼 ... 閱讀更多
在本教程中,我們將像標題所述,瞭解如何追加到連線到 Arduino 的 SD 卡中的檔案。實際上,這非常簡單。如果你已經閱讀過任何關於 SD 卡的先前文章,那麼你只需要知道myFile = SD.open("example.txt", FILE_WRITE);僅以追加模式開啟 example.txt。之後,myFile.println(dataString);追加到現有檔案,並且不會覆蓋現有內容。如果你還沒有閱讀過任何關於 SD 卡的其他文章,我建議你閱讀“在連線到 Arduino 的 SD 卡中儲存新檔案”這篇文章。這是一篇包含電路的詳細文章 ... 閱讀更多
顧名思義,在本教程中,我們將從連線到 Arduino 的 SD 卡讀取檔案。電路圖電路圖如下所示 −如你所見,你需要進行以下連線:SD 卡座Arduino UnoVcc5VGNDGNDMISO12MOSI11SCK13CS10僅對於 Vcc,請確保你的 SD 卡座接收 5V 作為輸入。如果它接收 3.3V,則將其連線到 Arduino Uno 上的 3.3V 引腳。程式碼演練我們將逐步講解內建 SD 庫附帶的示例程式碼。你可以從 檔案 → 示例 → SD → ReadWrite 訪問它或者,你可以在 ... 閱讀更多
609 瀏覽量
在本教程中,我們將在連線到 Arduino Uno 的 SD 卡中建立一個新檔案。電路圖電路圖如下所示 −如你所見,你需要進行以下連線:SD 卡座Arduino UnoVcc5VGNDGNDMISO12MOSI11SCK13CS10僅對於 Vcc,請確保你的 SD 卡座接收 5V 作為輸入。如果它接收 3.3V,則將其連線到 Arduino Uno 上的 3.3V 引腳。程式碼演練我們將逐步講解內建 SD 庫附帶的示例程式碼。你可以從 檔案 → 示例 → SD → Datalogger 訪問它或者,你可以在 ... 閱讀更多