本帖最后由 gada888 于 2022-4-1 15:40 编辑  
 
433MHz无线模块已经在工具箱里躺了很久了。趁今天有时间就把他拿出来擦一擦亮。小车做过不老少了。433M小车就没弄过。于是今天的主题就是433MHz的小车了。它的遥控控制距离有15米。那么控制小车很合适。它上面有D0-D3四个数字接收口,那么控制小车需要前进,停止,左转和右转这些常用功能也就足够了。话不多说。先上图片。 
 
  
全貌图 
  
发射端图 
  
接收端图 
  
视频链接如下: 
 
一.硬件清单 
 
 
二.主要模块介绍: 
1.“Gravity: 数字量无线开关” 
 
 
一款利用433Mhz射频通信技术的无线开关模组,包括发射器和接收器两部分。具有穿透性强、待机功耗低等优势。 
  [td]- 操作简单、可扩展性强
 - 穿透性强
 - 待机超低功耗
 - 发射器15种按键状态
 - 接收器具有配对功能
 - 支持一发多收/一收多发
 - 具有点动、锁存、自锁、互锁四种工作模式
 - 数字量信号,支持3.3-5V电源输入
 
  2.Romeo 三合一Arduino兼容控制器 
DFRduino RoMeo控制器是一个兼容Arduino的专为机器人应用而设计的,受益Arduino开源平台,因此受到成千上万的开放源码的支持,并可以很容易地扩展arduino模块。 集成2路直流电动机驱动器和无线插座,给出了一个更简单容易的方式开始你的机器人项目。 性能描述 
- Atmega 328
 - 14 通道数字 I/O
 - 6 PWM 通道 (Pin11,Pin10,Pin9,Pin6,Pin5,Pin3)
 - 8通道10位模拟I / O
 - USB接口
 - 自动切换输入电源
 - ICSP下载程序接口
 - 串行接口TTL电平
 - 支持AREF
 - 具有排母和排针接口
 - 具有APC220射频模块和DF-蓝牙模块插座
 - 具有3个I2C接口
 - 2个2A大电流的H桥马达驱动器
 - 模拟5键输入
 - 直流电源:USB供电或外部7V〜12V直流。
 - DC输出:5V/3.3V直流外接电源输出
 
 
  
============================================= 
三.其他主要附件的图片如下: 
  
  
   
======================================= 
四.连线图。 
一共有两个图。一个是接收端图,另一个是发射端图发射端如下: 
  
接收端如下:Romeo的供电是7.4-12V。这里用的是三节3.7V的锂电池 
  
 
 
五.最后是代码部分。在arduino ide 1.8.3测试通过 
  
 
 
			
			
			- /*遥控小车由gada888于2022.03.25原创制作,转载请引用来源,谢谢,遥控模块是DFRobot的Gravity: 数字量无线开关*/
 - 
 - #define Button_D0 7//Arduino
 - #define Button_D1 8//Arduino
 - #define Button_D2 2//Arduino
 - #define Button_D3 3//Arduino
 - int M1 = 5;
 - int M2 = 6;
 - 
 - void setup() {
 - Serial.begin(115200);
 -  pinMode(Button_D0, INPUT);
 -  pinMode(Button_D1, INPUT);
 -  pinMode(Button_D2, INPUT);
 -  pinMode(Button_D3, INPUT);
 -  pinMode(5, OUTPUT);
 -  pinMode(6, OUTPUT);
 - }
 - 
 - void loop() {
 -  if (((digitalRead(Button_D0)==1) && (digitalRead(Button_D1)==0)) && ((digitalRead(Button_D2)==0) && (digitalRead(Button_D3)==0))) {
 -    digitalWrite(M1,HIGH);
 -    digitalWrite(M2,HIGH);
 -    Serial.println("全速前进");
 -   }
 -  if (((digitalRead(Button_D0)==0) && (digitalRead(Button_D1)==1)) && ((digitalRead(Button_D2)==0) && (digitalRead(Button_D3)==0))) {
 -    digitalWrite(M1,LOW);
 -    digitalWrite(M2,LOW);
 -    Serial.println("停止前进");
 -   }
 -  if (((digitalRead(Button_D0)==0) && (digitalRead(Button_D1)==0)) && ((digitalRead(Button_D2)==1) && (digitalRead(Button_D3)==0))) {
 -     digitalWrite(M1,HIGH);
 -     digitalWrite(M2,LOW);
 -     Serial.println("向左转");
 -    }
 -  if (((digitalRead(Button_D0)==0) && (digitalRead(Button_D1)==0)) && ((digitalRead(Button_D2)==0) && (digitalRead(Button_D3)==1))) {
 -     digitalWrite(M1,LOW);
 -     digitalWrite(M2,HIGH);
 -     Serial.println("向右转");
 -    }
 - }
 
  复制代码
  
 
 
 
 
 
 
 |