STM32之循跡避障模塊TCRT5000紅外反射傳感器

目錄

一、系統概述

二、TCRT5000紅外反射傳感器簡介

2.1? 基本概述

2.2? 結構與工作原理

2.2.1? 物理結構

2.2.2? 工作流程

2.2.3? 電路原理圖

2.3? 電氣特性

2.4? 模塊接口說明

2.5? 典型應用電路

2.6? 實際應用注意事項

三、硬件設計

3.1? 硬件組成

3.2? 硬件連接

四、軟件設計

4.1? 開發環境配置

4.2? 關鍵代碼實現

4.2.1 初始化代碼

4.2.2? 主程序邏輯

4.3? 關鍵優化代碼

五、注意事項

六、總結


一、系統概述

????????本系統采用STM32F103C8T6單片機(最小系統板)和光電反射式紅外傳感器模塊(如TCRT5000),實現物體檢測、距離測量和循跡等功能。系統通過標準外設庫開發,具有響應快速、抗干擾能力強的特點,適用于智能小車、自動化設備等應用場景。

二、TCRT5000紅外反射傳感器簡介

2.1? 基本概述

????????TCRT5000是一種光電反射式紅外傳感器,由紅外發射管和光敏三極管組成,通過檢測物體反射的紅外光來實現非接觸式物體檢測。該傳感器模塊廣泛應用于循跡、避障、物體計數等場景。

模塊實物圖:

2.2? 結構與工作原理

2.2.1? 物理結構

  • 紅外發射二極管:發射波長為940nm的紅外光
  • 硅光敏三極管:接收反射回來的紅外光
  • 比較器電路(模塊上):將模擬信號轉換為數字輸出
  • 靈敏度調節電位器:調節檢測閾值

2.2.2? 工作流程

1. 紅外發射管持續發射紅外光
2. 當有物體接近時,紅外光被反射
3. 光敏三極管接收到反射光后導通
4. 模塊輸出信號變化(AO電壓降低,DO可能跳變)

2.2.3? 電路原理圖

電路組成部分及工作原理:

(1)電源指示部分:由一個發光二極管(LED)和一個限流電阻(1KΩ)組成。當電路接上電源 VCC 時,電流通過限流電阻和 LED,使其發光,用于指示電路已通電。電容 104(0.1μF)起到電源濾波的作用,穩定電源電壓,減少電源噪聲對電路的影響。

(2)TCRT5000 傳感器部分:TCRT5000 傳感器內部包含一個紅外發射二極管和一個紅外接收三極管。紅外發射二極管持續發射紅外光,當遇到前方物體時,紅外光會被反射回來,被紅外接收三極管接收。接收到的紅外光強度不同,會導致接收三極管的導通程度不同,從而在其輸出端產生不同的電壓信號。

(3)電位器 VR1 部分:電位器 VR1(10KΩ)用于設置比較器的參考電壓。通過調節電位器,可以改變 LM393 運算放大器同相輸入端的電壓值,從而調整傳感器檢測的靈敏度。

(4)運算放大器 LM393 部分:

????????LM393 是一個電壓比較器。它將 TCRT5000 傳感器輸出的模擬電壓信號(連接到反相輸入端)與電位器設置的參考電壓(連接到同相輸入端)進行比較。

????????當傳感器輸出的電壓高于參考電壓時,LM393 的輸出端(DO)輸出高電平;當傳感器輸出的電壓低于參考電壓時,DO 端輸出低電平。這樣,DO 端就輸出了一個數字信號,可用于微控制器等設備的數字輸入。

(5)模擬輸出部分:傳感器輸出的原始模擬電壓信號也通過 AO 端直接輸出。這個模擬信號可以連接到具有模數轉換(ADC)功能的設備,如微控制器的 ADC 引腳,以便更精確地獲取傳感器檢測到的反射光強度信息。

