0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Arduino篇—EEPROM的應(yīng)用

冬至子 ? 來源:X的創(chuàng)客課堂 ? 作者:MRXY ? 2023-11-01 14:39 ? 次閱讀

相關(guān)知識

**紅外計數(shù)測速傳感器:**一般由三部分組成:光的發(fā)射、光的接收及信號放大。輸入的電信號驅(qū)動發(fā)光二極管LED),使之發(fā)出一定波長的光,被光探測器接收而產(chǎn)生光電流,再經(jīng)過進(jìn)一步放大后輸出。

工作原理為通過對紅外發(fā)射光的阻斷和導(dǎo)通,在紅外接收管感應(yīng)出的電流變化來實現(xiàn)開和關(guān)的判斷。有遮擋,輸出高電平;無遮擋,輸出低電平。

TM1637四位數(shù)碼管模塊: 是一個12腳的帶時鐘點(diǎn)的4位共陽數(shù)碼管(0.36英寸)的顯示模塊,驅(qū)動芯片為TM1637,只需2根信號線即可使單片機(jī)控制4位8段數(shù)碼管。可以免去我們前面繁瑣的接線。

圖片

電路搭建

所需材料

ArduinoUno * 1
紅外計數(shù)測速傳感器 * 1
TM1637四位數(shù)碼管模塊 * 1

電路連接

紅外計數(shù)測速傳感器接線:

VCC------>Arduino的+5V
GND------>Arduino的GND
DO------>Arduino的信號端

TM1637四位數(shù)碼管模塊接線:

CLK------>Arduino的信號端
DIO----->Arduino的信號端
VCC------>Arduino的+5V
GND------>Arduino的GND
圖片

程序編寫

練習(xí)一:計數(shù)儲錢罐

使用紅外計數(shù)測速傳感器制作一個能夠計數(shù)的儲蓄罐。

圖形化****方式:

圖片

代碼方式:

在使用代碼編程之前,我們需要先添加TM1637四位數(shù)碼管模塊的庫文件。

點(diǎn)擊arduinoIDLE中的工具-->庫文件管理,在列表中選擇SevenSegmentTM1637進(jìn)行安裝。

圖片

/* 項目名稱:計數(shù)儲蓄罐
 * 項目時間:2022.03.02
 * 項目作者:MRX
 */
#include < SevenSegmentTM1637.h >
int count = 0;
int sensor_Pin = 6;
SevenSegmentTM1637  display(2,3);
void setup(){
  count = 0;
  display.begin();
  display.setBacklight(20);
  display.clear();
  pinMode(sensor_Pin, INPUT);
}
void loop(){
  display.print(count);
  if (digitalRead(sensor_Pin)) {
    delay(1000);
    count = count + 1;
  }
}

練習(xí)二:斷電保留計數(shù)的儲蓄罐

在練習(xí)一的基礎(chǔ)上,實現(xiàn)斷電后,能夠記住之前統(tǒng)計的數(shù)量。并在這個數(shù)量基礎(chǔ)上繼續(xù)計數(shù)。

圖形化方式:

圖片

代碼方式:

/* 項目名稱:斷電保留計數(shù)儲蓄罐
 * 項目時間:2022.03.02
 * 項目作者:MRX
 */
#include < SevenSegmentTM1637.h >
#include < EEPROM.h >


int count = 0;
int sensor_Pin = 6;
SevenSegmentTM1637  display(2,3);
void setup(){
  count = 0;
  display.begin();
  display.setBacklight(20);
  display.clear();
  EEPROM.get(0, count);
  pinMode(sensor_Pin, INPUT);
}
void loop(){
  display.print(count);
  if (digitalRead(sensor_Pin)) {
    delay(1000);
    count = count + 1;
    EEPROM.put(0, count);
  }
}

相關(guān)知識:

**EEPROM Get: **從EEPROM獲得一個值,表達(dá)式為EEPROM.get(address, a)

**EEPROM Put: **用變量來把一些數(shù)值放到EEPROM里,表達(dá)式為EEPROM.put(address, a)

**EEPROM Write: **保存對應(yīng)的值到EEPROM,表達(dá)式為EEPROM.write(address, a);

EEPROM Clear: 清除EEPROM的內(nèi)容,其實就是把EEPROM中每一個字節(jié)寫入0,表達(dá)式為EEPROM.write(address, 0);

