简介:“不要碰我”防病毒警报
有时候你只是想让人们保持距离,比如当你感冒了或者其他人自己也可能有可怕的病毒时。对于这些情况,您需要一个设备,当其他人离您太近时发出警告。这就是为什么我们建立了“不要碰我”反病毒报警系统!每当有人在离你6英尺以内时,扬声器就会发出一种响亮而恼人的声音,而LED开始越来越快地闪烁。现在就用成熟的技术保护自己!
我们想建立一个愚蠢的项目来帮助我们在隔离区度过时间,所以我们建立了这个项目。总的来说,这是一个相当简单的项目,使用Arduino为大脑和一个简单的超声波测距仪作为传感器。我们使用疯狂的电路组件所以我们可以将项目坚持到乐高,但您也可以使用标准组件和任何Arduino兼容板轻松构建此功能。
如果您喜欢我们的项目,并且希望看到我们每周的更多内容,请继续关注我们一款图片分享应用,推特,Facebook, 和YouTube.
补给品:
棕色狗狗小玩意事实上,它销售工具包和用品,但你不需要从我们这里购买任何东西来完成这个项目。但如果你这样做,它确实有助于支持我们创建新的项目和教师资源。w88官网手机
电子产品:
- 疯狂电路机器人板
- 疯狂电路LED
- 疯狂电路压电扬声器
- 1/8宽Maker磁带
- 超声波测距仪
- 阴对阴带状电缆
其他用品:
- 乐高基板
- 随机乐高积木和技术积木
- 系索
- 3D打印(用于使用标准组件)
- 乐高Arduino纳米盒
- 乐高超声波传感器架
第1步:视频指南
对于那些讨厌阅读的人,我们还制作了这个方便的视频指南。
步骤2:布置乐高和电子元件
一般来说,您只需查看上面的图表,就可以看到所有内容是如何连接的。
我们首先布置一些乐高积木板,以便为机器人董事会搭建一个平台。我们使用了一些2x4板,但一些1螺柱宽的板也可以正常工作。你也可以把机器人板的手从乐高底板的边缘拿开。
然后,计划在您的电子产品将在哪里。我们将我们的LED和Piezo扬声器的负面束缚着,但您不必这样做。
最后,我们添加了我们的1/8英寸制造者磁带. 这种材料是一种尼龙导电胶带,非常坚固耐用,非常适合我们疯狂电路组件的压力配合。
第3步:传感器支架
步骤4:连接传感器
机器人板在后端有销标头,便于与传感器连接。
我们的代码设置的方式我们正在使用引脚6用于触发器的回声和引脚5。将VCC连接到任何5V引脚和GND到任何GND引脚。
我们还使用1x2技术砖作为电线组织者。通过它可以通过它推动四个丝带电缆,只是不要指望能够再次接受它们。
第5步:添加更多砖块
添加了几个1x6和1x4乐高砖块,以将传感器固定到位。
我们还向顶部添加了更长的1x6乐高技术砖,所以我们可以附上挂绳。
第6步:上传代码
在这件事将工作之前,你需要上传代码。如果您还没有这样做,请确保您拥有最新版本的免费软件Arduino IDE软件安装在您的计算机上。
我们的代码是在我们的github repo.以及NewTone_1.0库。您需要安装NewTone库才能使此项目正常工作。
代码非常直截了当。您可以更改距离设置以及用于输入和输出的管脚。
第7步:享受!
这对这个项目几乎是它。我们希望您为自己享用个人警报系统。
幸运的是,你不需要它,但它可能会派上用场。
或者,如果您无法使用它可以用它来提醒您,当您在家里工作/学习时试图偷听您的猫,狗或小孩。痛苦的小哺乳动物!
2评论
问题:1年前
我有个问题。
^ ~~~~~^ ~~~~~^ ~~~~~^ ~~~~~^ ~~~~~^ ~~~~~^ ~~~~~^ ~~~~~^ ~~~~~
我每天都使用de arduino nano
Arduino:1.8.12(Windows应用商店1.8.33.0)(Windows 10),图版:“Arduino Nano Every,ATMEGA328”
Waarschuwing:Bibliotheek纽平Beweert Te Werken Onder Astricuarure Avr,Arm En Kan不兼容Zijn Met UW Huidige Lock Dat Werkt Inder Astallusuur Megaavr。
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:在静态成员函数“static void NewPing::timer_us(unsigned int,void(*)())”中:
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:254:3:错误:在此范围内未声明'OCR2A'
OCR2a = min((频率>> 2) - 1,255);//每个计数都是4us,所以除以4(按位换档右2)减去一个,然后确保我们不超过255个限制。
^ ~~~~
C:\用户\ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:255:3:错误:'timsk2'在此范围内未声明
TIMSK2 |=(1<
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:255:3:注意:建议的备选方案:“TIMERB2”
TIMSK2 |=(1<
TIMERB2
C:\用户\ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:255:17:错误:'OCIE2A'未在此范围内声明
TIMSK2 |=(1<
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:在静态成员函数“static void NewPing::timer_ms(长无符号int,void(*)())”中:
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:274:3:错误:“OCR2A”未在此范围内声明
OCR2a = 249;//每个计数是4us,所以1ms = 250计数 - 1。
^ ~~~~
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:275:3:错误:“TIMSK2”未在此范围内声明
TIMSK2 |=(1<
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:275:3:注意:建议替代:'timerb2'
TIMSK2 |=(1<
TIMERB2
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:275:17:错误:“OCIE2A”未在此范围内声明
TIMSK2 |=(1<
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:在静态成员函数'静态void newping :: timer_stop()':
C:\用户\ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:286:3:错误:'timsk2'在此范围内未声明
TIMSK2&=~(1<
C:\用户\ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:286:3:注意:建议替代:'timerb2'
TIMSK2&=~(1<
TIMERB2
C:\用户\ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:286:18:错误:'ocie2a'在此范围内未声明
TIMSK2&=~(1<
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:在静态成员函数'静态void newping :: timer_setup()':
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:311:3:错误:在此范围内未声明'arsr'
arsr&=〜(1 << AS2);//设置时钟,而不是引脚。
^ ~~~
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:311:3:注意:建议替代:'ss'
arsr&=〜(1 << AS2);//设置时钟,而不是引脚。
^ ~~~
党卫军
C:\用户\ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:311:16:错误:'AS2'在此范围内未声明
arsr&=〜(1 << AS2);//设置时钟,而不是引脚。
^~~
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:311:16:注意:建议替代:'a2'
arsr&=〜(1 << AS2);//设置时钟,而不是引脚。
^~~
A2
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:312:3:错误:在此范围内未声明'tccr2a'
TCCR2A=(1);//将Timer2设置为CTC模式。
^ ~~~~~
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:312:3:注意:建议的备选方案:“TCB2”
TCCR2A=(1);//将Timer2设置为CTC模式。
^ ~~~~~
TCB2.
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:312:16:错误:'WGM21'未在此范围内声明
TCCR2A=(1);//将Timer2设置为CTC模式。
^ ~~~~
C:\用户\ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:313:3:错误:在此范围内未声明'tccr2b'
tccr2b =(1 << CS22);//将Timer2预分频器设置为64(4US / COUNT,4US-1020US范围)。
^ ~~~~~
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:313:3:注意:建议的备选方案:“TCB2”
tccr2b =(1 << CS22);//将Timer2预分频器设置为64(4US / COUNT,4US-1020US范围)。
^ ~~~~~
TCB2.
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:313:16:错误:“CS22”未在此范围内声明
tccr2b =(1 << CS22);//将Timer2预分频器设置为64(4US / COUNT,4US-1020US范围)。
^ ~~~
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:314:3:错误:“TCNT2”未在此范围内声明
tcnt2 = 0;//重置Timer2计数器。
^ ~~~~
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:314:3:注意:建议替代:'tcb2'
tcnt2 = 0;//重置Timer2计数器。
^ ~~~~
TCB2.
在C:\ Users \ henkb \ documents \ arduinodata \ packages \ arduino \硬件\ megaavr \ 1.8.5 \ cores \ arduino / arduino.h:27:0,
来自C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.h:148,
来自C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:7:
C:\ users \ henkb \ documents \ arduino \ libraries \ newping \ src \ newping.cpp:void timer2_compa_vect()':
C:\Users\henkb\Documents\Arduino\libraries\NewPing\src\NewPing.cpp:337:6:警告:“TIMER2\u COMPA\u vect”似乎是拼写错误的“信号”处理程序,缺少“\u vector”前缀[-Wmisspelled isr]
ISR(时间比较){
^
退出状态1.
这是Arduino纳米板的编译
Dit报告员zou meer informatie bevatten会见
“UitgeBreide Uitvoer Weergeven Tijden Compilatie”
Optie Aan在BESTUND - > Voorkeuren。
我现在不知道该怎么办,
亨克·博舍
1年前
这很棒!我想在我的狗身上使用它 - 从我的狗身上6英尺,也是我的狗的6英尺!没有抚摸!:)