【stm32简单外设篇】- 单路 TTP223 电容式触摸传感器

一、适用场景

适用场景:无机械按键的触摸按键替代(灯光触控、门禁触摸、家电面板、互动玩具、人机界面)、潮湿/封装环境下的按键替代、嵌入式入门 GPIO/EXTI 去抖与低功耗唤醒实践。

二、器材清单

单路 TTP223 电容式触摸模块(带 PCB 电极或裸芯片 + 单触点) ×1

stm32f103(或其它 STM32)开发板 ×1

若干杜邦线(母对母/公对母)×1组

三、工作原理(要点)

电容感应:TTP223 内部测量电容变化,当接触或靠近模块的电极时,电容增大并触发检测逻辑,模块输出数字信号表示触摸事件。

四、接线示意
VCC → +5V

GND → GND

标准库

PA0→IO

HAL库

PA0→IO

五、示例代码

标准库

HAL库

cpp 复制代码
int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
		if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0) == 1)
			HAL_UART_Transmit(&huart1,"有接触\r\n", strlen("有接触\r\n"), HAL_MAX_DELAY);
		else
			HAL_UART_Transmit(&huart1,"无接触\r\n", strlen("无接触\r\n"), HAL_MAX_DELAY);
		HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

六、讲解视频

https://www.bilibili.com/video/BV1PtkDBxEXN/?spm_id_from=333.1387.upload.video_card.click\&vd_source=b035825fef3be39bc47a9c50b324d086

https://www.bilibili.com/video/BV1uEkDBaEEC/?spm_id_from=333.1387.upload.video_card.click&vd_source=b035825fef3be39bc47a9c50b324d086

https://www.bilibili.com/video/BV1UEkDBhEWt/?spm_id_from=333.1387.upload.video_card.click&vd_source=b035825fef3be39bc47a9c50b324d086

相关推荐
女神下凡41 分钟前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
Zw-awa2 小时前
从 CH340 到 HC-05 和 HC-06:让小车脱离电脑
stm32
硅基手札3 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
揽星河..4 小时前
【C语言】指针
c语言·开发语言
何粥学5 小时前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq
Sakura_j_h_5 小时前
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
HANDY092006 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
飞凌嵌入式9 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎18 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
爱聊灵光的维C20 小时前
从看见世界到重构认知:在视觉与硬件的交汇处,寻找我们这代人的北极星
c语言·物联网·计算机视觉·重构·硬件工程·射频工程