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