12300290055 姚文婕 2015.6.24 基于Arduino的贪吃蛇游戏.

Slides:



Advertisements
Similar presentations
H T U 報告者:周振聰 僑生處 主任. h T U 免會考成績入學 h T U 未來望 您想學 一技之長嗎 ? 歡迎參加莊敬建教班 不但三年免學費,且 保證讓您學到一技之 長,脫離貧窮,邁向 光明的人生 免試入學.
Advertisements

高一七班 研究性学习小组 当我们正为寻找什么课 题而烦恼时,忽见一 精光从我面前闪过。 艾玛,原来是我同桌 眼镜反射,自此 “ 眼镜 ” 这课题被我付诸行动。 我们为此进行了研究 讨论学习 下图为组员在查阅资料.
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
1. 一. 人口分布  全球約十分之九的人口集中在北半球。  三大人口稠密區:亞洲東南半壁、歐洲、北美洲東部  季風亞洲人口占全球一半。  人口稀少區 太乾-北非撒哈拉沙漠 太濕-亞馬孫、剛果雨林 太冷-西伯利亞、南極 崎嶇-東非、青藏高原 2 台灣人口分佈狀況 (04 : 43) p.83.
桃園地景藝術節 最近桃園在舉辦桃園地景藝術節,種共有五大主題區, 分別是:黃色小鴨展區、巨型蓮花展區、草間點點展區、范姜 古厝展區、新屋水巷展區。那這些景點到底個展覽什麼呢?讓 我們繼續看下去 …… 。
4-2 、聚落的演變 人口的分布 自然環境特性、交通便利性及就業 機會等因素,常影響人們對於居住地點 的選擇。 臺灣西部地區的平原和盆地,地勢 較為低平、開發較早,在肥沃的土壤、 便捷的交通網路等有利的條件下,工商 業往來頻繁,人口較為密集。
加快培育和发展战略性新兴产业 科技部调研室 胥和平
2014年语言文字工作总结 党委学生工作部 2014年12月5日.
第3章: 產業與競爭環境 張緯良 世新大學資訊管理系.
Arduino与小游戏制作 钟鸣远
高雄市復華高級中學 校務分享簡介 簡報人:康木村 校長.
文明建设,气象先行 ——农安县气象局 2.
滑雪美食街 組員:林韋伶、張雅弦、王佑盛、朱坤賢.
汪清县气象局创建省级文明单位工作展示 2016年8月
实验四 利用中规模芯片设计时序电路(二).
中国文学 王馨.
Arduino单片机—— 迷你游戏机 王睿涵 杨梦迪.
榕桥中学 校园文化建设情况汇报.
小学生游戏.
工業局推動性別主流化 經濟部工業局 何專門委員紀芳 104年12月2日.
LabVIEW简介 李楠.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
2016年上半年工作汇报 后勤与保卫管理处 二○一六年七月.
Hadoop I/O By ShiChaojie.
ARDUINO+BLUETOOTH Arduino实现蓝牙数据传输.
辅导课程六.
网络常用常用命令 课件制作人:谢希仁.
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
基于Arduino单片机的简易示波器 Arduino Based Simple Oscilloscope
9.1 家用电器.
Online job scheduling in Distributed Machine Learning Clusters
利用Arduino制作定向装置 核科学与技术系 崔伟毅 梁嘉祺
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
世外桃源~ 劍 潭 里 零碳排放里.
编程作业3:网页正文抽取 (10分).
K60入门课程 13 首都师范大学物理系 王甜.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
专题作业.
C语言程序设计 主讲教师:陆幼利.
K60入门课程 02 首都师范大学物理系 王甜.
VisComposer 2019/4/17.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
姚金宇 MIT SCHEME 使用说明 姚金宇
Logo语言. Logo语言 视图窗口 小海龟 ?: 提示符 l: 光标 命令窗口.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
信号量(Semaphore).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
感光世界 亞洲大學 資訊工程學系 學生:郭致翔、林壬午、黃智猷、陳奕升 指導教授:蔡志仁教授
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
临界区问题的硬件指令解决方案 (Synchronization Hardware)
相片典藏 臺北市立弘道國中總務處 防災校園建置計畫補助-個人防護具 品 名 數 量 30 4 工作手套 72 6 簡易雨衣 300
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
滤波减速器的体积优化 仵凡 Advanced Design Group.
科展心得分享 電子科教師:童信源.
亚博科技 Arduino视频教程 第1讲 Hello World!
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
基于学案制作ppt 录屏工具使用 郑建彬.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
§4.5 最大公因式的矩阵求法( Ⅱ ).
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Presentation transcript:

