楼主: Jane

Arduino教程 Lesson 4 -- 互动交通信号灯

  [复制链接]

爱吃回忆的猫  学徒

发表于 2017-3-16 10:04:23

“如果我们使用一个int型的话,信号灯状态变化的时间,它只能存储最大32秒(int决定的),一旦出现变量溢出就会造成程序运行出现错误,所以,为了避免这样的情况,要选用能存储更大数的一个变量,并且不为负,我们就可以考虑使用unsigned long型。算了下,这个变量最大能存储的数累计时间可达49天。”

这里不是很懂,int型不是最大值为2^32-1吗,能具体说一下这里吗,非常感谢
回复

使用道具 举报

丶伏笔  学徒

发表于 2017-12-7 12:22:38

为什么9号引脚不该成INPUT_PULLUP模式,按下按钮不是短路了?
回复

使用道具 举报

cjt880  高级技师

发表于 2018-1-21 15:30:11

不错啦,水平高啦。谢谢分享啦。加油啦
回复

使用道具 举报

Tim汤大仙  学徒

发表于 2018-2-13 00:50:51

本人经过测试,发现程序最后一行changeTime = millis();去掉时led灯也能正常闪烁,而且也只有在程序结束5s后按下开关led才能亮,整个程序没报错,且连接正确,请问能解释这是什么原因吗?多谢指导!
回复

使用道具 举报

Tim汤大仙  学徒

发表于 2018-2-13 01:31:16

Tim汤大仙 发表于 2018-2-13 00:50
本人经过测试,发现程序最后一行changeTime = millis();去掉时led灯也能正常闪烁,而且也只有在程序结束5s ...

抱歉……应该是我之前接线出了差错
回复

使用道具 举报

15626202348m  见习技师

发表于 2018-6-15 22:17:36

不懂为什么要连接一个电阻 引脚9即使没有电阻 如果连了GND的话 应该测到的也是低电平吧?
回复

使用道具 举报

ZWill88  见习技师

发表于 2018-8-28 12:26:04

Jane老师的教程很好!感谢:loveliness:
回复

使用道具 举报

ZWill88  见习技师

发表于 2018-9-2 19:35:34

Jane老师你好,我在试验过程中发现input 的pin十分敏感,任何金属只要触碰到input pin都能触发HIGH的接通状态,想知道有没有遇到过这种问题,以及解决办法?谢谢。
回复

使用道具 举报

ZWill88  见习技师

发表于 2018-9-4 08:09:23

ZWill88 发表于 2018-9-2 21:35
Jane老师你好,我在试验过程中发现input 的pin十分敏感,任何金属只要触碰到input pin都能触发HIGH的接通状 ...

已解决。。。原来是下拉电阻的位置没接对。。。:lol
回复

使用道具 举报

传宇w  见习技师

发表于 2018-9-28 21:42:02

楼主你这个程序里的changtime变量没有更新哇,,,,如果第一次按了按钮之后,不等硬件做出反应,立刻再按一次按钮的话,此时changtime的值是不是没变(就是如果changlight函数没有执行完的话,changtime的值就不会变)。而且,你把changtime的复值语句放在那么多delay后面,它根本没有发挥作用哇
回复

使用道具 举报

Shuuei  中级技师

发表于 2019-4-10 21:36:11

有点会和那种按下去不会复位的按钮搞混,这种会弹上来的感觉写程序的时候会麻烦些。
回复

使用道具 举报

y5pPzM_i  见习技师

发表于 2019-4-29 20:34:01

感觉能理解,要是楼主增加一下电路图的原理就好了。
回复

使用道具 举报

stephenj  学徒

发表于 2019-5-18 13:02:42

个人愚见:您的程序当然没什么问题,但我的逻辑是:当黄灯亮时,人行红灯仍是红灯,而且人行红灯和汽车绿灯必须是对立时间,反之也成立。您的逻辑并不是
回复

使用道具 举报

DFSym7n_dkB  学徒

发表于 2019-7-18 13:42:20

好文章,必须顶贴。

https://www.jianshu.com/p/d9a33a38aab1
https://www.douban.com/note/726028148/

回复

使用道具 举报

绝地智者  见习技师

发表于 2019-7-19 22:14:02

厉害了,新手来顶一顶帖子,加油学习~
回复

使用道具 举报

joone  见习技师

发表于 2019-8-17 10:34:18

学习到了,谢谢
回复

使用道具 举报

xyz2018  中级技师

发表于 2019-10-23 16:04:31

赞赞赞赞赞赞
回复

使用道具 举报

且歌且行  中级技师

发表于 2019-12-21 09:14:14

楼主写得好详细,而且图也特别漂亮。
回复

使用道具 举报

DFB1alpUnJI  学徒 来自手机

发表于 2020-1-6 18:21:22

Jane 发表于 2014-1-7 18:48
该教程实验平台:Arduino入门套件
上一篇教程:Arduino教程 Lesson 3 -- 做一个S.O.S求救信号灯


我在if前面加了一个自动正常换灯的程序,但是if的按钮程序就不管用了(我去掉了if的计时器和时间要求)。是我漏了什么吗?或者是int state要放在哪里才对?
回复

使用道具 举报

DFHk-0ykaN8  见习技师

发表于 2020-3-10 08:19:28

按钮就是起到一个通断的作用。
回复

使用道具 举报

globerman  学徒

发表于 2020-4-3 15:01:30

void loop() {      int state = digitalRead(button);
回复

使用道具 举报

123
高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail