ESP32_DAY10 硬体届的Hello World!

昨天的小练习答案

https://ithelp.ithome.com.tw/upload/images/20210924/20140433H8LgSsmUdM.png

前言

今天要来让大家试试看硬体届的Hello World,其实前几天大家已经有做出来了,那就是点亮LED灯!!只是之前是让开发版上内建的LED灯闪烁,而今天是要利用前两天讲的面包板和电阻来自己接成一个电路!如果你能不用面包板就把LED灯和电阻接好也是可以的~如图
https://ithelp.ithome.com.tw/upload/images/20210926/20140433VjQW3kdlzh.png

图片来源: Random Nerd Tutorials

我相信大家都知道LED灯是什麽,但你知道他的发光原理吗?

LED

https://p.ledinside.com.tw/led/2012-03/1332213770_72431.jpg

图片来源: LEDinside

我们生活周遭充满了五颜六色、形形色色的各式灯具,其发光核心大致可分为白炽灯、萤光灯、气体放电灯、LED...,在2011年LED灯只占了国内照明年度用电量的0.08%,但随着LED灯技术的成熟,它已渐渐取代掉传统灯具,LED相较於其他灯种的优势是发光效率高、使用寿命长、较环保。

LED又叫做发光二极体(light-emitting diode),是能发光的半导体电子元件,透过三价与五价元素所组成复合光源。此种电子元件早在1962年出现,早期只能够发出低光度的红光,被惠普买下专利後当作指示灯利用。及後发展出其他单色光的版本,时至今日,能够发出的光已经遍及可见光、红外线及紫外线,光度亦提高到相当高的程度。随着白光发光二极体的出现,用途已由初期的指示灯及显示板等指示用途,逐渐发展至近年的照明用途。

资料来源: 维基百科

LED 主要是由p型半导体(电洞型)和n型半导体(电子型)组成的晶片,在p型半导体和n型半导体之间有一个pn接面,然而,发光二极体只能够往一个方向导通(通电),叫作顺向偏压,当电流流过时,电子与电洞在其内结合的过程中产生大量的能量,这些能量就是以光的形式释放出来,从而把电能转换为光能,这叫电致发光效应,这就是LED发光的秘密,透过不同材料的晶片可以发出红、橙、黄、绿、蓝、紫色等不同颜色的光,「发光二极体」也因此而得名。另外,也因为LED只需要小小的电压就能直接将电能转成光能,所以相较於其他的照明工具来说,LED是相对节省能源的。
https://www.narlabs.org.tw/files/file_pool/1/0K078393507462770558/%E5%84%80%E7%A7%91%E4%B8%AD%E5%BF%83%E5%85%A7%E6%96%87%E5%9C%96.png

资料、图片来源: NARLabs

以上是LED灯的发展历史和发光原理,记不起来没关系,但有一个东西千千万万要记住,重点中的重点!
LED长脚的那端是正极、LED短脚的那端是负极!!
LED长脚的那端是正极、LED短脚的那端是负极!!
LED长脚的那端是正极、LED短脚的那端是负极!!

很重要要讲三次!

https://ithelp.ithome.com.tw/upload/images/20210924/20140433TIeOio8yJM.png

硬体界的Hello World!

昨天介绍了面包板、电阻,今天又补充了上下拉电阻、LED灯,那大家就可以把前几天的Blink,改成让你另外接LED灯闪烁啦~但因为还没解释过程序码的意义,所以可以先看看控制开发板上LED灯的针脚是GPIO多少,直接接那根PIN脚,例如:DOIT DEVKIT V1 是GPIO 2(Pin 2)

https://ithelp.ithome.com.tw/upload/images/20210924/20140433lx38FgCoWv.png
上图脚位仅供参考,黄线接你使用的GPIO (Pin),黑线是接地(GND),如果不想使用预设LED_BUILTIN变数,那你可以将所有的LED_BUILTIN改为你需要pin脚的数字,例如:想把黄色的电电接在GPIO 21,那我就需要把程序码有LED_BUILTIN的部分通通替换成21~

void setup() {
  pinMode(21, OUTPUT);  // pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(21, HIGH);   // digitalWrite(LED_BUILTIN, HIGH); 
  delay(1000); 
  digitalWrite(21, LOW);    // digitalWrite(LED_BUILTIN, LOW);
  delay(1000); 
}

猜猜看下面哪张图的电路有问题?

一样明天公布答案~~
https://ithelp.ithome.com.tw/upload/images/20210924/201404333TizWcsXoP.png
(我当初做这张图的时候忘记用ESP32了>"<请见谅~~)


<<:  第8-1章:管理本地端主机之使用者与群组(三)

>>:  [30天 Vue学好学满 DAY25] axios API

参赛前言 & 系列文规划

大家好,我是 Ian,因为一些原因,我在年初的时候接触到嵌入式系统开发与系统软件实作。在这一年来也...

Day23 - 有了 CI/CD Pipeline ,还需要合适的 Git Workflow

前言 从 Day16 - Day22 我们花了不少时间建立了 CI/CD 流水线,有了这些工具後,交...

110/09 - 把照片储存在Android/data/packageName/files/

今天来实作使用ActivityResultContracts.TakePicture()开启相机,拍...

Day12 - Kotlin的集合

Day12 - Kotlin的集合 我今天要讲的是Kotlin的集合,今天就稍微讲一下集合List,...

JS 浅层复制 与 深层复制 DAY60

浅层复制 ( shallow copy ) for in 写法 // 浅层复制 var family...