《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 活動(dòng)進(jìn)展 > CH579開發(fā)板評測----智能溫度檢測器

CH579開發(fā)板評測----智能溫度檢測器

2023-06-02
作者:ymchuangke
來源:電子技術(shù)應(yīng)用

 感謝電子技術(shù)應(yīng)用的這次活動(dòng),免費(fèi)申請獲得了一塊ch579的開發(fā)板。先簡單介紹一下這塊板子吧,作為一款新型的開發(fā)板,CH579開發(fā)板在性能、功能、易用性等方面都有著不俗的表現(xiàn),CH579開發(fā)板采用了ARM Cortex-M33內(nèi)核,最高主頻可達(dá)200MHz,擁有512KB的Flash存儲器和160KB的SRAM存儲器,支持USB 2.0、UART、SPI、I2C等多種通信接口,同時(shí)還具備多種傳感器接口和擴(kuò)展接口,可滿足各種應(yīng)用場景的需求。

開發(fā)板開箱視頻鏈接:

https://www.bilibili.com/video/BV1GM411V7wi/?vd_source=b0cd315f5f5adeeeba38907a05a4524a


通過測試,該開發(fā)板理論上可實(shí)現(xiàn)下述功能:(我只是測試了對一些傳感器的應(yīng)用一起其它功能,畢竟精力有限)

物聯(lián)網(wǎng)設(shè)備開發(fā):CH579開發(fā)板支持多種通信接口,包括USB、UART、SPI、I2C等,可以用于開發(fā)各種物聯(lián)網(wǎng)設(shè)備,如智能家居、智能穿戴設(shè)備等。

工業(yè)自動(dòng)化控制:CH579開發(fā)板支持PWM輸出和ADC輸入,可以用于控制電機(jī)、傳感器等工業(yè)設(shè)備,實(shí)現(xiàn)自動(dòng)化控制。

機(jī)器人控制:CH579開發(fā)板支持多種傳感器接口,如I2C、SPI等,可以用于機(jī)器人的控制和感知,如紅外線傳感器、超聲波傳感器等。

數(shù)據(jù)采集和處理:CH579開發(fā)板具有512KB的Flash存儲器和160KB的SRAM存儲器,可以用于數(shù)據(jù)采集和處理,如溫度、濕度、氣壓等環(huán)境參數(shù)的采集和處理。


-----------------------------------------------------------------------------------------------------------------------------

項(xiàng)目名稱:智能溫度檢測器

功能:用戶可以通過手機(jī)APP或網(wǎng)頁端查看溫度數(shù)據(jù),并設(shè)置溫度報(bào)警功能。

硬件:CH579開發(fā)板、溫度傳感器、WIFI模塊、LED燈、蜂鳴器等。

軟件:嵌入式程序、云端數(shù)據(jù)傳輸程序、手機(jī)APP或網(wǎng)頁端程序

步驟:

硬件連接:將溫度傳感器連接到CH579開發(fā)板的I2C接口,WIFI模塊連接到UART接口,LED燈和蜂鳴器連接到GPIO接口。

編寫嵌入式程序:使用Keil等開發(fā)工具編寫嵌入式程序,實(shí)現(xiàn)溫度傳感器數(shù)據(jù)采集、WIFI模塊數(shù)據(jù)傳輸、LED燈和蜂鳴器報(bào)警等功能。

編寫云端數(shù)據(jù)傳輸程序:使用Python等語言編寫云端數(shù)據(jù)傳輸程序,將溫度數(shù)據(jù)上傳到云端數(shù)據(jù)庫,并實(shí)現(xiàn)數(shù)據(jù)可視化和報(bào)警功能。

編寫手機(jī)APP或網(wǎng)頁端程序:使用Android Studio等開發(fā)工具編寫手機(jī)APP或網(wǎng)頁端程序,實(shí)現(xiàn)用戶查看溫度數(shù)據(jù)和設(shè)置報(bào)警功能等功能。

調(diào)試和測試:進(jìn)行硬件和軟件的調(diào)試和測試,確保整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。


部分代碼:

//溫度傳感器數(shù)據(jù)采集I2c接口
#include "ch579_i2c.h"
#define TEMP_SENSOR_ADDR 0x48
void read_temperature(float *temperature)
{   
    uint8_t temp_data[2] = {0};  
    uint16_t temp_raw = 0;    
    float temp_c = 0.0f;
    ch579_i2c_start();
    ch579_i2c_send_byte(TEMP_SENSOR_ADDR << 1 | 0x00);
    ch579_i2c_send_byte(0x00);
    ch579_i2c_start();
    ch579_i2c_send_byte(TEMP_SENSOR_ADDR << 1 | 0x01);
    temp_data[0] = ch579_i2c_recv_byte(1);
    temp_data[1] = ch579_i2c_recv_byte(0);
    ch579_i2c_stop();
    
    temp_raw = (temp_data[0] << 8) | temp_data[1];
    temp_c = (float)temp_raw / 256.0f;

    *temperature = temp_c;
}

/*********************************************************************************/
//WiFi模塊數(shù)據(jù)傳輸使用uart串口
#include "ch579_uart.h"
void wifi_send_data(char *data, uint16_t len)
{
    ch579_uart_send_bytes(data, len);
}


/*********************************************************************************/
//LED,蜂鳴器報(bào)警,GPIO口

#include "ch579_gpio.h"
#define LED_PIN 0
#define BUZZER_PIN 1
void led_on()
{
    ch579_gpio_set_output(LED_PIN, 1);
}
void led_off()
{
    ch579_gpio_set_output(LED_PIN, 0);
}
void buzzer_on()
{
    ch579_gpio_set_output(BUZZER_PIN, 1);
}
void buzzer_off()
{
    ch579_gpio_set_output(BUZZER_PIN, 0);
}


