arduino使用oled代码_【惊不?】Arduino改造古董卡西欧计算器为作弊神器

a53ff87fc0f8e50f870deb6667ac4069.gif

一台朴实无华的计算器,卡西欧牌。

6a52ac6840c9ac0f9af67fe869aadc9a.png

看起来和千万学子们所使用的计算器一样,没什么特别的,还带着一些陈旧的使用痕迹。

但如果你用磁铁碰一下:

1fd968cf0720d4a8823b31a513a16b54.gif

咦,简直像打开了探险电影里的神秘机关,右上角的太阳能电池板部分居然亮了?

这是一个隐藏的屏幕。

不止屏幕,这台计算器还能连WiFi上网,访问Google Firebase数据库,加载出准备好的资料文档:

dab157afdfd6cc2f526898903bc44ddd.gif

甚至作为通讯工具发短信:

ea014f221ff77530f3c69049281a156a.gif

如此隐蔽的上网通讯设备……不知道大家是否有了大胆的想法?

没错,这其实是一台作弊设备,是一位印度野生硬核黑客的手动改装作品。

改造过程

印度小哥使用的是卡西欧fx-991MS计算器,某宝售价仅112元,支持纽扣电池和太阳能电池双重供电。

太阳能电池小窗正好可以改造成一个OLED小屏幕,完全不会被老师发现。

先把计算器后面的螺丝拧下来,去掉太阳能电板,把支撑太阳能电板的塑料刮掉。

0871db41443dd3a205645d3c585d884f.gif

这个位置放下一个0.91英寸的OLED面板刚好合适。

b02a3c72dfb57fd8fd9162438e73bc30.png

再把OLED面板和ESP8266开发板用导线焊接起来,进入调试阶段。

作弊最重要的是什么?当然是隐蔽,要像无间道里的梁朝伟发摩尔斯电码一样,手指轻轻点击就能实现复杂功能。

所以印度小哥还要给这个模块加入一个霍尔传感器。霍尔传感器的作用就是在磁铁靠近或远离时发出信号。

在这个计算器里放了两个,一个用于接收文字信息,一个用于选择菜单。

ff8d67196024626d4b17cd90de7b5338.gif

用于发信息的磁铁藏在笔帽里,进考场的时候绝对不会被老师发现。

849a4a24346ad9ab4297322c165f887c.gif

至此,计算机的硬件改造部分基本完成,接下来进入软件开发过程。

安装适用于ESP8266的Arduino内核、Firebase客户端、Arduino JSON、OneButton。

其中,其中Firebase用于实现云端消息的收发,Arduino JSON负责解析JSON数据,OneButton用来给单个按键编程,让它在单击、双击、长按等操作下实现不同的功能。

2cc5663fb613ae729691f9b4a633594d.gif

打开Arduino IDE,安装以上几个组件,再把印度小哥GitHub里的库安装上。

d0de3a6e14099ac60c43f22288ce2cb6.png

依次点击菜单进行安装:

Sketch → include library → ManageLibrary → 选择以上ino文件

然后转到谷歌Firebase网站,新建一个收发信息的项目,把项目的编号、WiFi名称和密码分别填入小哥给的代码中。

a6e6a2160bfdc38d8cc59f29ce1ff949.png

这时候你的ESP8266就可以连接到网络收发信息了。

比如你在考物理,把一段牛顿第二定律的表述放到Firebase里,点击左侧的霍尔传感器,模块自动下载文字信息。

77783025310c8df9fbf16374709f9264.gif

磁铁靠近右侧的霍尔传感器,则可以选择菜单中的不同选项,比如向其他同学求助。

7cc47a3b26c3269737f1fdf0d76db547.gif

印度小哥希望这块显示面板平时能隐藏起来,只有想用的时候才亮起来,这样才称得上作弊神器嘛。

所以还要给供电部分加上舌簧开关,有磁铁的时候,就会把电路吸合。

49654449c2af72b58b4794ce10cdb068.png

显然纽扣电池是无法给这套电路长时间供电的,所以印度小哥还在计算器里加入了一款300mAh的锂电池。

为了让计算器的外观更隐蔽,还不能加USB充电口。

但是无线充电成本高,也会增加电路复杂性,因此印度小哥用了个土办法:在计算器后面加了两个金属触点,通过触点给电池充电。

89c2e1f1e175cc567b9ba5cb3f1ae085.png

至此终于大功告成!

c17a8d3916d8fce07f66f5c22e650669.gif

最后我们来计算一下这番改造的总成本(仅供参考):

AMS1117-3.3V稳压模块:2元
PCB面包板:5元
300mAh锂电池:15元
0.91寸OLED面板:24元
100欧色环电阻(一卷):10元
ESP8266-12E模块:10元
ESP8266开发板:30元
USB转TTL模块:62元

