求助一个L298N直流电机限位开关的问题。-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 398|回复: 0

[未解决] 求助一个L298N直流电机限位开关的问题。

[复制链接]
发表于 2022-9-7 01:35 | 显示全部楼层 |阅读模式
本帖最后由 38151987 于 2022-9-7 01:37 编辑

我这个限位开关只能用一次,
电机转动到限位停止后,再按复位按钮就没反应了,然后重新上电就可以再用一次,这样重复。哪位帮我看看哪里问题。



  1. #define INA1  5  // IN1
  2. #define INA2  4  // IN2

  3. const int key1 = 12;     // 复位针脚
  4. const int xianwei = 0;   // 限位针脚

  5. void setup()
  6. {  
  7.   pinMode(INA1,  OUTPUT);  
  8.   pinMode(INA2,  OUTPUT);  
  9.   pinMode(xianwei, INPUT); // 限位初始化
  10.   Serial.begin(115200);
  11.   attachInterrupt(digitalPinToInterrupt(xianwei), fuwei, FALLING);
  12. }

  13. void loop()
  14. {

  15.   if (digitalRead(key1) == HIGH)
  16.   {
  17.     delay(50);
  18.     if (digitalRead(key1) == HIGH)
  19.     {
  20.       fuwei();
  21.       Serial.println("按了复位");
  22.     }
  23.     while (digitalRead(key1) == HIGH);
  24.   }
  25.   
  26. }

  27. ICACHE_RAM_ATTR void fuwei()
  28. {

  29.      right();

  30.     if (digitalRead(xianwei) == LOW){
  31.             stoop();
  32.             Serial.println("限位停止");
  33.           }

  34. }

  35. void right()
  36. {
  37.      digitalWrite(INA1,LOW);
  38.      digitalWrite(INA2,HIGH);
  39. }

  40. void stoop()
  41. {
  42.      digitalWrite(INA1,LOW);
  43.      digitalWrite(INA2,LOW);
  44. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 01:25 , Processed in 0.173515 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表