(6)開關指示部分:另一個發光二極管和限流電阻(1KΩ)組成開關指示電路。當 DO 端輸出高電平時,該 LED 可能會發光(具體取決于電路設計邏輯,這里假設高電平點亮),用于直觀指示傳感器檢測到了符合條件(即反射光強度高于設定閾值)的情況。

2.3? 電氣特性

關鍵參數:

參數值/范圍
工作電壓3.3V-5V DC
工作電流約20mA
檢測距離0.2-1.5cm
響應時間<10μs
工作溫度-25℃~+85℃
輸出形式AO(模擬)/DO(數字)

輸出特性:
AO(模擬輸出):
? - 無反射:接近VCC(如3.3V/5V)
? - 有反射:電壓降低(反射越強電壓越低)

DO(數字輸出):
? - 無反射:高電平
? - 有反射:低電平(可調閾值)

2.4? 模塊接口說明

標準四線接口:

引腳功能連接說明
VCC電源正極(3.3V-5V)接MCU的3.3V/5V
GND電源負極接MCU的GND
AO模擬輸出(0-VCC)接MCU的ADC輸入引腳
DO數字輸出(TTL電平)接MCU的IO輸入引腳

靈敏度調節:
- 旋轉模塊上的藍色電位器
- 順時針:提高靈敏度(更易觸發)
- 逆時針:降低靈敏度?

2.5? 典型應用電路

數字模式接線:
TCRT5000 VCC → VCC
TCRT5000 GND → GND
DO ?→ MCU GPIO (輸入)

模擬模式接線:
TCRT5000 VCC → VCC
TCRT5000 GND → GND
AO ?→ MCU ADC (如PA0)

2.6? 實際應用注意事項

安裝方式:
? ?- 傳感器距檢測表面最佳距離:4-10mm
? ?- 保持傳感器與檢測面垂直
? ?- 避免環境光直射

檢測材料影響:
? ?- 白色表面:反射強,檢測距離遠
? ?- 黑色表面:反射弱,檢測距離近
? ?- 鏡面:可能產生誤檢測

抗干擾措施:
? ?- 添加遮光罩減少環境光影響
? ?- 在紅外發射管串聯限流電阻(如100Ω)
? ?- 軟件上增加去抖處理

校準建議:
? ?- 在實際使用環境中校準閾值
? ?- 不同顏色表面需單獨校準

????????TCRT5000以其高性價比和雙輸出模式,成為入門級紅外檢測項目的首選傳感器。合理利用其特性,可以構建穩定可靠的非接觸式檢測系統。

三、硬件設計

3.1? 硬件組成

- STM32F103C8T6最小系統板
- TCRT5000紅外反射傳感器模塊
- 0.96寸OLED顯示屏(I2C接口)
- LED指示燈
- 蜂鳴器模塊
- 杜邦線若干

STM32F103C8T6最小系統板示意圖:

蜂鳴器模塊示意圖:

????????本次使用的是有源蜂鳴器模塊,高電平觸發的。只要單片機的IO口輸出高電平,就可以驅動蜂鳴器發出聲音了。

LED模塊:

????????STM32F103C8T6最小系統板PCB13默認接到自帶的LED燈,無需外接?。

3.2? 硬件連接

STM32引腳連接模塊說明
PA0傳感器AOADC1通道0
PA1傳感器DO數字輸入
PB6OLED_SCLI2C1時鐘線
PB7OLED_SDAI2C1數據線
PC13LED檢測狀態指示
PB8蜂鳴器報警提示
3.3V傳感器VCC電源
GND傳感器GND共地

四、軟件設計

4.1? 開發環境配置

- 開發工具:Keil MDK-ARM
- 庫版本:STM32F10x標準外設庫
- 調試工具:ST-Link V2

4.2? 關鍵代碼實現

