Arduino 多LED灯控制

Arduino 多LED灯控制

前言

好好学习,天天向上

接线图

接线图

源码

偷个懒,只用了两个LED。

//初始管脚
int firstNum=2;
//最大管脚
int maxNum=4;

void setup(){
    for (int i = firstNum; i < maxNum; i++)
    {
        pinMode(i,OUTPUT);
    }
}

void loop(){
    for (int i = firstNum; i < maxNum; i++)
    {
        digitalWrite(i,HIGH);
        delay(500);
    }

    for (int i = firstNum; i < maxNum; i++)
    {
        digitalWrite(i,LOW);
    }
    delay(500);
}

效果

效果

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用ROS控制Arduino点亮LED,需要进行以下步骤: 1. 在Arduino上连接一个LED和一个电阻器。将LED的一个引脚连接到Arduino的数字引脚(例如D13),将另一个引脚连接到电阻器,然后将电阻器的另一端连接到Arduino的GND引脚。 2. 在Arduino IDE中编写一个简单的程序,使LED在接收到来自ROS的指令时点亮或熄灭。例如,以下代码将LED连接到D13引脚,并通过ROS订阅名为“led”的主题来控制: ``` int ledPin = 13; bool ledState = false; void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); rosInit(); } void loop() { rosSpinOnce(); } void ledCallback(const std_msgs::Bool& msg) { ledState = msg.data; digitalWrite(ledPin, ledState ? HIGH : LOW); } void rosInit() { // 初始化ROS节点 int argc = 0; char** argv = NULL; ros::init(argc, argv, "arduino_led"); // 创建ROS节点句柄 nh = new ros::NodeHandle(); // 创建ROS订阅者 sub_led = nh->subscribe("led", 1, ledCallback); } void rosSpinOnce() { // 处理ROS消息 ros::spinOnce(); } ``` 3. 在ROS中创建一个名为“led”的主题,并使用rostopic命令向其发送消息以控制LED。例如,以下命令将LED点亮: ``` rostopic pub /led std_msgs/Bool "data: true" ``` 4. 检查Arduino串口输出,确保它接收到了来自ROS的消息并正确地控制LED。例如,如果使用Serial.println()语句在Arduino程序中输出调试信息,则可以使用Serial Monitor查看这些信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值