Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino控制器)和软件(Arduino IDE)。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。对Arduino的编程是利用 Arduino编程语言(基于Wiring)和Arduino开发环境(based on Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,它们之间进行通信来实现。
ADXL335三轴加速度传感器是一款小尺寸、薄型、低功耗的三轴加速度计,提供经过信号调制的电压输出,能以最大小±3g的满量程范围测量加速度。ADXL335可以测量倾斜检测应用中的静态重力加速度,以及运动、冲击或振动导致的动态加速度。用户可以使用ADXL335上的X、Y和Z引脚上的电容XOUT、YOUT和ZOUT根据具体的应用选择合适的带宽,X轴和Y轴的带宽范围为0.5Hz至1600Hz,Z轴的带宽范围为0.5Hz至550Hz。ADXL335模块可以直接与微处理器或其他逻辑电路相连接,适合各种开发板、控制器等产品。
APC220无线数传模块是一款半双工微功率无线数据传输模块,提供多个频道的选择,具有丰富便捷的软件编程设置功能,可设置7种速率和3种几口校验方式,对外为UART/TTL接口,在开阔地带的传输距离可达1000米。模块的设置通过本身的UART/TTL接口完成,所以通过计算机使用时需要连接USB to UART/TTL接口转接板。模块也可以直接与Arduino等控制器相连,实现数据传输,进行远程遥控。
除了以上的主要器件以外,我们还需要Arduino传感器扩展板。
不啰嗦了,下面就来介绍一下制作过程,将传感器扩展板安插到Arduino控制器上,下载如下的程序:
const int X_pin = 0;
const int Y_pin = 1;
const int Z_pin = 2;
void setup()
{
Serial.begin (9600);
}
int count(int val)
{
float temp = val * 5 / 1024;
float number = ( temp - 1.65 ) * 1000 / 330;
return number;
}
void loop()
{
float x = count(analogRead(X_pin));
float y = count(analogRead(Y_pin));
float z = count(analogRead(Z_pin));
if((x>-0.5) && (x<0.5)) && (y>-0.5) && (y<0.5) && (z>0.5) && (z<1.5))
{
Serial.print("S");
}
else if((x>-0.5) && (x<0.5) && (y>-1.5) && (y<-0.5) && (z>-0.5) && (z<0.5))
{
Serial.print("W");
}
else if((x>-0.5) && (x<0.5) && (y>0.5) && (y<1.5) && (z>-0.5) && (z<0.5))
{
Serial.print("X");
}
else if((x>0.5) && (x<1.5) && (y>-0.5) && (y<0.5) && (z>-0.5) && (z<0.5))
{
Serial.print("A");
}
else if((x>-1.5) && (x<-0.5) && (y>-0.5) && (y<0.5) && (z>-0.5) && (z<0.5))
{
Serial.print("D");
}
}
再将ADXL335三轴加速度计和APC220无线输出模块连接到扩展板相应的接口上,这样一个基于Arduino的无线遥控器就做好了,下面还需要做一个验证模块,由于小编手中没有小车,所以只能先用LED看看效果了,我们需要将另一个APC220连接到另一个带有Arduino传感器扩展板的Arduino控制器上,然后选择五个数字口连接LED用来观察效果,程序很简单,在这里小编就不写了,读者们可以自己创作。
好了,一款基于Arduino控制器、ADXL335三轴加速度计和APC220无线数传模块的无线遥控器就做好了,动心了么?如果是,那就赶快行动吧!
资料链接:
Arduino UNO
http://www.alsrobot.cn/goods-141.html
ADXL335三轴加速度计
http://www.alsrobot.cn/goods-69.html
APC220无线输出模块
http://www.alsrobot.cn/goods-55.html
Arduino传感器扩展板
http://www.alsrobot.cn/goods-55.html
Arduino技术博客
近期新闻
热门新闻
奥松智能微信