|
小Z今天带给大家的是Arduino最新推出的官方TFT模块的教程,大家应该都知道arduino最近出了一款新的板子叫Arduino Esplora,同时,Esplora也预留了一个TFT接口,可以直接插上arduino TFT模块来做掌上8位游戏机,而现有的arduino TFT模块一直以驱动复杂,刷新速度慢等等原因一直很不理想。但是arduino官方此次发布的1.8寸TFT屏幕却是相当的给力,刷新率目测最高能达到15fps以上,可以直接在arduino上玩弹球等游戏,并且采用了SPI接口来驱动,接线简单方便,同时集成了TF卡模块,利用官方的例程就可以显示TF卡中的图片了~
官方库下载:
TFT.rar
(38.51 KB, 下载次数: 612)
下面就让我来说明下这块屏幕用arduino官方发布的TFT库来驱动这块神奇的屏幕:
把之前下载的库文件放入arduino IDE的libraries文件夹后打开IDE,你会看到在IDE的example里多出了一个TFT库,并且选中它会出现两个选项,一个是Esplora,一个是arduino。如果你使用的是一般的arduino来驱动请选择arduino文件夹下的例程,如果你使用的是esplora,那么请选择esplora下的例程,这是因为esplora的集成度更高,并且有扩展IO IC,所以是不兼容的,这一点一定要注意。
1.0 显示文字例程打开TFT text example这个例子,写入arduino,你就可以观察到屏幕在不断的显示模拟口读取到的信号数值,现在我们由此来分析一下这个库的使用方法:
[mw_shl_code=c,true]TFTscreen.begin();// 清除屏幕并初始化屏幕
TFTscreen.background(0, 0, 0);// 设置屏幕背景颜色
TFTscreen.stroke(255,255,255);//设置文字颜色
TFTscreen.setTextSize(2);//设置显示文字字体
TFTscreen.text("Sensor Value :\n ",0,0); // 从屏幕左上角开始输出一行字符“Sensor Value(传感器数值)”
TFTscreen.setTextSize(5);//再次设置文字大小,较之前更大,来让传感器数值显示更加清楚[/mw_shl_code]
如果我们想要调节字体的颜色和大小,只需要修改相应括号中的参数即可,十分的方便~
实例效果图如下:
2.0 显示图形例程
现在,让我们打开TFT Graph例程,并且上传至arduino,我们会看到屏幕在不断的绘制传感器数值图形波纹,那么,我们要怎么利用这个例程呢,我们来分析一下
[mw_shl_code=c,true]int sensor = analogRead(A0);
int drawHeight = map(sensor,0,1023,0,TFTscreen.height());//把传感器数据映射到屏幕高度范围内
Serial.println(drawHeight);// 把高度传输给串口
TFTscreen.stroke(250,180,10);// 设置目标曲线颜色
TFTscreen.line(xPos, TFTscreen.height()-drawHeight, xPos, TFTscreen.height());
if (xPos >= 160) {
xPos = 0;
TFTscreen.background(250,16,200);
}
else {
// increment the horizontal position:
xPos++;//判断是否图形触及到屏幕边缘,如果触及到边缘则屏幕刷新清零
}[/mw_shl_code]
例子运行效果:
经过以上两个实验,我们可以看出arduino TFT库的操作十分的简单,并且实际运行中可以看出屏幕刷新速度也是非常的高,如果你有arduino Esplora或者摇杆模块的话,可以尝试其他的例程,比如用摇杆来玩弹球游戏,可以更加直观的感受这块屏幕的魅力,不过如果使用摇杆程序的话,要注意设置初始刷新速度,因为程序中原先的刷新的速度是由esplora的变阻器决定的,用arduino的话就没有,所以要自己注意一下这些细节~
总之,有了这样一块屏幕,我们的arduino实验和娱乐性都会强大很多,如果想要看到这块屏幕玩游戏的效果,请戳这里:http://www.arduino.cn/forum.php?mod=viewthread&tid=3486&fromuid=27
(出处: arduino中文社区)
|
|