12a7c224bd2a174e07ba3856909c4f43.png

 ESP8266-12E模块

你只需158元左右就能组装出这个作弊神器。

印度神奇小哥

改装这台计算器的Neutrino,本名Srinivasan,来自印度班加罗尔,是一位DIY爱好者,常用Arduino来开发各种神奇的硬件产品。

两年来,他一直在YouTube发各种电子设备手工DIY改造视频,但一直不温不火,直到最近改装了这台计算器,一下子获得了26万的播放量,也火到了Reddit上去。

除了这台可作弊计算器,他还开发过许多神奇的玩意儿。

比如这台可以语音提醒你洗手的自动挤洗手液器:

94bcd767ac0420c5c75a418b42165e24.png

把手伸到泵口底下的时候,它会发出语音提示:谢谢你洗手,我过一会儿提醒你洗手。

一会儿之后,它会提醒:你手好脏啊,快来洗手。

花心思作弊不如好好学习

不过,其实这只是一个黑客的炫技贴,小朋友们千万不要学。

毕竟,你考英语的时候带个计算器进去就会被打出来:

2f04320f3b973a70a72fec108338b8ed.png

也有学校早就猜到学生会用计算器作弊,因此考试的时候会发计算器,不允许自己带:

5fef2ba2426f35ea7aa9fb62dc89ebb3.png

有网友表示,有这么大本事还考什么试、作什么弊,直接就可以当工程师了:

be5022f5fa2ff8752834a7a3d003daa3.png

再说,你都能学会Arduino编程了,学习成绩还能不好吗?

其实印度小哥的本意也只是炫技,而不是希望大家用计算器来作弊,因此他故意在代码里引入了4个错误,只有一定电路和编程基本知识的人才能改正过来。

deda622c64926ec2d9695d3909670333.png

总之,热闹可以看,但自己的成绩还要自己把握,作弊无论如何都是不对的,甚至还可能违法犯罪。

4332c36f0be19522ba43c94558cd787a.gif

42e54be594309416e90cbd1ec78e3299.png

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

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

相关文章

python字符串数组_python将字符串转换成数组的方法

Python这篇文章主要介绍了Python __setattr__、 __getattr__、 __delattr__、__call__用法示例,本文分别对这几个魔法方法做了讲解,需要的朋友可以参考下 ... junjie4882019-11-22 Python这篇文章主要介绍了Python实现list反转的方法,实例总结了关于list的各种较为常见的操作技…

vsc写vue生成基本代码快捷键_基于vue2.X的webpack基本配置,教你手动撸一个webpack4的配置...

webpack说复杂也不复杂。不复杂,核心概念不外乎是entry, output, loader, plugins。webpack4还新增了optimization选项,用于代码分割和打包优化。现在webpack官网文档已经写的挺棒了。而当你真正开始手写一个webpack.config.js的时候,你就会发…

几款效率神器助你走上人生巅峰

一、背景 在我的工作和生活中,我一直都很注重效率工具的使用,这么些年下来也积累好几款很不错,但是又不为大多数人所熟知的软件工具,我用起来得心应手,很不错。那我就像在此给大家做个分享,希望你们都能多多…

macos下载的安装包在哪里_macbook任意降级,为您带来mac os完美降级教程

最近有许多用户反映升级了最新的系统出现了各种奇葩问题,更关键的是,很多常用(专业)软件不能使用了。因此有许多用户想要降级,现在macdown小编为您带来mac os完美降级教程,有需要的赶紧收藏啦!第…

kodi刮削器 中文_教你PLEX插件播放4K不能使用KODI解码导致卡顿的解决办法

文章作者Hao4K用户nothero自从买了这个索尼9500g,三天两头的出问题,而且还经常重启,经常卡顿。大法的画质确实不错,但是这系统稳定性实在是不敢恭维...最近装了一个KODI-PLEX插件,安利安利{:4_96:},画面实在…

玩下软工项目,第一轮--全局Context的获取,SQLite的建立与增删改查,读取用户通话记录信息...

项目的Github地址:https://github.com/ggrcwxh/LastTime 采用基于git的多人协作开发模式 软件采用mvc设计模式,前端这么艺术的事我不太懂,交给斌豪同学去头疼了。第一轮先实现查询通话记录返回对应号码上一次的通话时间。 真机测试下的效果图…

jvm垃圾回收机制_深入理解JVM的垃圾回收机制

​如何判断对象已“死”Java堆中存放着几乎所有的对象实例,垃圾回收器在堆进行垃圾回收前,首先要判断这些对象那些还存活,那些已经“死去”。判断对象是否已“死”有如下几种算法:1引用计数法引用计数法描述的算法为:给…

