arduino和cc2530模块结合使用-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: Irregular人生

[未解决] arduino和cc2530模块结合使用

[复制链接]
 楼主| 发表于 2019-3-23 20:34 | 显示全部楼层
Eran2014 发表于 2019-1-10 16:12
楼主问题解决了吗?我这里也是想用DL-20 CC2530无线串口模块将传感器的串口信号传输到主机上,不知道要怎么 ...

以下是我用一组CC2530模块控制实现远程遥控,通过Arduino控制小车前进和后退的源代码:
Arduino + L298N + CC2530模块  

#define ENA 5
#define ENB 6
#define IN1 7
#define IN2 8
#define IN3 10
#define IN4 9

char val;

void setup() {
  // put your setup code here, to run once:
    //注意要和CC2530模块的波特率设置一致,此处默认使用的是Arduino mage2560 的串口0,此组串口和USB线的串口是相通的,所以在烧写程序的时候应该取掉cc530模块
  //另外,cc2530的RX、TX和Arduino连接的时候,应注意Arduin的Rx 接CC2530的Tx;Tx也是这样的。
  Serial.begin(115200);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}


void loop() {
  // put your main code here, to run repeatedly:
//Serial.read()函数一次只能读取一个字节的内容,读取之后,串口中这个字节的你内容就没了,下一次读取的时候就自动读取下一个字节的内容
  if (Serial.available() > 0)
  {
    val = Serial.read();
    if (val == '8')
      GOForward();
    if (val == '2')
      BackUp();
      if(val=='0')
      Stop();
  }
}

void GOForward()
{
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2,LOW);
  analogWrite(ENA, 100);

  digitalWrite(IN3,HIGH);
  digitalWrite(IN4,LOW);
  analogWrite(ENB, 100);
  Serial.println("Go_Forward");
}

void BackUp()
{
  digitalWrite(IN1, LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA, 100);

  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB, 100);
  Serial.println("Back_Up");
}

void Stop()
{
  digitalWrite(IN1, LOW);
  digitalWrite(IN2,LOW);

  digitalWrite(IN3,LOW);
  digitalWrite(IN4,LOW);
  Serial.println("Stop");
  }
 楼主| 发表于 2019-3-23 20:35 | 显示全部楼层

已经解决了。谢谢
发表于 2022-4-13 16:54 | 显示全部楼层
楼主,我想请教一下,为什么我用上位机和mega2560连接,发送出来了信号但是2560没有接受,没有反应,是要在程序里面加什么嘛?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 09:33 , Processed in 0.087388 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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