arduino程序-MC猜数字2、3、4(基础知识)

news2024/9/21 12:42:49

arduino程序-MC猜数字2、3、4(基础知识)

  • 1-20 MC猜数字2-LED数码管
    • 数码管
    • LED数码管应用
    • 程序示例
  • 1-21 MC猜数字3- while
    • 回顾
    • While循环语句
    • Do while循环语句
  • 1-22 MC猜数字4-switch case
    • If判断myNumber数字显示
    • If ... else if
    • Switch case
    • 示例程序
    • 产生随机数字random(0,4) (随机数有0,1,2,3无4)

1-20 MC猜数字2-LED数码管

在这里插入图片描述

数码管

一位8段led数码管,
在这里插入图片描述在这里插入图片描述

数码管点亮相应的led显示数字
在这里插入图片描述
在这里插入图片描述

一位8段共阴极led数码管

在这里插入图片描述

LED有两极,阴极、阳极,正负极

在这里插入图片描述

上方所有的负极的led都接在一起了

公共的有一个负极,共阴极

数码管内部结构如左上,所有数码管的负极都接在了cc引脚上,右侧数码管上下各5个引脚,中间的引脚就是cc引脚

在这里插入图片描述

显示数字时要点亮哪几个led,如下
在这里插入图片描述
在这里插入图片描述

Common cathode(公共的阴极)

LED数码管应用

在这里插入图片描述

CC引脚通过电阻接地了(锯齿状表示符号)

在这里插入图片描述

数码管7个阳极接在7个arduino引脚上面

还要给7个数码管配上一个电阻,正常是每个led都配上电阻,这里是做实验,简化电路步骤,临时只使用一个电阻

各段连接引脚的号码

显示1
在这里插入图片描述

显示3

在这里插入图片描述

程序示例

http://www.taichi-maker.com/homepage/arduino-basic-tutorial-index/arduino-basic-tutorial-19/

1-21 MC猜数字3- while

通过对led数码管的控制学习更多知识

获得程序

回顾

在这里插入图片描述

7个引脚设置成输出模式

如何对其写的简洁一些

While循环语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

将3到9共7个引脚设置为输出模式,要小心陷入死循环

Do while循环语句

在这里插入图片描述

1-22 MC猜数字4-switch case

在这里插入图片描述

上节课代码,while循环优化引脚模式代码

在这里插入图片描述

If判断myNumber数字显示

使用if分析myNumber数字是几进行输出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

更改myNumber数值为1,显示效果如下:

If … else if

上面方法可以工作但不是理想,每次需要多次判断,才能进行后面程序执行,可以优化成else if
在这里插入图片描述

进行一次判断
在这里插入图片描述

一次逻辑判断执行后面的程序,
在这里插入图片描述

两次逻辑判断得到2

在这里插入图片描述

如何让程序高效工作

太多的else if ,自己搞乱,程序编译运行过程也会发生问题

Switch case

http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/switch-case/
在这里插入图片描述

在这里插入图片描述

示例程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

产生随机数字random(0,4) (随机数有0,1,2,3无4)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

程序改成随机数字显示
在这里插入图片描述

程序加入delay延时,加入清除显示内容
在这里插入图片描述

程序随机显示效果如下
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1973312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

域环境的搭建 内网学习不会搭建环境???

今天有空写一下内网环境的搭建的步骤,我下面是我搭建的环境的图。 我搭建的是父子域,DC是父域控,WEB为子域控 然后下面我来说一下我是怎么搭建的。 首先我们要准备一些机器的镜像文件,如果你是复制的虚拟机的话,你要把…

CLIP论文详解

文章目录 前言一、CLIP理论1.CLIP思想2.模型结构 二、CLIP预训练1.数据集2.训练策略3.模型选择 三、Zero-Shot推理四、CLIP伪代码实现五、CLIP局限性总结 前言 CLIP这篇论文是OpenAI团队在2021年2月底提出的一篇论文,名字叫做《Learning Transferable Visual Models…

Markdown与数学公式

在写偏理科的文章的时候,多多少少会涉及到一些公式、函数的输入,本篇就来讲讲如何在 Markdown 中书写数学公式。 在此之前,我们先介绍下 LaTex 和 MashJax,Markdown 就是基于它们来实现数学公式的输入。 LaTex 简介 LaTex &…

JDK-java.nio包详解

JDK-java.nio包详解 概述 一直以来Java三件套(集合、io、多线程)都是最热门的Java基础技术点,我们要深入掌握好这三件套才能在日常开发中得心应手,之前有编写集合相关的文章,这里出一篇文章来梳理一下io相关的知识点。…

MyBatis 源码学习 | Day 1 | 了解 MyBatis

什么是 MyBatis 在对一项技术进行深入学习前,我们应该先对它有个初步的认识。MyBatis 是一个 Java 持久层框架,用于简化数据库的操作。它通过 XML 或注解的方式配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通…

