基于Arduino的雙模科學計算器設計
這款基于 Arduino 的雙模式科學計算器是一種多功能且高效的工具,可用于基本和高級計算。在普通模式下,它用作標準計算器,通過 4×4 鍵盤執行加、減、乘、除。結果清晰地顯示在 OLED 屏幕上。按鈕開關可在模式之間無縫切換,以增加靈活性。
本文引用地址:http://cqxgywz.com/article/202506/471616.htm在科學模式下,計算器擴展了其功能以處理高級運算,例如正弦、余弦、正切和平方根計算,非常適合需要三角函數或代數計算的學生、工程師和專業人士。OLED 顯示屏確保清晰可見,而鍵盤的多功能布局在緊湊的設計中支持標準和科學輸入。
按鈕模式開關提高了可用性,使設置適用于各種用例。作者的原型如圖 1 所示,所需組件列在物料清單表中。

圖 1:作者的雙模科學計算器原型
| 物料清單 | |
| 項目 | 數量 |
| Arduino Uno | 1 |
| 4×4 鍵盤 | 1 |
| OLED 顯示屏 (SSD1306) | 1 |
| 按壓式開關 (SW1) | 1 |
| 跳線 | 根據要求 |
雙模科學計算器電路和工作
圖 2 顯示了基于 Arduino 的雙模科學計算器的電路圖。該設計通過結合 Arduino Uno、OLED 顯示屏和簡單的鍵盤接口,展示了硬件資源的有效利用,使設備具有成本效益且易于實現。用于模式切換按鈕的內部上拉電阻器可防止誤觸發,確保穩定運行。

圖 2: 電路圖
該計算器還為電子和編程愛好者提供了寶貴的學習機會。它涵蓋了基本概念,例如鍵盤接口、顯示處理和使用 Arduino 實現數學計算。總體而言,這種可定制和可擴展的設計為嵌入式系統開發提供了實用的動手實踐介紹。
硬件設置包括通過 I2C 協議(VCC 到 5V、GND 到 GND、SDA 到 A4 和 SCL 到 A5)連接 OLED 顯示器。4×4 鍵盤連接到 Arduino 的數字引腳,其中行連接到引腳 D9、D8、D7 和 D6,列連接到引腳 D5、D4、D3 和 D2。按鈕接地并連接到 Arduino 的引腳 D10。按下按鈕 (SW1) 時,計算器切換到科學模式,在 OLED 屏幕上顯示“科學模式”。
Arduino 代碼的結構用于檢測鍵盤輸入、處理數字和運算符,并相應地更新 OLED 顯示屏。loop() 函數持續檢查按鈕的狀態,在標準模式和科學模式之間切換。當按下一個鍵時,程序會根據活動模式確定適當的作,并在 OLED 上動態顯示結果。
計算器的作模式
該計算器具有三種作模式:正常、科學和切換。每個方法如下所述。
Normal:用于基本算術運算。在此模式下,鍵盤的功能如下:
A – 乘法 (*)
B – 加法 (+)
C – 減法 (-)
D – 除法 (/)
* – 清除輸入
# – 執行計算
科學模式:啟用高級作。在此模式下,相同的鍵將重新分配給:
A – sin(值)
B – cos(值)
C – tan (值)
D – sqrt (值)
* – 清除輸入
開關: 連接到 Arduino 引腳 D10 的按鈕可在正常模式和科學模式之間切換。
雙模科學計算器的 Arduino 代碼
計算器的源代碼是使用 Arduino IDE 開發的。需要 Adafruit SSD1306 OLED 顯示庫和 Keypad.h 庫。添加庫后,可以通過選擇適當的端口和板將代碼上傳到 Arduino。圖 3 顯示了源代碼的一個片段。

圖 3: 源代碼片段構造和測試
將源代碼上傳到 Arduino Uno 后,應按照電路圖所示組裝組件(參見圖 2)。必須將 12V、2A 適配器連接到 Arduino Uno 的直流電源插座。
要作計算器,請首先檢查當前模式。如果需要切換模式,請按下按鈕 (SW1)。然后,所選模式將處于活動狀態并可供使用。









評論