chown -r oracle:oinstall /oracle,CentOS7安装Oracle12c图文详解

root身份安装依赖包: yum -y install binutils compat-libcap1 compat-libstdc-33 compat-libstdc-33*.i686 elfutils-libelf-devel gcc gcc-c glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc libstdc*.i686 libstdc-devel li…

在苹果笔记本如何使用python_mac下如何将python2.7改为python3

1.查看当前电脑python版本 python -V // 显示2.7.x 2.用brew升级python brew update python 3.如果安装成功,去系统目录下回看到两个版本的python cd usr/local/Cellar/ //到此目录下 cd python/ //进入python目录下 查看已安装的python版本,如果有2.x 和…

[BZOJ1834][ZJOI2010]network 网络扩容 最大流+费用流

1834: [ZJOI2010]network 网络扩容 Time Limit: 3 Sec Memory Limit: 64 MB Submit: 3330 Solved: 1739 [Submit][Status][Discuss]Description 给定一张有向图,每条边都有一个容量C和一个扩容费用W。这里扩容费用是指将容量扩大1所需的费用。求: 1、 …

python需要花钱下载吗_用Python下载知乎视频,非常实用

原标题:用Python下载知乎视频,非常实用Python下载知乎视频。 # -*- coding: utf-8 -*- """ 下载知乎视频: 依赖: pip install requests mac 安装 ffmpeg: brew install ffmpeg """ import re impor…

python相比于excel的优势_对照Excel使用Python进行数据分析,更快掌握

Excel和Python,作为数据分析的主流工具,在从效率提升到数据商业化的整个过程中,都起到了重要作用。不管是在Excel中通过鼠标点选实现,亦或是利用Python通过代码实现,数据分析中的很多基础功能都是相通的。 在数据量级大…

python二维图颜色函数_Python scipy的二维图像卷积运算与图像模糊处理操作示例

本文实例讲述了Python scipy的二维图像卷积运算与图像模糊处理操作。分享给大家供大家参考,具体如下: 二维图像卷积运算 一 代码 import numpy as np from scipy import signal, misc import matplotlib.pyplot as plt image misc.ascent()#二维图像数组…

linux命令行大全 笔记,《Linux命令行大全》读书笔记

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?shell就是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统执行。当使用图像用户界面时,我们需要一个叫做终端仿真器…

dedecms 添加,编辑文章时 文章标题有字数限制的解决办法。

百度上说 解决方法有两步: 一、先要在系统参数下的其他选项中修改文档标题最大长度(如修改为150), 后台系统 - 其它选项 - 文档标题最大长度 默认的是60改为150, 二、修改默认参数后,需要手工修改数据表。 …

python绘制散点图、如何选两列作为横坐标_在matplotlib散点图(水平杆图)中从x=0到数据点绘制水平线...

考虑以下情节:由此函数生成:def timeDiffPlot(dataA, dataB, savetoNone, legNone): labels list(dataA["graph"]) figure(figsizescreenMedium) ax gca() ax.grid(True) xi range(len(labels)) rtsA dataA["running"] / 1000.0…

python运行命令_Python中执行外部命令

有很多需求需要在Python中执行shell命令、启动子进程,并捕获命令的输出和退出状态码,类似于Java中的Runtime类库。 subprocess模块的使用: Python使用最广泛的是标准库的subprocess模块,用来替换os.system(),os.spawn*(),os.popen…

linux多选项菜单脚本,linux shell 编写菜单脚本事例

menu2文件代码:---#!/bin/sh#menu2#Main menu script#ignore ctrl-c and QUIT interruptstrap "" 2 3 15MYDATEdate %d/%m/%YTHIS_HOSThostname -sUSERwhoami#user level fileUSER_LEVELSpriv.user#hold fileHOLD1hold1.$$#colour functionfunction colou…

python简单爬虫入门一_Python爬虫快速入门:基本结构简单实例

本爬虫系列入门教程假设读者仅有一点点Python基础或者近乎为零的基础。如果是有Python基础的可以跳过一些对于Python基本知识的补充。 爬虫能干什么呢?一句话概括,正常通过浏览器可以获取的数据,爬虫都可以获取。这句话可以说是包罗万象。一是…

Windows下rocketmq mqnamesrv.exe 启动成功,但是mqbroker.exe启动失败

1、mqnamesrv.exe启动成功 2、启动mqbroker.exe失败 解决办法,删除C:\Users\"当前系统用户名"\store下的所有文件,就可以了转载于:https://www.cnblogs.com/roujingchuxia/p/7685796.html