EEPROM Read: 讀取EEPROM,表達(dá)式為EEPROM.read(address);

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 發(fā)光二極管
    +關(guān)注

    關(guān)注

    13

    文章

    1192

    瀏覽量

    66150
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1008

    瀏覽量

    81350
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6461

    瀏覽量

    186524
  • 光探測器
    +關(guān)注

    關(guān)注

    1

    文章

    39

    瀏覽量

    10849
  • TM1637
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    9405
收藏 人收藏

    評論

    相關(guān)推薦

    arduino學(xué)習(xí)筆記30 - EEPROM讀寫實驗

    電子方式多次復(fù)寫的半導(dǎo)體存儲設(shè)備。arduino的控制芯片中都自帶了EEPROM,它的用途比較廣,掉電后需要保存的信息都可以存儲到這里。比如電子保險箱的密碼。咱們先用官方庫做一個實驗,在第五個地址中寫入
    發(fā)表于 10-24 10:53

    圖書《arduino程序設(shè)計基礎(chǔ)》

    !… 21第2章基礎(chǔ)… 262.1 Arduino語言… 262.1.1Arduino程序結(jié)構(gòu)… 262.2 C\C++語言基礎(chǔ)… 272.2.1數(shù)據(jù)類型… 272.2.2運(yùn)算符與表達(dá)式… 292.2.3
    發(fā)表于 06-12 14:37

    轉(zhuǎn):基礎(chǔ)32--STM32 .FLASH模擬EEPROM實驗

    【眾想】大黃蜂開發(fā)板視頻教程 ----劉洋邊講邊寫 基礎(chǔ)32--FLASH模擬EEPROM實驗http://www.stmcu.org/module/forum/thread-607015-1-1.html
    發(fā)表于 07-28 15:10

    Arduino開發(fā)實戰(zhàn)指南 AVR

    的產(chǎn)品,目前,國內(nèi)關(guān)注Arduino的人越來越多,所以本書以實際應(yīng)用為紐帶將各個章節(jié)聯(lián)系起來。 作者: 程晨 出版社: 機(jī)械工業(yè)出版社副標(biāo)題: AVRISBN: 9787111370055圖書
    發(fā)表于 08-03 16:14

    Arduino控制器選型指南(一):Arduino官方

    最近越來越多的工程師選擇用開源硬件來制作項目的demo或者玩一些有趣的項目,但是市面上那么多arduino開發(fā)板,功能和參數(shù)上還是很不一樣的,怎么快速的選擇最適合當(dāng)下你所需的開發(fā)板呢?打開無數(shù)產(chǎn)品
    發(fā)表于 07-09 11:41

    Arduino開發(fā)實戰(zhàn)指南 AVR

    Arduino開發(fā)實戰(zhàn)指南AVR
    發(fā)表于 04-04 12:20

    Arduino智能小車測試

    為后續(xù)的研究先做資料的鋪墊,如果錯誤,歡迎指正Arduino智能小車——測試Arduino 智能小車-電機(jī)控制delay 延時處理:delay(10000)某個操作運(yùn)行10秒后再進(jìn)行其他操作
    發(fā)表于 09-16 07:11

    基于Arduino設(shè)計EEPROM外部存儲器

    描述用 Arduino 設(shè)計我自己的 EEPROM 外部存儲器 PROGRAMMER / RECORDER | 24LC256讀/寫
    發(fā)表于 07-26 06:59

    Arduino EEPROM設(shè)置初始化

    要更新值,我們可以使用我們擁有的write函數(shù)關(guān)于初始化,但更好的方法是使用提供的更新功能。該功能的作用是,它首先檢查我們要保存的值是否與EEPROM中已經(jīng)存在的值相同,如果不保存則不更新。這樣,它會嘗試減少寫操作的次數(shù),以延長EEPROM的壽命。
    的頭像 發(fā)表于 10-21 17:28 ?9298次閱讀

    怎樣使用Arduino EEPROM在重啟后保存數(shù)據(jù)

    您將需要將地址和writeCount存儲在EEPROM中(并且writeCount需要在地址位置之間劃分)。在大多數(shù)情況下,將不需要此級別的保護(hù)。 Arduino也是如此便宜,因此您可能會發(fā)現(xiàn)購買備份更容易!
    的頭像 發(fā)表于 11-28 10:38 ?8260次閱讀

    Arduino通訊

    作者:iotsharer首發(fā):Arduino通訊一、Arduino與藍(lán)牙通訊1、DIY智能溫濕度計(上)——數(shù)據(jù)獲取2、DIY智能溫濕度計(下)——APP控制溫濕...
    發(fā)表于 02-07 12:07 ?2次下載
    <b class='flag-5'>Arduino</b>通訊<b class='flag-5'>篇</b>

    具有內(nèi)置512K EEPROM和時鐘(AC5EC)的Arduino克隆

    電子發(fā)燒友網(wǎng)站提供《具有內(nèi)置512K EEPROM和時鐘(AC5EC)的Arduino克隆.zip》資料免費(fèi)下載
    發(fā)表于 07-08 09:46 ?2次下載
    具有內(nèi)置512K <b class='flag-5'>EEPROM</b>和時鐘(AC5EC)的<b class='flag-5'>Arduino</b>克隆

    Arduino設(shè)計EEPROM外部存儲器PROGRAMMER/RECORDER

    電子發(fā)燒友網(wǎng)站提供《用Arduino設(shè)計EEPROM外部存儲器PROGRAMMER/RECORDER.zip》資料免費(fèi)下載
    發(fā)表于 07-22 09:33 ?1次下載
    用<b class='flag-5'>Arduino</b>設(shè)計<b class='flag-5'>EEPROM</b>外部存儲器PROGRAMMER/RECORDER

    Arduino和距離傳感器制作小雞賽車?。ǖ?

    第1:在最后一刻停下來!用Arduino和距離傳感器制作小雞賽車?。ǖ?)?該項目旨在介紹用Arduino讓傳感器工作的一個電子作品。
    的頭像 發(fā)表于 02-20 10:25 ?898次閱讀
    用<b class='flag-5'>Arduino</b>和距離傳感器制作小雞賽車!(第2<b class='flag-5'>篇</b>)

    EEPROM存儲遇到的技術(shù)問題,看這一就夠了!

    EEPROM存儲遇到的技術(shù)問題,看這一就夠了!
    的頭像 發(fā)表于 09-05 15:54 ?633次閱讀