“如果我们使用一个int型的话,信号灯状态变化的时间,它只能存储最大32秒(int决定的),一旦出现变量溢出就会造成程序运行出现错误,所以,为了避免这样的情况,要选用能存储更大数的一个变量,并且不为负,我们就可以考虑使用unsigned long型。算了下,这个变量最大能存储的数累计时间可达49天。”
这里不是很懂,int型不是最大值为2^32-1吗,能具体说一下这里吗,非常感谢
				
			
		为什么9号引脚不该成INPUT_PULLUP模式,按下按钮不是短路了?				
			
		不错啦,水平高啦。谢谢分享啦。加油啦				
			
		本人经过测试,发现程序最后一行changeTime = millis();去掉时led灯也能正常闪烁,而且也只有在程序结束5s后按下开关led才能亮,整个程序没报错,且连接正确,请问能解释这是什么原因吗?多谢指导! 				
			
		Tim汤大仙 发表于 2018-2-13 00:50
本人经过测试,发现程序最后一行changeTime = millis();去掉时led灯也能正常闪烁,而且也只有在程序结束5s ...
抱歉……应该是我之前接线出了差错				
			
		不懂为什么要连接一个电阻 引脚9即使没有电阻 如果连了GND的话 应该测到的也是低电平吧?				
			
		Jane老师的教程很好!感谢:loveliness:				
			
		Jane老师你好,我在试验过程中发现input 的pin十分敏感,任何金属只要触碰到input pin都能触发HIGH的接通状态,想知道有没有遇到过这种问题,以及解决办法?谢谢。				
			
		ZWill88 发表于 2018-9-2 21:35
Jane老师你好,我在试验过程中发现input 的pin十分敏感,任何金属只要触碰到input pin都能触发HIGH的接通状 ...
已解决。。。原来是下拉电阻的位置没接对。。。:lol				
			
		楼主你这个程序里的changtime变量没有更新哇,,,,如果第一次按了按钮之后,不等硬件做出反应,立刻再按一次按钮的话,此时changtime的值是不是没变(就是如果changlight函数没有执行完的话,changtime的值就不会变)。而且,你把changtime的复值语句放在那么多delay后面,它根本没有发挥作用哇				
			
		有点会和那种按下去不会复位的按钮搞混,这种会弹上来的感觉写程序的时候会麻烦些。				
			
		感觉能理解,要是楼主增加一下电路图的原理就好了。				
			
		个人愚见:您的程序当然没什么问题,但我的逻辑是:当黄灯亮时,人行红灯仍是红灯,而且人行红灯和汽车绿灯必须是对立时间,反之也成立。您的逻辑并不是				
			
		好文章,必须顶贴。
https://www.jianshu.com/p/d9a33a38aab1
https://www.douban.com/note/726028148/
				
			
		厉害了,新手来顶一顶帖子,加油学习~				
			
		学习到了,谢谢				
			
		赞赞赞赞赞赞				
			
		楼主写得好详细,而且图也特别漂亮。				
			
		Jane 发表于 2014-1-7 18:48
该教程实验平台:Arduino入门套件
上一篇教程:Arduino教程 Lesson 3 -- 做一个S.O.S求救信号灯
我在if前面加了一个自动正常换灯的程序,但是if的按钮程序就不管用了(我去掉了if的计时器和时间要求)。是我漏了什么吗?或者是int state要放在哪里才对?				
			
		按钮就是起到一个通断的作用。				
			
		void loop() {      int state = digitalRead(button);