【Z】Arduino官方TFT库教程-让你的Arduino瞬间变成游戏机~-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 26601|回复: 6

【Z】Arduino官方TFT库教程-让你的Arduino瞬间变成游戏机~

[复制链接]
发表于 2013-9-18 23:36 | 显示全部楼层 |阅读模式
小Z今天带给大家的是Arduino最新推出的官方TFT模块的教程,大家应该都知道arduino最近出了一款新的板子叫Arduino Esplora,同时,Esplora也预留了一个TFT接口,可以直接插上arduino TFT模块来做掌上8位游戏机,而现有的arduino TFT模块一直以驱动复杂,刷新速度慢等等原因一直很不理想。但是arduino官方此次发布的1.8寸TFT屏幕却是相当的给力,刷新率目测最高能达到15fps以上,可以直接在arduino上玩弹球等游戏,并且采用了SPI接口来驱动,接线简单方便,同时集成了TF卡模块,利用官方的例程就可以显示TF卡中的图片了~ QQ截图20130918232426.png

官方库下载:
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]
如果我们想要调节字体的颜色和大小,只需要修改相应括号中的参数即可,十分的方便~

实例效果图如下:

QQ截图20130918232246.png


QQ截图20130918232350.png

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]

例子运行效果:
QQ截图20130918232336.jpg QQ截图20130918232323.jpg

经过以上两个实验,我们可以看出arduino TFT库的操作十分的简单,并且实际运行中可以看出屏幕刷新速度也是非常的高,如果你有arduino Esplora或者摇杆模块的话,可以尝试其他的例程,比如用摇杆来玩弹球游戏,可以更加直观的感受这块屏幕的魅力,不过如果使用摇杆程序的话,要注意设置初始刷新速度,因为程序中原先的刷新的速度是由esplora的变阻器决定的,用arduino的话就没有,所以要自己注意一下这些细节~

总之,有了这样一块屏幕,我们的arduino实验和娱乐性都会强大很多,如果想要看到这块屏幕玩游戏的效果,请戳这里:http://www.arduino.cn/forum.php?mod=viewthread&tid=3486&fromuid=27
(出处: arduino中文社区)






发表于 2013-9-19 14:04 | 显示全部楼层
好NB....以后可以玩游戏了...
发表于 2013-9-19 21:15 | 显示全部楼层
厉害!希望继续出更大尺寸的TFT,至少5寸么……哈哈 谢谢楼主分享!
发表于 2016-2-15 13:13 | 显示全部楼层
真棒
好想试试
发表于 2016-3-30 18:26 | 显示全部楼层
可是内存这么小,能变游戏吗?
发表于 2016-5-23 00:35 | 显示全部楼层
厉害 解释的很详细
发表于 2017-10-28 10:25 | 显示全部楼层
如果是2.8寸的触摸屏是不是就和这个不一样了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-21 02:36 , Processed in 0.112489 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表