一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

怎樣將SD卡模塊連接到Arduino 并使用LM35溫度傳感器記錄溫度值

454398 ? 來源:工程師吳畏 ? 2019-07-31 11:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

電路圖

首先,將SD卡模塊連接到Arduino。 SD卡模塊通過SPI通信與Arduino配合使用。 Arduino上的SPI引腳是10,11,12和13.

OLED與Arduino的連接如下:

將SD卡模塊的CS連接到Arduino的第10針

將SD卡模塊的MOSI連接到Arduino的第11針

將SD卡模塊的MISO連接到Arduino的第12針

將SD卡模塊的SCK連接到Arduino的第13針

將SD卡模塊的VCC連接到5V Arduino的引腳

將SD卡模塊的GND連接到Arduino的GND引腳

之后,連接DS3231模塊帶有Arduino。 DS3231模塊通過I2C通信與Arduino配合使用。 Arduino上用于I2C通信的引腳是SDA和SCL。

按如下方式將DS3231模塊與Arduino連接:

將DS3231的GND連接到Arduino的GND引腳

將DS3231的VCC連接到Arduino的5V引腳

將OLED的SDA連接到Arduino的A4引腳

連接SCL Arduino的OLED到A5引腳

最后,將LM35傳感器與Arduino連接。將LM35的左引腳連接到Arduino的5V,中間引腳連接到Arduino的A0,左引腳連接到Arduino的地。

代碼說明

首先,包括SD卡和DS3231 RTC模塊的庫。 SD卡通過SPI通信與Arduino配合使用,因此我們已經(jīng)包含了SPI庫。

#include

#include

#include

然后我們初始化一個(gè)File類型的對(duì)象“sdcard_file”,它將幫助我們使用這些函數(shù)之后,我們定義了連接SD卡模塊的CS引腳和lm35傳感器引腳的引腳。

File sdcard_file;

DS3231 rtc(SDA, SCL);

int CS_pin = 10; // Pin 10 on Arduino Uno

const int sensor_pin = A0;

float temp;

float output;

接下來我們宣布CS引腳作為輸出,LM35傳感器引腳作為輸入。然后我們開始與RTC模塊的串行通信和通信。

之后,我們檢查SD卡是否正確初始化。如果SD卡已正確初始化,則串行監(jiān)視器上將打印“SD卡已準(zhǔn)備就緒”。

pinMode(sensor_pin,INPUT);

pinMode(CS_pin, OUTPUT);

Serial.begin(9600);

rtc.begin();

// SD Card Initialization

if (SD.begin())

{

Serial.println(“SD card is ready to use.”);

} else

{

Serial.println(“SD card initialization failed”);

return;

}

接下來我們打印“日期”,“時(shí)間”和“溫度” “在串口顯示器上。然后我們打開SD卡文件并在那里打印相同的東西。如果我們命名的文件不在那里,它將在那里創(chuàng)建。

在那里打印后,我們關(guān)閉SD卡,以便保存文件中的數(shù)據(jù)。

Serial.print(“Date ”);

Serial.print(“ ”);

Serial.print(“ Time ”);

Serial.print(“ ”);

Serial.print(“ Temp ”);

Serial.println(“ ”);

sdcard_file = SD.open(“data.txt”, FILE_WRITE);

if (sdcard_file) {

sdcard_file.print(“Date ”);

sdcard_file.print(“ ”);

sdcard_file.print(“ Time ”);

sdcard_file.print(“ ”);

sdcard_file.print(“ Temp ”);

sdcard_file.println(“ ”);

sdcard_file.close(); // close the file

}

在循環(huán)功能中,我們從LM35傳感器讀取并計(jì)算輸出。然后我們?cè)诖斜O(jiān)視器上打印當(dāng)前日期,當(dāng)前時(shí)間和當(dāng)前溫度。

之后,我們?cè)俅未蜷_SD卡文件并打印當(dāng)前日期,當(dāng)前時(shí)間和當(dāng)前溫度。

output = analogRead(sensor_pin);

temp =(output*500)/1023;

Serial.print(rtc.getDateStr());