4.2.1 初始化代碼

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_adc.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_i2c.h"
#include "oled.h"
#include "delay.h"#define DETECT_THRESHOLD 1500 ?// 檢測閾值(根據實際調整)void GPIO_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure;// 使能GPIO時鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |?RCC_APB2Periph_GPIOC, ENABLE);// 配置PA0為模擬輸入(AO)GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;GPIO_Init(GPIOA, &GPIO_InitStructure);// 配置PA1為浮空輸入(DO)GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure);// 配置PC13為推挽輸出(LED)GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOC, &GPIO_InitStructure);// 配置PB8為推挽輸出(蜂鳴器)GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;GPIO_Init(GPIOB, &GPIO_InitStructure);
}void ADC_Configuration(void)
{ADC_InitTypeDef ADC_InitStructure;// 使能ADC1時鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);// ADC配置ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;ADC_InitStructure.ADC_ScanConvMode = DISABLE;ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;ADC_InitStructure.ADC_NbrOfChannel = 1;ADC_Init(ADC1, &ADC_InitStructure);// 配置ADC通道0(PA0)ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5);// 使能ADC1ADC_Cmd(ADC1, ENABLE);// ADC校準ADC_ResetCalibration(ADC1);while(ADC_GetResetCalibrationStatus(ADC1));ADC_StartCalibration(ADC1);while(ADC_GetCalibrationStatus(ADC1));// 啟動ADC轉換ADC_SoftwareStartConvCmd(ADC1, ENABLE);
}void I2C_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure;I2C_InitTypeDef I2C_InitStructure;// 使能I2C和GPIO時鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);// 配置I2C引腳GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);// I2C配置I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;I2C_InitStructure.I2C_OwnAddress1 = 0x00;I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;I2C_InitStructure.I2C_ClockSpeed = 100000; // 100kHzI2C_Init(I2C1, &I2C_InitStructure);// 使能I2CI2C_Cmd(I2C1, ENABLE);
}

GPIO配置 (GPIO_Configuration)功能:初始化傳感器接口引腳。

  • PA0:接收模擬信號(AO),用于精確測量反射強度。
  • PA1:接收數字信號(DO),用于快速判斷物體是否存在。

ADC配置 (ADC_Configuration)功能:配置ADC1連續采樣PA0的模擬信號。

  • GPIO_Mode_AIN:模擬輸入模式,用于ADC采集。
  • GPIO_Mode_IN_FLOATING:浮空輸入模式,直接讀取數字電平。
  • ADC_SampleTime_239Cycles5:長采樣時間,提高信號穩定性。
  • ADC_ContinuousConvMode:自動連續轉換,無需手動觸發。

I2C配置 (I2C_Configuration)功能:初始化I2C接口,用于驅動OLED顯示屏。

  • 時鐘速度設為100kHz,兼顧穩定性和速度。

  • 引腳模式為開漏輸出(GPIO_Mode_AF_OD),需外接上拉電阻

4.2.2? 主程序邏輯

