基于Arduino的雙??茖W計算器設計
這款基于 Arduino 的雙模式科學計算器是一種多功能且高效的工具,可用于基本和高級計算。在普通模式下,它用作標準計算器,通過 4×4 鍵盤執(zhí)行加、減、乘、除。結(jié)果清晰地顯示在 OLED 屏幕上。按鈕開關可在模式之間無縫切換,以增加靈活性。
本文引用地址:http://www.bjwjmy.cn/article/202506/471616.htm在科學模式下,計算器擴展了其功能以處理高級運算,例如正弦、余弦、正切和平方根計算,非常適合需要三角函數(shù)或代數(shù)計算的學生、工程師和專業(yè)人士。OLED 顯示屏確保清晰可見,而鍵盤的多功能布局在緊湊的設計中支持標準和科學輸入。
按鈕模式開關提高了可用性,使設置適用于各種用例。作者的原型如圖 1 所示,所需組件列在物料清單表中。
圖 1:作者的雙??茖W計算器原型
物料清單 | |
項目 | 數(shù)量 |
Arduino Uno | 1 |
4×4 鍵盤 | 1 |
OLED 顯示屏 (SSD1306) | 1 |
按壓式開關 (SW1) | 1 |
跳線 | 根據(jù)要求 |
雙??茖W計算器電路和工作
圖 2 顯示了基于 Arduino 的雙??茖W計算器的電路圖。該設計通過結(jié)合 Arduino Uno、OLED 顯示屏和簡單的鍵盤接口,展示了硬件資源的有效利用,使設備具有成本效益且易于實現(xiàn)。用于模式切換按鈕的內(nèi)部上拉電阻器可防止誤觸發(fā),確保穩(wěn)定運行。
圖 2: 電路圖
該計算器還為電子和編程愛好者提供了寶貴的學習機會。它涵蓋了基本概念,例如鍵盤接口、顯示處理和使用 Arduino 實現(xiàn)數(shù)學計算。總體而言,這種可定制和可擴展的設計為嵌入式系統(tǒng)開發(fā)提供了實用的動手實踐介紹。
硬件設置包括通過 I2C 協(xié)議(VCC 到 5V、GND 到 GND、SDA 到 A4 和 SCL 到 A5)連接 OLED 顯示器。4×4 鍵盤連接到 Arduino 的數(shù)字引腳,其中行連接到引腳 D9、D8、D7 和 D6,列連接到引腳 D5、D4、D3 和 D2。按鈕接地并連接到 Arduino 的引腳 D10。按下按鈕 (SW1) 時,計算器切換到科學模式,在 OLED 屏幕上顯示“科學模式”。
Arduino 代碼的結(jié)構(gòu)用于檢測鍵盤輸入、處理數(shù)字和運算符,并相應地更新 OLED 顯示屏。loop() 函數(shù)持續(xù)檢查按鈕的狀態(tài),在標準模式和科學模式之間切換。當按下一個鍵時,程序會根據(jù)活動模式確定適當?shù)淖?,并?OLED 上動態(tài)顯示結(jié)果。
計算器的作模式
該計算器具有三種作模式:正常、科學和切換。每個方法如下所述。
Normal:用于基本算術(shù)運算。在此模式下,鍵盤的功能如下:
A – 乘法 (*)
B – 加法 (+)
C – 減法 (-)
D – 除法 (/)
* – 清除輸入
# – 執(zhí)行計算
科學模式:啟用高級作。在此模式下,相同的鍵將重新分配給:
A – sin(值)
B – cos(值)
C – tan (值)
D – sqrt (值)
* – 清除輸入
開關: 連接到 Arduino 引腳 D10 的按鈕可在正常模式和科學模式之間切換。
雙模科學計算器的 Arduino 代碼
計算器的源代碼是使用 Arduino IDE 開發(fā)的。需要 Adafruit SSD1306 OLED 顯示庫和 Keypad.h 庫。添加庫后,可以通過選擇適當?shù)亩丝诤桶鍖⒋a上傳到 Arduino。圖 3 顯示了源代碼的一個片段。
圖 3: 源代碼片段構(gòu)造和測試
將源代碼上傳到 Arduino Uno 后,應按照電路圖所示組裝組件(參見圖 2)。必須將 12V、2A 適配器連接到 Arduino Uno 的直流電源插座。
要作計算器,請首先檢查當前模式。如果需要切換模式,請按下按鈕 (SW1)。然后,所選模式將處于活動狀態(tài)并可供使用。
評論