Serial.print(“ ”);

Serial.print(rtc.getTimeStr());

Serial.print(“ ”);

Serial.println(temp);

sdcard_file = SD.open(“data.txt”, FILE_WRITE);

if (sdcard_file) {

sdcard_file.print(rtc.getTimeStr());

sdcard_file.print(“ ”);

sdcard_file.print(rtc.getTimeStr());

sdcard_file.print(“ ”);

sdcard_file.println(temp);

sdcard_file.close(); // close the file

}

// if the file didn‘t open, print an error:

else {

Serial.println(“error opening test.txt”);

}

delay(3000);

}

您現(xiàn)在應(yīng)該有一個(gè)正常運(yùn)行的數(shù)據(jù)記錄器,它使用Arduino來跟蹤傳感器周圍的時(shí)間,日期和溫度。

您將為此項(xiàng)目添加什么?分叉并開發(fā)自己的版本。

完整代碼

#include

#include

#include

File sdcard_file;

DS3231 rtc(SDA, SCL);

int CS_pin = 10; // Pin 10 on Arduino Uno

const int sensor_pin = A0;

float temp;

float output;

void setup() {

Serial.begin(9600);

pinMode(sensor_pin,INPUT);

pinMode(CS_pin, OUTPUT);

rtc.begin();

// SD Card Initialization

if (SD.begin())

{

Serial.println(“SD card is ready to use.”);

} else

{

Serial.println(“SD card initialization failed”);

return;

}

Serial.print(“Date ”);

Serial.print(“ ”);

Serial.print(“ Time ”);

Serial.print(“ ”);

Serial.print(“ Temp ”);

Serial.println(“ ”);

sdcard_file = SD.open(“data.txt”, FILE_WRITE);

if (sdcard_file) {

sdcard_file.print(“Date ”);

sdcard_file.print(“ ”);

sdcard_file.print(“ Time ”);

sdcard_file.print(“ ”);

sdcard_file.print(“ Temp ”);

sdcard_file.println(“ ”);

sdcard_file.close(); // close the file

}

// if the file didn’t open, print an error:

else {

Serial.println(“error opening test.txt”);

}

}

void loop() {

output = analogRead(sensor_pin);

temp =(output*500)/1023;

Serial.print(rtc.getDateStr());

Serial.print(“ ”);

Serial.print(rtc.getTimeStr());

Serial.print(“ ”);

Serial.println(temp);

sdcard_file = SD.open(“data.txt”, FILE_WRITE);

if (sdcard_file) {

sdcard_file.print(rtc.getTimeStr());

sdcard_file.print(“ ”);

sdcard_file.print(rtc.getTimeStr());

sdcard_file.print(“ ”);

sdcard_file.println(temp);

sdcard_file.close(); // close the file

}

// if the file didn‘t open, print an error:

else {

Serial.println(“error opening test.txt”);

}

delay(3000);

}

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

    關(guān)注

    2

    文章

    578

    瀏覽量

    65671
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192113
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何連接溫度探頭到數(shù)據(jù)記錄

    使用的溫度探頭和數(shù)據(jù)記錄儀的規(guī)格和特性是非常重要的。溫度探頭可以是熱電偶、熱敏電阻、鉑電阻等不同類型的傳感器,而數(shù)據(jù)記錄儀則根據(jù)其輸入信號(hào)類
    的頭像 發(fā)表于 01-20 10:02 ?656次閱讀

    溫度傳感器常用規(guī)格參數(shù)

    溫度傳感器是一種用于測(cè)量和記錄溫度的設(shè)備,其廣泛應(yīng)用于各種行業(yè)和領(lǐng)域,如工業(yè)、醫(yī)療、消費(fèi)電子等。為了滿足不同應(yīng)用的需求,溫度
    的頭像 發(fā)表于 01-03 18:25 ?2031次閱讀

    如何校準(zhǔn)溫度傳感器

    在同一溫度下的讀數(shù),確定待校準(zhǔn)傳感器的偏差。 步驟 : 準(zhǔn)備標(biāo)準(zhǔn)溫度傳感器和待校準(zhǔn)的溫度傳感器
    的頭像 發(fā)表于 11-22 09:36 ?2813次閱讀

    工業(yè)溫度傳感器的優(yōu)缺點(diǎn) 溫度傳感器在智能家居中的應(yīng)用

    工業(yè)溫度傳感器的優(yōu)缺點(diǎn) 優(yōu)點(diǎn) 高精度 :工業(yè)溫度傳感器通常具有較高的精度,能夠提供準(zhǔn)確的溫度讀數(shù),這對(duì)于需要精確控制
    的頭像 發(fā)表于 11-22 09:30 ?1033次閱讀

    Arduino程序:實(shí)現(xiàn)SD NAND(貼片sd)的讀寫功能

    ) []() []()   直接上教程: []()   芯片焊到轉(zhuǎn)接版上后,插上SD讀卡先放上幾個(gè)文件 ,上電腦 []()   ARDUINO 直接使用
    發(fā)表于 11-07 17:45

    基于電阻的溫度傳感器原理

    基于電阻的溫度傳感器,即電阻式溫度傳感器(RTD,Resistance Temperature Detector),其原理是利用導(dǎo)體或半導(dǎo)體材料的電阻值隨
    的頭像 發(fā)表于 10-31 09:36 ?1387次閱讀

    IGBT模塊NTC溫度傳感器的測(cè)量方法

    采用模擬電路方式測(cè)量IGBT模塊NTC溫度傳感器溫度:這個(gè)基本的方法是基于一個(gè)分壓作為熱敏裝置。
    的頭像 發(fā)表于 10-25 16:29 ?2065次閱讀
    IGBT<b class='flag-5'>模塊</b>NTC<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>的測(cè)量方法

    非接觸溫度傳感器如何測(cè)量?jī)?nèi)部溫度

      非接觸溫度傳感器,又稱為紅外溫度傳感器,是一種通過測(cè)量物體表面發(fā)射的紅外輻射來確定物體溫度傳感器
    的頭像 發(fā)表于 10-23 15:52 ?1437次閱讀

    電磁爐溫度傳感器壞了有什么特征

      電磁爐溫度傳感器故障可能會(huì)導(dǎo)致電磁爐無法正常工作,甚至可能引發(fā)安全事故。電磁爐溫度傳感器是一種用于檢測(cè)電磁爐內(nèi)部溫度
    的頭像 發(fā)表于 10-23 15:52 ?2331次閱讀

    LM19溫度傳感器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《LM19溫度傳感器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-15 10:05 ?0次下載
    <b class='flag-5'>LM</b>19<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>數(shù)據(jù)表

    LM92數(shù)字溫度傳感器和窗口比較數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《LM92數(shù)字溫度傳感器和窗口比較數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-14 10:35 ?0次下載
    <b class='flag-5'>LM</b>92數(shù)字<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>和窗口比較<b class='flag-5'>器</b>數(shù)據(jù)表

    LM77數(shù)字溫度傳感器和比較數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《LM77數(shù)字溫度傳感器和比較數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-14 10:31 ?0次下載
    <b class='flag-5'>LM</b>77數(shù)字<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>和比較<b class='flag-5'>器</b>數(shù)據(jù)表

    LM76數(shù)字溫度傳感器和熱窗比較數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《LM76數(shù)字溫度傳感器和熱窗比較數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-14 09:47 ?0次下載
    <b class='flag-5'>LM</b>76數(shù)字<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>和熱窗比較<b class='flag-5'>器</b>數(shù)據(jù)表

    LM35高精度攝氏溫度傳感器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《LM35高精度攝氏溫度傳感器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-14 09:19 ?0次下載
    <b class='flag-5'>LM35</b>高精度攝氏<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>數(shù)據(jù)表

    LMx35 LMx35A 精密溫度傳感器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《LMx35 LMx35A 精密溫度傳感器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 09:41 ?0次下載
    LMx<b class='flag-5'>35</b> LMx<b class='flag-5'>35</b>A 精密<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>數(shù)據(jù)表