当前位置: 首页 > news >正文

arduino程序-MC猜数字1(基础知识)

arduino程序-MC猜数字1(基础知识)

  • 1-18 MC猜数字0-介绍
  • 1-19 MC猜数字1-电路搭建
    • 电路图
    • 所需元件
      • 10根杜邦线(公对公)
      • 10根左右面包板跳线
      • 数码管
      • 按键
      • 电阻1个(200~500欧姆)
      • 面包板
      • Arduino UNO R3*1
    • 搭建电路
    • 相关程序

1-18 MC猜数字0-介绍

在这里插入图片描述

按键开关和显示数字,每次按下开关会产生随机的数字

数字产生于arduino开发板

可以使用意念控制数字?(数字是随机的,如何做?,猜的准确)

1-19 MC猜数字1-电路搭建

制作一个可以进行猜数字游戏的制作

不仅搭建电路,还有更多知识

在这里插入图片描述

将arduino拿出来,实际动手搭建

此处只是构建电路,理论知识暂时放下

电路图

在这里插入图片描述

所需元件

10根杜邦线(公对公)

在这里插入图片描述

10根左右面包板跳线

一般论盒卖,连接面包板小孔
在这里插入图片描述

数码管

在这里插入图片描述

按键

在这里插入图片描述

电阻1个(200~500欧姆)

在这里插入图片描述

面包板

在这里插入图片描述

Arduino UNO R3*1

官方版,质量好,价格高,更容易配置,兼容性好与arduinoIDE

非官方的克隆版,价格低,可能需要单独安装驱动程序
在这里插入图片描述

搭建电路

请看视频
在这里插入图片描述
在这里插入图片描述

数码管上下各5个引脚

电阻一端插在上面5个引脚中间的那个引脚,另一端插在靠近蓝色的一排
在这里插入图片描述
在这里插入图片描述

找四个红色面包板跳线
电阻左右相邻的孔插入跳线一端,另一端引出
在这里插入图片描述

下方两个跳线插入到中间的孔的相邻两个孔,如图所示,中间下方的引脚留空
在这里插入图片描述

在拿出4根长的黄色跳线
插入如下
在这里插入图片描述
在这里插入图片描述

黄色线一端3号引脚,一端短红色线一端,如图
在这里插入图片描述

黄色线一端4号引脚,一端长橘黄色线一端,如图
在这里插入图片描述

绿色5号引脚
在这里插入图片描述

紫色6号引脚

在这里插入图片描述

黄色7号引脚,

在这里插入图片描述

橘黄色长线,8号引脚,
在这里插入图片描述

白色9号引脚

在这里插入图片描述

按键开关,相连不同侧,同侧不相连
在这里插入图片描述
在这里插入图片描述

一端2号引脚,一端按键开关
在这里插入图片描述

黑色导线,一端在接地引脚,另一端蓝色导轨一排

在这里插入图片描述

电路搭建好后,可通过太极创客网站测试程序测试
显示从0到9,
在这里插入图片描述

当按下按键开关显示是一个b字
在这里插入图片描述

此时电路搭建成功

相关程序

在这里插入图片描述

程序若是上方直接运行,显示效果并不好,程序与结果不一致

原因显示完1,7号引脚打开,再显示2的时候,没有对前面的如7号引脚进行关闭,这就导致在显示下一个数字的时候会被上方的影响到

如何做加入清理显示内容的函数,将3~9的引脚全部给低电平熄灭

每次显示完一个数字都进行内容清理
在这里插入图片描述

修改后效果如下:
在这里插入图片描述

完整代码如下:
http://www.taichi-maker.com/homepage/arduino-basic-tutorial-index/arduino-basic-tutorial-20/

