|
設計搞得人好煩,做一個數控電源,各種方案也都不是找不到,但是一個簡單有效的解決方案很不好找!了解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實在太簡單了!有木有!
|
|