色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Arduino構建一個計算器

科技觀察員 ? 來源:circuitdigest ? 作者:阿斯文斯·拉吉 ? 2022-11-21 17:43 ? 次閱讀

編程總是很有趣,如果你剛剛開始嵌入式編程,Arduino是一個很好的平臺。在本教程中,我們將使用 Arduino 構建自己的計算器。這些值可以通過鍵盤(4×4 鍵盤)發送,結果可以在LCD 屏幕上查看(16×2 點陣)。該計算器可以執行簡單的運算,例如整數的加法,減法,乘法和除法。但是一旦你理解了這個概念,你甚至可以使用Arduino的內置函數實現科學函數。

在本項目結束時,您將了解如何將 16x2 LCD 和鍵盤與 Arduino 一起使用,以及使用現成的庫為它們編程是多么容易。

所需材料:

Arduino Uno (任何版本都可以)

16×2 液晶顯示屏

4×4 鍵盤

9V電池

試驗板和連接線

電路圖:

poYBAGN7SESACMv_AADo7IaSfUI480.png

上面給出了這個Arduino計算器項目的完整電路圖。電路圖中顯示的+5V和接地連接可以從Arduino的5V和接地引腳獲得。Arduino本身可以從筆記本電腦或通過DC插孔使用12V適配器或9V電池供電

我們使用Arduino以4位模式操作LCD,因此只有LCD的最后四個數據位連接到Arduino。鍵盤將有 8 個輸出引腳,必須從引腳 0 連接到引腳 7,如上所示。您可以使用以下連接表來驗證您與Arduino的連接,也可以檢查4x4鍵盤與Arduino的接口

Arduino 引腳名稱: 連接到:
D0 1圣鍵盤的銷釘
D1 2德·鍵盤的銷釘
D2 3RD鍵盤的銷釘
D3 4千鍵盤的銷釘
D4 5千鍵盤的銷釘
D5 6千鍵盤的銷釘
D6 7千鍵盤的銷釘
D7 8千鍵盤的銷釘
D8 注冊液晶屏選擇引腳(引腳4)
D9 液晶屏的使能引腳(引腳 6)
D10 數據引腳 4(引腳 11)
D11 數據引腳 4(引腳 11)
D12 數據引腳 4(引腳 11)
D13 數據引腳 4(引腳 11)
(55 連接到液晶屏的 Vdd 引腳(引腳 2)
連接到液晶屏的 Vss、V 形和 RW 引腳(引腳 1、3 和 5)

如果有任何連接到引腳 0 和 pin1 的內容,某些 Arduino 板可能會在上傳程序時顯示錯誤,因此,如果您遇到任何問題,只需在上傳程序時刪除鍵盤即可。

連接完成后,您的硬件將如下所示

pYYBAGN7SEaAKzyLAAD2znorMbM407.jpg

Arduino計算器程序:
該項目的完整Arduino程序在本項目結束時給出。代碼被分成有意義的小塊,并在下面解釋。

如前所述,我們將使用庫將LCD和鍵盤與Arduino連接。因此,讓我們先將它們添加到Arduino IDE中。默認情況下,LCD庫已包含在Arduino中,因此我們不必擔心。對于鍵盤庫,單擊鏈接以從Github下載。您將獲得一個 ZIP 文件,然后通過 Sketch -> Include Library -> 添加.ZIP文件并將位置指向此下載文件添加到 Arduino。完成后,我們就可以進行編程了。

盡管我們使用了一個庫來使用鍵盤,但我們不得不提到一些關于Arduino鍵盤的細節(如下所示)。變量 ROWS 和 COLS 將告訴我們的鍵盤有多少行和列,鍵盤映射顯示按鍵在鍵盤上出現的順序。我在這個項目中使用的鍵盤如下所示,鍵映射也表示相同。

下面我們進一步提到了鍵盤使用可變數組 rowPins 和 colPin 連接到哪些引腳。

const byte ROWS = 4; // Four rows
const byte COLS = 4; // Three columns

// Define the Keymap
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = { 0, 1, 2, 3 };// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte colPins[COLS] = { 4, 5, 6, 7 }; // Connect keypad COL0, COL1 and COL2 to these Arduino pins.
一旦我們提到了我們正在使用的鍵盤類型及其連接方式,我們就可以使用以下行使用這些詳細信息創建鍵盤

Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); // Create the Keypad
同樣,我們還必須告訴LCD連接到Arduino的哪些引腳。根據我們的電路圖,定義如下

const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; //Pins to which LCD is connected
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //create the LCD
在設置函數中,我們只顯示項目的名稱,然后繼續主項目所在的 while 循環。

基本上,我們必須檢查鍵盤上是否鍵入了任何內容,如果鍵入,我們必須識別正在鍵入的內容,然后在按下“=”時將其轉換為變量,我們必須計算結果,然后最終將其顯示在LCD上。這正是循環函數內部所做的,如下所示

key = kpd.getKey(); //storing pressed key value in a char

if (key!=NO_KEY)
DetectButtons();

if (result==true)
CalculateResult();

DisplayResult();
使用注釋行解釋每個函數內部發生的情況,瀏覽下面的完整代碼,擺弄它以了解它的實際工作原理

Arduino計算器的模擬

我們也可以嘗試使用 Proteus 軟件模擬項目。Proteus本身沒有Arduino組件,但可以輕松下載并添加到其庫中。在Proteus上安裝Arduino組件后,只需添加字母數字LCD和鍵盤即可進行連接,如電路圖所示。

然后從這里下載十六進制文件,并通過雙擊Proteus將其添加到Arduino中,并將“程序文件”指向此下載的十六進制文件。模擬的快照如下所示,完整的工作顯示在下面的視頻中。

poYBAGN7SEiAFUQ_AAD26RBdkys513.jpg

注意:給出的十六進制文件與下面給出的程序的原始文件不同。由于仿真鍵盤的鍵盤映射和實際硬件鍵盤的鍵盤映射是不同的。

Arduino計算器的工作:

按照電路圖進行連接并上傳下面的代碼。如果顯示錯誤,請確保已按照上面給出的說明添加了庫。您還可以嘗試模擬以檢查問題是否出在您的硬件上。如果一切都按預期完成,那么您的硬件將如下所示,LCD 顯示此

pYYBAGN7SEmAWMvTAACwn_J-zx0532.jpg

由于此處使用的鍵盤上沒有適當的標記,因此我假設字母表是下面列出的運算符

鍵盤上的字符 假定為
“A” 加法 (+)
“乙” 減法 (-)
“C” 乘法 (*)
“D” 分區 (/)
"*" 清除 (C)
"#" 等于 (=)

您可以使用標記來覆蓋每個按鈕實際表示的內容。

完成后,您可以直接開始使用計算器。鍵入數字,將出現在第二行,按操作數并鍵入第二個數字,最后按“#”鍵獲得結果。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計算器
    +關注

    關注

    16

    文章

    437

    瀏覽量

    37360
  • Arduino
    +關注

    關注

    188

    文章

    6470

    瀏覽量

    187166
收藏 人收藏

    評論

    相關推薦

    如何使用TFT LCD構建Arduino觸摸屏計算器

    在這個項目中,我們將使用2.4英寸Arduino TFT LCD屏幕來構建我們自己的Arduino觸摸屏計算器,該計算器可以執行所有基本
    的頭像 發表于 01-25 17:06 ?4858次閱讀
    如何使用TFT LCD<b class='flag-5'>構建</b><b class='flag-5'>Arduino</b>觸摸屏<b class='flag-5'>計算器</b>

    設計虛擬計算器

    設計虛擬計算器,無計算時顯示時間,計算器最少具備加、減、乘、除、平方、開方等功能。急急急!{:1:}{:1:}{:1:}
    發表于 05-09 19:28

    設計虛擬計算器

    用labview設計虛擬計算器,無計算時顯示時間,計算器最少具備加、減、乘、除、平方、開方等功能。
    發表于 05-14 13:32

    設計虛擬計算器

    設計虛擬計算器,無計算時顯示時間,計算器最少具備加、減、乘、除、平方、開方等功能。
    發表于 05-14 13:34

    基于GUI的完全xp系統計算器簡單計算器

    基于GUI的完全xp系統計算器簡單的計算器
    發表于 01-07 09:49

    基于Lex & Yacc構建簡單計算器

    Lex & Yacc 學習筆記(2)-簡單計算器
    發表于 05-21 10:45

    如何做一個用遙控控制的計算器

    基于arduino uno r3/ Mega2560,做一個用遙控控制的計算器。。。。。目錄. 實驗材料:(? ?_?)?...
    發表于 02-15 07:42

    基于Arduino的編程計算器

    描述Arduino Nano 編程計算器基于Arduino的編程計算器,用于教育和娛樂。成分Arduino納米LCD1602 16x2 帶
    發表于 09-09 07:04

    很好的計算器

    電子發燒友網站提供《很好的計算器.rar》資料免費下載
    發表于 09-27 19:35 ?59次下載

    點亮LCD屏————遙控計算器 arduino

    基于arduino uno r3/ Mega2560,做一個用遙控控制的計算器。。。。。 目錄
    發表于 12-16 16:47 ?17次下載
    點亮LCD屏————遙控<b class='flag-5'>計算器</b> <b class='flag-5'>arduino</b>

    基于Arduino的編程計算器

    電子發燒友網站提供《基于Arduino的編程計算器.zip》資料免費下載
    發表于 08-18 14:38 ?4次下載
    基于<b class='flag-5'>Arduino</b>的編程<b class='flag-5'>計算器</b>

    Arduino計算器開源分享

    電子發燒友網站提供《Arduino計算器開源分享.zip》資料免費下載
    發表于 10-31 11:42 ?2次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>計算器</b>開源分享

    使用Bolt Iot模塊和Arduino的BPM計算器

    電子發燒友網站提供《使用Bolt Iot模塊和Arduino的BPM計算器.zip》資料免費下載
    發表于 11-21 09:37 ?0次下載
    使用Bolt Iot模塊和<b class='flag-5'>Arduino</b>的BPM<b class='flag-5'>計算器</b>

    基于Arduino的數字計算器

    電子發燒友網站提供《基于Arduino的數字計算器.zip》資料免費下載
    發表于 12-19 09:29 ?3次下載
    基于<b class='flag-5'>Arduino</b>的數字<b class='flag-5'>計算器</b>

    Nextion 3.5英寸LCD 8功能計算器設計方案

    有用的計算器,其樣式類似于Arduino Uno的Windows 10標準計算器。硬件部件:Ardu
    發表于 01-05 16:20 ?0次下載
    主站蜘蛛池模板: 国产精品VIDEOSSEX久久发布| china野外18:19| 俄罗斯aaaaa一级毛片| 末成年美女黄网站色大片连接| 亚洲免费精品| 国产精品免费小视频| 三级在线网址| 成视频高清| 日本乱子人伦在线视频| aaa在线观看视频高清视频| 么么哒日本影院| 365电影成人亚洲网在线观看| 两性午夜刺激爽爽视频| 中文字幕一区中文亚洲| 久久精品国产亚洲AV妓女不卡 | 亚洲国产精品嫩草影院| 国产三级在线精品男人的天堂| 午夜免费小视频| 国产精品资源在线观看网站| 午夜精品久久久久久影视riav| 国产精品夜夜春夜夜爽久久小| 午夜福利试看120秒体验区| 国产 亚洲 日韩 欧美 在线观看| 色综合伊人色综合网站下载| 国产成人免费视频| 无码人妻精品一区二区蜜桃在线看| 国产国产乱老熟女视频网站97| 天天躁夜夜踩很很踩2022| 国产视频精品免费| 亚洲欧美高清在线精品一区| 久久国产免费一区二区三区| 曰曰夜夜在线影院视| 免费看片A级毛片免费看| 99久久就热视频精品草| 欧美性暴力变态xxxx| 动漫美女被爆挤奶歪歪漫画| 吻嘴胸全身好爽床大全| 果冻传媒视频在线观看完整版免费| 野花香在线观看免费观看大全动漫| 久久久久久久尹人综合网亚洲| 506070老熟肥妇bbwxx视频|