/*
20 MC猜数字 - 2 LED数码管 
太极创客
www.taichi-maker.com此程序用于太极创客<<零基础入门学用Arduino教程>>
20 MC猜数字 - 2 LED数码管 
课程的演示实验使用。2017-04-21
*/void setup() {pinMode(3, OUTPUT);pinMode(4, OUTPUT);pinMode(5, OUTPUT);pinMode(6, OUTPUT);pinMode(7, OUTPUT);pinMode(8, OUTPUT);pinMode(9, OUTPUT);}// the loop function runs over and over again forever
void loop() {// 显示 1:digitalWrite(4, HIGH);digitalWrite(7, HIGH); delay(500);  // 清理显示内容digitalWrite(3, LOW);digitalWrite(4, LOW);digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(500);// 显示 2:digitalWrite(3, HIGH);digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); delay(500);// 清理显示内容digitalWrite(3, LOW);digitalWrite(4, LOW);digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(500);// 显示 3:digitalWrite(3, HIGH);digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); delay(500);  // 清理显示内容digitalWrite(3, LOW);digitalWrite(4, LOW);digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(500);
}

思考:
显示到1,2,3,4,5,6,7,8,9,0数字

/*
19 MC猜数字 - 1 电路搭建
太极创客
www.taichi-maker.com

此程序用于太极创客<<零基础入门学用Arduino教程>>中
MC猜数字电路测试使用。

2017-04-21
*/
void setup() {
pinMode(2, INPUT_PULLUP);
for (int i = 2; i <= 9; i++) {
pinMode(i, OUTPUT);
}

}

// the loop function runs over and over again forever
void loop() {
int myNumber = 0;
while(myNumber <= 9){
displayNumber(myNumber);
delay(500);
displayClear();
myNumber++;
while(!digitalRead(2)){
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
}
delay(500);
}
}
void displayClear(){
// 清理显示内容
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}

void displayNumber(int number){
switch(number){
case 1:
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
break;
case 2:
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
break;
case 3:
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 4:
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
break;
case 5:
digitalWrite(3, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 6:
digitalWrite(3, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
break;
case 7:
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
break;
case 8:
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
break;
case 9:
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 0:
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
break;
default:
digitalWrite(5, HIGH);
}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python I 嵌套列表的多种展开方法
  • 32--蜂鸣器
  • 反爬虫限制:有哪些方法可以保护网络爬虫不被限制?
  • 【Linux】(26) 详解磁盘与文件系统:从物理结构到inode机制
  • WebTracing:如何使用一款SDK实现前端全链路监控
  • Qt如何在工程中使用dll库
  • 数据可视化工具,免费无限制制作报表
  • Datawhale AI夏令营第三期 AI+物质科学学习记录 Task2 RNN建模SMILES进行反应产率预测
  • [极客大挑战 2019]PHP1
  • APP逆向 day25unidbg中
  • 遗传算法与深度学习实战——生命模拟及其应用
  • 嵌入式C++、ROS 、OpenCV、SLAM 算法和路径规划算法:自主导航的移动机器人流程设计(代码示例)
  • .JPG图片,各种压缩率下的文件尺寸
  • 这两个大龄程序员,打算搞垮一个世界软件巨头!
  • Sqlmap中文使用手册 - Enumeration模块参数使用
  • [ JavaScript ] 数据结构与算法 —— 链表
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • “大数据应用场景”之隔壁老王(连载四)
  • Bytom交易说明(账户管理模式)
  • C++类中的特殊成员函数
  • django开发-定时任务的使用
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • es的写入过程
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Java方法详解
  • Java新版本的开发已正式进入轨道,版本号18.3
  • java中的hashCode
  • JS学习笔记——闭包
  • Python十分钟制作属于你自己的个性logo
  • react-native 安卓真机环境搭建
  • 彻底搞懂浏览器Event-loop
  • 分类模型——Logistics Regression
  • 关于for循环的简单归纳
  • 盘点那些不知名却常用的 Git 操作
  • 如何进阶一名有竞争力的程序员?
  • 如何实现 font-size 的响应式
  • 找一份好的前端工作,起点很重要
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ‌移动管家手机智能控制汽车系统
  • # SpringBoot 如何让指定的Bean先加载
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (21)起落架/可伸缩相机支架
  • (Python) SOAP Web Service (HTTP POST)
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (七)Activiti-modeler中文支持
  • (七)glDrawArry绘制
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net mvc 获取url中controller和action
  • .NET MVC 验证码
  • .Net 垃圾回收机制原理(二)
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET(C#) Internals: as a developer, .net framework in my eyes