Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何开始创建一个在输入密码时打开和关闭的保险箱?_C_Node.js_Arduino_Hardware_Interactive - Fatal编程技术网

C 如何开始创建一个在输入密码时打开和关闭的保险箱?

C 如何开始创建一个在输入密码时打开和关闭的保险箱?,c,node.js,arduino,hardware,interactive,C,Node.js,Arduino,Hardware,Interactive,我想在一个项目上工作,处理一些硬件方面的事情,但我没有这方面的知识,我真的很感谢一些帮助开始 我正在Node.js中编程,所以我已经看过NodeBots和Arduino;然而,我不确定这是否是一个正确的起点 我想做的主要事情是: 创建一个保险箱,当我在iPad或触摸屏上输入正确的密码时,保险箱就会打开 能够设置密码 在进行这样的项目时,我是否首先需要硬件?(如果是,我应该得到什么?) 第二,我可以从哪里开始编码,什么是好的语言?(我不确定我应该首先关注这个项目的哪个方面)我用键盘制作了一个(

我想在一个项目上工作,处理一些硬件方面的事情,但我没有这方面的知识,我真的很感谢一些帮助开始

我正在Node.js中编程,所以我已经看过NodeBots和Arduino;然而,我不确定这是否是一个正确的起点

我想做的主要事情是:

  • 创建一个保险箱,当我在iPad或触摸屏上输入正确的密码时,保险箱就会打开
  • 能够设置密码
在进行这样的项目时,我是否首先需要硬件?(如果是,我应该得到什么?) 第二,我可以从哪里开始编码,什么是好的语言?(我不确定我应该首先关注这个项目的哪个方面)

我用键盘制作了一个(没有连接到其他设备,但它是类似的)。而且,根据我的经验,机械部分是最糟糕的:设计和建造保险箱(我使用有机玻璃)是最糟糕的事情

至于你的问题,我认为是的,你应该从硬件设计开始。或者至少选择

  • 你怎么关门/开门?我用的是步进电机,但有很多选择——门锁、伺服电机、直流电机
  • 您如何检测它是打开还是关闭的
  • 界面将是什么?你提到了iPad,所以我想你想要一些支持蓝牙的苹果设备

  • 然后你就可以开始编码了。但是,一旦你得到了硬件的样子,代码就会变得非常简单(最终,它只是“等待正确的密码,然后打开保险箱,然后再次关闭”)。

    你可能应该从玩简单的硬件原型开始,试着让它们做简单的事情。只是“hello world”类型的程序,只是为了熟悉如何做简单的事情。然后将项目分解为更小的可测试部分。实施各部分和测试。重复直到完成。完成后,不要忘记清除输入密码的缓冲区。我的同事做了一个,当我按“回车”键打开保险箱时,他掉了下来。我同意,谢谢你的建议@rost0031:)谢谢你的提示!我相信这会很有帮助:)@WeatherVaneI-see!谢谢,以下是一些让我开始思考的好问题:)@frarugi87@Sarahfrarugi87使软件听起来很简单,但是“有效的代码”和“健壮的工业代码”之间有很大的区别。例如,假设主人输入了4位数字中的3位,但电话铃响了,然后忘记了保险箱?这将需要一个超时时间来重置密码条目,否则它将离开安全非常不安全,有1的10的机会打开一个数字。@ WeyvvayYoup,我明白你的意思,有很多情况下我需要考虑。您认为一个好的开始是使用Arduino和Java键盘进行一些工作吗?谢谢@Sarah我只有足够的java经验,知道它适合高级应用程序,而C适合低级工程。如果您计划使用Arduino(我没有),我只能建议您遵循阻力最小的方法,即从提供的最简单和最易访问的工具开始。