完整代碼:

#include "ch579_i2c.h"
#include "ch579_uart.h"
#include "ch579_gpio.h"

#define TEMP_SENSOR_ADDR 0x48
#define WIFI_SSID "wifi_ssid"
#define WIFI_PASSWORD "wifi_password"
#define SERVER_ADDR "server_address"
#define SERVER_PORT 8080

void read_temperature(float *temperature);
void wifi_send_data(char *data, uint16_t len);
void led_on();void led_off();void buzzer_on();
void buzzer_off();
int main(void)
{    
    float temperature = 0.0f;    
    char wifi_data[128] = {0};    // 初始化I2C接口
    ch579_i2c_init();    // 初始化UART接口
    ch579_uart_init();    // 初始化GPIO接口
    ch579_gpio_init();    // 無限循環(huán)
    while (1)
    {        // 讀取溫度
        read_temperature(&temperature);        // 發(fā)送溫度數(shù)據(jù)到云端
        sprintf(wifi_data, "{\"temperature\":%.2f}", temperature);
        wifi_send_data(wifi_data, strlen(wifi_data));        // 判斷是否需要報(bào)警
        if (temperature > 30.0f)
        {
            led_on();
            buzzer_on();
        }        else
        {
            led_off();
            buzzer_off();
        }        // 延時(shí)1秒
        ch579_delay_ms(1000);
    }
}void read_temperature(float *temperature)
    {    
    uint8_t temp_data[2] = {0};    
    uint16_t temp_raw = 0;    
    float temp_c = 0.0f;    // 發(fā)送讀取溫度命令
    ch579_i2c_start();
    ch579_i2c_send_byte(TEMP_SENSOR_ADDR << 1 | 0x00); // 寫模式
    ch579_i2c_send_byte(0x00); // 溫度寄存器地址
    ch579_i2c_start();
    ch579_i2c_send_byte(TEMP_SENSOR_ADDR << 1 | 0x01); // 讀模式
    temp_data[0] = ch579_i2c_recv_byte(1); // 高字節(jié)
    temp_data[1] = ch579_i2c_recv_byte(0); // 低字節(jié)
    ch579_i2c_stop();    // 計(jì)算溫度值
    temp_raw = (temp_data[0] << 8) | temp_data[1];
    temp_c = (float)temp_raw / 256.0f;

    *temperature = temp_c;
}
void wifi_send_data(char *data, uint16_t len)
{    
    char wifi_cmd[128] = {0};    // 連接WIFI網(wǎng)絡(luò)
    sprintf(wifi_cmd, "AT+CWJAP=\"%s\",\"%s\"\r\n", WIFI_SSID, WIFI_PASSWORD);
    ch579_uart_send_string(wifi_cmd);
    ch579_delay_ms(5000);    // 連接云端服務(wù)器
    sprintf(wifi_cmd, "AT+CIPSTART=\"TCP\",\"%s\",%d\r\n", SERVER_ADDR, SERVER_PORT);
    ch579_uart_send_string(wifi_cmd);
    ch579_delay_ms(5000);    // 發(fā)送數(shù)據(jù)
    sprintf(wifi_cmd, "AT+CIPSEND=%d\r\n", len);
    ch579_uart_send_string(wifi_cmd);
    ch579_delay_ms(1000);
    ch579_uart_send_bytes(data, len);
    ch579_delay_ms(1000);    // 斷開連接
    ch579_uart_send_string("AT+CIPCLOSE\r\n");
    ch579_delay_ms(5000);
}
void led_on()
{
    ch579_gpio_set_output(LED_PIN, 1);
}
void led_off()
{
    ch579_gpio_set_output(LED_PIN, 0);
}
void buzzer_on()
{
    ch579_gpio_set_output(BUZZER_PIN, 1);
}
void buzzer_off()
{
    ch579_gpio_set_output(BUZZER_PIN, 0);
}



需要查閱相關(guān)資料的可以上沁恒官網(wǎng):

https://www.wch.cn/downloads/CH579EVT_ZIP.html

https://www.wch.cn/downloads/CH579DS1_PDF.html


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:[email protected]。
主站蜘蛛池模板: 欧美三级在线 | 精品视频在线视频 | 欧美做爰性欧美 | 国产三级三级三级 | 欧美日a | 欧美成人午夜片一一在线观看 | 99久女女精品视频在线观看 | 国产免费一区二区三区在线观看 | 久久综合久久久久 | 天天综合色一区二区三区 | 欧美成人综合在线观看视频 | 欧美精品自拍 | 久久精品国产99久久72 | 天天视频一区二区三区 | 亚洲精品不卡午夜精品 | 亚洲成a人片在线观看 欧美 | 加勒比一区在线 | 国产成人在线免费观看 | 成年人网站免费 | 在线亚洲综合 | 久久天天躁综合夜夜黑人鲁色 | 一级片 mp4| 欧美日韩在线观看视频 | 亚洲国产一区在线 | 在线精品国产成人综合第一页 | 99精品久久99久久久久 | 欧美13一14周岁a在线播放 | a级毛片毛片免费观看永久 a级毛片毛片免费很很综合 | 极品美女户外勾搭无套 | 国产精品久久久久久小说 | 色综合久久一本首久久 | 国产福利片在线 易阳 | 亚洲 欧美 国产 日韩 制服 bt | 特级一级全黄毛片免费 | 免费一级欧美大片久久网 | 中文字幕 亚洲精品 第1页 | 免费韩国美女爽快一级毛片 | xx欧美老妇 | 欧美巨乳在线观看 | 国产欧美日韩精品在线 | 欧美一级毛片生活片 |