uint16_t Get_ADC_Value(void)
{while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)); // 等待轉換完成return ADC_GetConversionValue(ADC1);
}void Alarm_Control(FunctionalState state)
{if(state == ENABLE){GPIO_SetBits(GPIOC, GPIO_Pin_13); ?// LED亮GPIO_SetBits(GPIOB, GPIO_Pin_8); ? // 蜂鳴器響}else{GPIO_ResetBits(GPIOC, GPIO_Pin_13); // LED滅GPIO_ResetBits(GPIOB, GPIO_Pin_8); ?// 蜂鳴器停}
}void Display_Detection_Info(uint16_t adc_val, uint8_t digital_val)
{char buffer[16];// 顯示ADC值sprintf(buffer, "ADC: %4d", adc_val);OLED_ShowString(0, 2, (uint8_t *)buffer);// 顯示數字狀態sprintf(buffer, "DO : %s", digital_val ? "HIGH" : "LOW ");OLED_ShowString(0, 4, (uint8_t *)buffer);// 顯示檢測狀態if(adc_val > DETECT_THRESHOLD || digital_val == 0){OLED_ShowString(0, 6, (uint8_t *)"Status: Detected");}else{OLED_ShowString(0, 6, (uint8_t *)"Status: Normal ?");}
}int main(void)
{uint16_t adc_value = 0;uint8_t digital_state = 0;// 初始化系統時鐘SystemInit();// 外設初始化GPIO_Configuration();ADC_Configuration();I2C_Configuration();OLED_Init();OLED_Clear();OLED_ShowString(0, 0, (uint8_t *)"IR Sensor Test");while(1){// 讀取模擬量adc_value = Get_ADC_Value();// 讀取數字量digital_state = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_1);// 顯示檢測信息Display_Detection_Info(adc_value, digital_state);// 檢測邏輯if((adc_value > DETECT_THRESHOLD) || (digital_state == 0)){Alarm_Control(ENABLE); ?// 觸發報警}else{Alarm_Control(DISABLE); // 關閉報警}// 延時200msDelay_ms(200);}
}

ADC值讀取 (Get_ADC_Value)功能:

  • 獲取當前紅外反射的模擬量(AO)。
  • 返回值:0(強反射)到4095(無反射),對應電壓0V-3.3V。

報警控制 (Alarm_Control)邏輯:

????????當檢測到物體時,觸發聲光報警(LED和蜂鳴器)。

數據顯示 (Display_Detection_Info)功能:

????????在OLED上實時顯示傳感器數據(ADC值、數字狀態和檢測結果)。

主程序邏輯工作流程

  1. 持續讀取傳感器的模擬和數字輸出。

  2. 若ADC值超過閾值??數字信號為低電平,判定為檢測到物體。

  3. 通過OLED顯示數據,并控制報警設備。

  4. 延時200ms避免頻繁刷新。

4.3? 關鍵優化代碼

軟件濾波 (Moving_Average_Filter):

uint16_t Moving_Average_Filter(void) {static uint16_t filter_buf[FILTER_SIZE] = {0};sum += filter_buf[filter_index++] = Get_ADC_Value();if(filter_index >= FILTER_SIZE) filter_index = 0;return sum / FILTER_SIZE;  // 返回5次采樣的平均值
}
  • 作用:消除信號抖動,提高穩定性。

  • 實現:滑動窗口平均算法,存儲最近5次采樣值。

五、注意事項

安裝位置:
? ?- 傳感器應垂直于檢測表面安裝
? ?- 避免環境光直射傳感器

檢測距離:
? ?- TCRT5000有效檢測距離約0.2-1.5cm
? ?- 可通過調節電位器改變靈敏度

抗干擾:
? ?- 添加深色套管減少環境光干擾
? ?- 軟件上增加濾波算法

供電穩定:
? ?- 紅外發射管需要穩定電流
? ?- 建議添加穩壓電路

六、總結

????????本系統實現了基于STM32F103C8T6的光電反射式紅外傳感器檢測方案,通過標準庫開發保證了代碼的可靠性和可移植性,可根據需要擴展為智能車循跡、物體計數等應用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/87441.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/87441.shtml
英文地址,請注明出處:http://en.pswp.cn/web/87441.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

新能源汽車功率級測試自動化方案:從理論到實踐的革命性突破

> 在800V高壓平臺普及與碳化硅半導體爆發的雙輪驅動下,傳統測試方法正經歷顛覆性變革 “當我看到工程師手動記錄測試數據時,就知道這個行業需要一場革命。”——某新能源車企測試總監的深夜感慨 ## 01 新能源汽車測試的痛點與變革 當新能源汽車的**電驅系統功率密度突…

【網絡編程】事件驅動 reactor 式的服務器(EPOLL機制)

文章目錄業務拆解事件驅動的 reactor總流程圖C 代碼實現準備工作編寫頭文件 reactor.h準備頭文件準備宏定義聲明三大模塊函數和基礎的內存變量長度定義全局變量定義 EPOLL 實例事件處理的函數與釋放資源的函數注冊服務器監聽套接字的函數accept_cb 模塊read_cb 模塊send_cb 模塊…

如何做好云服務器密碼管理

一、設置強密碼 強密碼就像是給云服務器上了一把“超級鎖”。專家建議&#xff0c;一個強密碼應該包含大寫字母、小寫字母、數字和特殊字符&#xff0c;長度至少在 12 位以上。比如說&#xff0c;“Abc12345678”就比簡單的“123456”要安全得多。有數據顯示&#xff0c;簡單密…

《新消費模式與消費者權益保護研討會》課題研討會在北京順利召開

近期&#xff0c;《新消費模式與消費者權益保護研討會》課題研討會在北京召開。來自市場監管、政法、宏觀管理等部門專家參會&#xff0c;聚焦《消費者權益保護法》《關于以新業態新模式引領新型消費加快發展的意見》等文件精神&#xff0c;探討激發市場主體活力、促進新型消費…

Gradio全解13——MCP協議詳解(6)——MCP服務器構建、測試與示例大全

Gradio全解13——MCP協議詳解&#xff08;6&#xff09;——MCP服務器構建、測試與示例大全第13章 MCP協議詳解13.6 MCP服務器構建、測試與示例大全13.6.1 開發MCP天氣服務器1. 天氣服務器概述2. 安裝Node.js并設置環境3. 構建服務器13.6.2 安裝Claude for Desktop1. 安裝Claud…

Windows 11 24H2 專業版/家庭版安裝教程(2025年6月更新版)- U盤啟動盤制作+詳細步驟

準備U盤啟動盤? 下載個叫「Rufus」的免費小工具&#xff08;百度搜就行&#xff09;。插入一個至少8GB的空U盤&#xff08;U盤會被清空&#xff0c;提前備份資料&#xff01;&#xff09;。打開Rufus&#xff0c;選你的U盤&#xff0c;ISO文件選你下載的那個 zh-cn_windows_1…

mac電腦wireshark快速實現http接口抓包

wireshark介紹 Wireshark 是一款功能強大的網絡協議分析工具&#xff0c;可以用來抓取網絡中的數據包&#xff0c;包括 HTTP 請求和響應。 wireshark安裝 安裝下載官網 https://www.wireshark.org/download.html&#xff0c;根據個人電腦環境下載安裝wireshark使用 1配置網卡2選…

Softhub軟件下載站實戰開發(十二):軟件管理編輯頁面實現

文章目錄 Softhub軟件下載站實戰開發&#xff08;十二&#xff09;&#xff1a;軟件管理編輯頁面實現?功能概述 &#x1f4cb;編輯頁面實現 &#x1f6e0;?1. 頁面結構設計2. aieEditor集成 &#x1f31f;初始化配置編輯器功能 3. 大整數處理 &#x1f522;4. 封面圖片上傳 &…

微服務外聯Feign調用:第三方API調用的負載均衡與容災實戰

01Feign 簡介 Feign 是 Spring Cloud Netflix 中的 聲明式 HTTP 客戶端&#xff0c;它如同一位貼心的信使&#xff0c;幫我們化繁為簡&#xff0c;讓服務間的調用變得輕松又高效。 Feign 的核心優勢在于&#xff1a;。 ? 聲明式調用&#xff1a;開發者只需定義接口和注解&a…

k8s pod調度基礎

目錄 一&#xff1a;replication controller和replicaset 1&#xff1a;replication controller replication controller的使用示例。 2&#xff1a;標簽與標簽選擇器 &#xff08;1&#xff09;標簽 &#xff08;2&#xff09;標簽選擇器 &#xff08;3&#xff09;標簽…

學習者的Python項目靈感

一、實用工具類 - 文件批量重命名工具 用 os 模塊實現按規則&#xff08;如添加日期、序號、替換關鍵詞&#xff09;批量重命名文件&#xff0c;適合處理大量圖片/文檔。 - 簡易待辦事項管理器&#xff08;To-Do List&#xff09; 用 tkinter 或 PyQt 做GUI界面&#xff0c;…

gRPC服務發現

基于 etcd 實現的服務發現&#xff0c;按照非規范化的 etcd key 實現&#xff0c;詳細見代碼注釋。 package discoveryimport ("context""encoding/json""fmt""go.etcd.io/etcd/api/v3/mvccpb"clientv3 "go.etcd.io/etcd/client/…

基于Linux的Spark本地模式環境搭建實驗指南

一、實驗目的 掌握Spark本地模式的安裝與配置方法驗證Spark本地環境是否搭建成功了解Spark基本操作和運行原理 二、實驗環境準備 操作系統&#xff1a;Linux&#xff08;推薦ubuntu&#xff09;Java環境&#xff1a;JDK 1.8或以上版本內存&#xff1a;至少4GB&#xff08;推…

數學建模_時間序列

什么是時間序列時間序列預測方法/模型條件&#xff1a;非白噪音平穩平穩性評估不平穩變成平穩然后用ARIMA模型確定p,qAR模型(ARMA特例)MA模型(ARMA特例)ARMA模型(普適)灰色模型神經網絡/LSTM組合預測模型向量數據預測結果和為1的情況什么是時間序列 省略具體圖形例子 時間序列…

linux用rpm包升級sudo包為sudo-1.9.17-2版本

rpm下載地址&#xff1a; https://www.sudo.ws/dist/packages/1.9.17p1/ 備注&#xff1a;其他壓縮包下載地址&#xff1a;https://www.sudo.ws/download.html sudo-1.9.17-2.el7.x86_64.rpm 檢查一下&#xff0c;本地sudo版本&#xff0c;執行&#xff1a;sudo -V 或者sudo -…

【開源項目】一款真正可修改視頻MD5工具視頻質量不損失

文章目錄 視頻MD5修改工具 ???? 目錄? 功能特點?? 系統要求??? 設計架構?? 技術原理?? 核心代碼1. 視頻MD5修改核心邏輯2. 前端異步處理代碼3. 錯誤處理與日志記錄?? 安裝方法方法一:直接下載方法二:使用本地服務器?? 使用教程基本使用步驟高級使用技巧??…

Day05: Python 中的并發和并行(1)

理解 Python 中的線程和進程 理解線程和進程是實現在 Python 中并發和并行的基礎。這種知識使你能夠編寫能夠看似同時執行多個任務的程序&#xff0c;從而提高性能和響應能力。本課程將深入探討線程和進程的核心概念、它們的區別&#xff0c;以及它們如何為更高級的并發技術奠…

Spring Boot 集成 MinIO 實現分布式文件存儲與管理

Spring Boot 集成 MinIO 實現分布式文件存儲與管理 一、MinIO 簡介 MinIO 是一個高性能的分布式對象存儲服務器&#xff0c;兼容 Amazon S3 API。它具有以下特點&#xff1a; 輕量級且易于部署高性能&#xff08;讀寫速度可達每秒數GB&#xff09;支持數據加密和訪問控制提供…

從小白入門,基于Cursor開發一個前端小程序之Cursor 編程實踐與案例分析

Cursor 編程實踐與案例分析 Cursor 編程實踐與案例分析 1. 什么是 Cursor&#xff1f; Cursor 是一款面向開發者的 AI 編程助手&#xff0c;集成于本地 IDE&#xff0c;支持自然語言與代碼的無縫協作。它不僅能自動補全、重構、查找代碼&#xff0c;還能理解業務上下文&#…

一、如何用MATLAB畫一個三角形 代碼

一、如何用MATLAB畫一個三角形 代碼在MATLAB中繪制三角形可以通過指定三個頂點的坐標并使用 fill 或 patch 函數實現。以下是詳細代碼示例&#xff1a;方法1&#xff1a;使用 fill 函數&#xff08;簡單填充&#xff09;% 定義三角形的三個頂點坐標 (x, y) x [0, 1, 0.5]; % …