|
设计搞得人好烦,做一个数控电源,各种方案也都不是找不到,但是一个简单有效的解决方案很不好找!了解ARDUINO有几天了,一直没有机会利用ARDUINO开发一些东西,这次刚好可以用上
数控电源我不多说了,反正我觉得用ARDUINO做控制部分再合适不过了
本身带有AD,可是身边只有UNO,不带DA,所以沿用51的DA,将用TLC5615来解决DA部分
变成太烦了,不符合使用ARDUINO的简单粗暴,为此,我花了一天时间,放弃五一假期,从零开始学库函数的编写方法
终于功夫不负有心人,我的库函数竟然跑起来了,好激动啊!
把大家勾引进来就是想与大家分享,算是一个DA 的解决方案吧!也希望大家能帮忙测试(如果身边有这个芯片的话),再次先谢谢大家了!
下面我简单介绍我用DA芯片实现呼吸灯的流程
1.编写了TLC5615的库函数(不详细写了)
2.将库函数导入ARDUNIO的库中
下载TLC5615.zip,直接解压到安装目录下的libraries目录中
32bit系统: *:\Program Files\Arduino\libraries
64bit系统: *:\Program Files (x86)\Arduino\libraries
重新启动Arduino IDE
3.制作扩展板,TLC5615外围电路如下
VDD接在ARDUNIO板子上的5V接口
GND就不用说了吧!
4.与ARDUNIO连接方法
DIN - Pin 7
SCLK - Pin 6
CS - Pin 5
其实随便接3-13脚都可以,编程的时候改一下就好了。
LED灯接在OUT和GND之间,不用串电阻了,本身输出电流就不怎么大。
如果不够亮,可以将VDD和REFIN直接连起来,后面电阻啥的直接忽略
以VDD为参考电压,亮度高一点,效果也好一些。
5.编写程序,或者打开例程下载吧!
/*
Respiration lamp
By using the DA chip - TLC5615 to realize the breath lamp.
The LED lamp is connected between the OUT and GND.
The reference voltage is VCC.
Created by Luffy, May 2,2014.
This example is in the public domain.
*/
#include <TLC5615.h>
TLC5615 MyDAC(7, 6, 5);
// DIN - Pin 7
// SCLK - Pin 6
// CS - Pin 5
unsigned char DATACODE[]={
0x6f,0x6a,0x67,0x60,
0x5f,0x5c,0x5a,0x57,0x54,0x50,
0x4f,0x4c,0x4a,0x47,0x44,0x40,
0x3f,0x3a,0x37,0x30,0x2f,
0x27,0x1f,0x17,0x0f};
void setup() {
MyDAC.InitTLC5615(); //Initializing the TLC5615.
}
void loop() {
for(unsigned int i = 0; i<25; i++)
{
MyDAC.DAConvert(DATACODE[ i]); //Digital-to-Analog conversion
delay(100);
}
}
注:TLC5615(int DIN, int SCLK, int CS); //引脚设置函数 InitTLC5615(); //芯片初始化
DAConvert(unsigned int data); //DA转换
这样做DA实在太简单了!有木有!
|
|