跑深度学习模型I:一文正确使用CUDA

1. 安装显卡驱动NVIDIA 如果出现这个问题,是NVIDIA环境配置原因。一定要注意配置系统环境变量正确。 C:\Users\2605304845>nvcc --version nvcc 不是内部或外部命令,也不是可运行的程序 或批处理文件。 - CSDN文库 2. 安装CUDA 安装时注意版本对应…

C语言--函数

1. 函数定义 语法: 类型标识符 函数名(形式参数) {函数体代码 } (1)类型标识符 --- 数据类型(函数要带出的结果的类型) 注:数组类型不能做函数返回结果的类型,如果函…

pt模型转onnx模型,onnx模型转engine模型,pt模型转engine模型详细教程(TensorRT,jetpack)

背景 背景是需要在nvidia jetpack4.5.1的arm64设备上跑yolov8,用TensorRT加速,需要用*.engine格式的模型,但是手头上的是pt格式模型,众所周知小板子的内存都很小,连安装ultralytics依赖库的容量都没有,所以我想到在wi…

【开源】嵌入式Linux(IMX6U)应用层综合项目(1)--云平台调试APP

目录 1.简介 1.1功能介绍 1.2技术栈介绍 1.3演示视频 1.4硬件介绍 2.软件设计 2.1连接阿里云 2.2云平台调试UI 2.3Ui_main.c界面切换处理文件 2.4.main函数 3.结尾(附网盘链接) 1.简介 此文章并不是教程,只能当作笔者的学习分享&…

go中的值传递和指针传递

文章目录 1、& 和 *2、空指针3、nil4、用值传递还是指针传递?5、补充 1、& 和 * &后跟一个变量名,得到的是这个变量的内存地址*int类型的变量,代表这个变量里存的值是int类型的变量的内存地址数据类型的指针类型,即在…

顺序表的实现【数据结构】

1.线性表 线性表(linear list)是n个具有相同特性的数据元素的有线序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表有:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就是说是连续的一条线…

医院设置(洛谷)

设有一棵二叉树,如图: 其中,圈中的数字表示结点中居民的人口。圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为 11。…

C语言实现 -- 单链表

C语言实现 -- 单链表 1.顺序表经典算法1.1 移除元素1.2 合并两个有序数组 2.顺序表的问题及思考3.链表3.1 链表的概念及结构3.2 单链表的实现 4.链表的分类 讲链表之前,我们先看两个顺序表经典算法。 1.顺序表经典算法 1.1 移除元素 经典算法OJ题1:移除…

在服务器上使用Dockerfile创建springboot项目的镜像和踩坑避雷

1. 准备个文件夹 这是我的路径 /usr/local/springboot/docker-daka/docker_files2. 将jar包上传 springboot项目打包——maven的package 这是整个项目打包的模式,也可以分离依赖、配置和程序进行打包,详情看我这篇文章: springboot依赖 配…

java基础 之 集合与栈的使用(四)

文章目录 Queue栈Stack队列和栈的区别小扩展自己写个简单的队列自己写个简单的栈使用栈来实现个队列使用队列来实现个栈写在最后 前文回顾: 戳这里 → java基础 之 集合与栈的使用(一) 戳这里 → java基础 之 集合与栈的使用(二&a…

windows中node版本的切换(nvm管理工具),解决项目兼容问题 node版本管理、国内npm源镜像切换(保姆级教程,值得收藏)

前言 在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是为…

【Git】git 从入门到实战系列(二)—— git 介绍以及安装方法 (文末附带视频录制操作步骤)

文章目录 一、前言二、git 是什么三、版本控制系统是什么四、本地 vs 集中式 vs 分布式本地版本控制系统集中式版本控制系统分布式版本控制系统 五、安装 git 一、前言 本系列上一篇文章【Git】git 从入门到实战系列(一)—— Git 的诞生,Lin…

Linux系统编程 --- 基础IO

形成共识原理: 1、文件 内容 属性 2、文件分为打开的文件和没打开的文件 3、打开的文件:谁打开?进程!--- 本质是研究进程和文件的关系! 文件被打开,必须先被加载到内存! 一个进程可以打开…

PyTorch 训练自定义功能齐全的神经网络模型的详细教程

在前面的文章中,老牛同学介绍了不少大语言模型的部署、推理和微调,也通过大模型演示了我们的日常的工作需求场景。我们通过大语言模型,实实在在的感受到了它强大的功能,同时也从中受益颇多。 今天,老牛同学想和大家一…

【Android Studiio】default activity 原生安卓和uniapp默认启动分析

文章目录 思路: 一、原生安卓二、uniapp 探究方向:找到Default Activity 思路: 在Android开发中,"default activity"这个概念通常指的是应用启动时默认会加载和显示的那个Activity。AndroidManifest.xml文件是Android…