12300290055 姚文婕 2015.6.24 基于Arduino的贪吃蛇游戏

Arduino 程序控制单片机 电脑数据线 主控板(储存程序)

贪吃蛇 蛇 点阵显示当前状态 自律运动 动作控制

点阵显示模块 Signal[2][16] 利用视觉残留效应,循环点亮32排 每排8盏灯。根据每帧停留时间的 需要,设置循环次数。 由四个线脚的电位高低每次控制8 盏LED灯的亮灭,输入信号是一个8 位二进制数。 getSignal函数 将直观的16*16矩 阵转化为所需的2*16矩阵。得到显 示需要的signal信息矩阵。 (𝟎𝟏𝟎𝟏𝟎𝟏𝟎𝟏) 𝟐 =𝟖𝟓 Signal[2][16]

输入使用signal矩阵 32拍灯轮流点亮 void show(){} 使点阵显示当前矩阵//改编自点阵控制范例使用了 Arduino内置库函数SPI.h 输入使用signal矩阵 32拍灯轮流点亮 将signal矩阵转化为线脚信号 到这里位置,我们已经完成了显示模块的编写,接下来的一切都可以直接基于16*16矩阵进行编写 在SPI.h中定义的量 线脚写入(输出)

贪吃蛇 蛇 点阵显示当前状态 自律运动 动作控制

蛇的数据结构 food[2] direct head[2] tail[2] ahead[2] length speed

贪吃蛇 蛇 点阵显示当前状态 自律运动 动作控制

蛇的自律运动设置 更新food[2] 更新ahead[2] 更新head[2]\tail[2]\length\snack[][]\speed

贪吃蛇 蛇 点阵显示当前状态 自律运动 动作控制

蛇的动作控制(按钮版) 黑色表示按下按钮的时间 黑色表示程序检查按键的时间 动作控制的内容: direct =1,2,3,4(上下左右) tag=0(运动:开始/继续),1(停止:暂停/结束) 黑色表示按下按钮的时间 黑色表示程序检查按键的时间

蛇的动作控制(遥控器版) 红外指令有效时间 运行矩阵显示的时间 等待红外指令的时间 这导致有些命令是接收不到的,严重影响游戏的体验!!!

标记8种不同的指令 记录上次接收到的指令,可以随时调用

用3个线脚的电位记录命令 open(重置):000和001 play(暂停/继续):010和011 上下左右:100,101,110,111 为了保证每个open命令只被执行一次,需要记录这个 命令(如:000),下次检查之后若发现仍是000,则 不运行open,若为001,则再次运行open。 000和001由遥控器的同一个键控制,按一下为000,下 次再按变为001,再按变为000.

主要工作内容 1.实现了点阵对任意16*16矩阵的显示 2.设计了蛇的数据结构,使得每步之需要改变2~3盏灯 3.通过两块并行主板解决了红外遥控器信号遗失的问题 4.实现了告示牌的滚动显示和闪烁显示

问题与改进 实验中遇到了主板内存不足的问题,导致没有多余的空 间存储一个较大的gameover()函数,从而无法显示分数。 程序内置speed和score内容,可以继续改进,使得这些 参数在硬件中得以显示。 点阵有未消除的余晖

谢谢观看,欢迎提问!