选择:

Arduino XMAS Hitcounter

0.00¥

Arduino XMAS Hitcounter

0.00¥

该向项目由用户Deirdre提供。

这是一个很好玩的项目,它由一个Arduino板,一个铃,一个伺服器和c,python和php中的几行代码组成。大多数部件相当常见,应该很容易获得。

版权声明:本站所有设计均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。

添加到愿望单
添加到愿望单
分类: 标签:

描述

第1步:工具和材料

工具和材料的图片

那需要什么?

  • Arduino董事会。我从Adafruits 得到了一个Arduino Diecimila。与此同时,那里有非常便宜和方便的克隆,例如Modern Devices 的真正裸骨板,特别是如果你想在面包板上使用它们。
  • 伺服电机。任何伺服都可以。我拿了一个旧的用于我以前的爱好。
  • 一口钟。优选小到足以用伺服器摇动它的一个。
  • 两个回形针。一个较大的一个用于固定铃铛,一个用于制作致动器以响铃。
  • 用于连接伺服和Arduino的电线。
  • 一个网站。事实上,它不是一个网站或博客。实际上,所有可以计算的东西都可以使用。
  • 用于连接Arduino板与博客或网站的PC或Mac。

如果电线不能直接连接到Arduino,您可能需要烙铁。

第2步:硬件组装

硬件组装的图片硬件组装的图片硬件组装的图片

钟声由一个强力的回形针固定。小回形针用于形成一种与伺服电机相连的臂。

请注意,您想弯曲固定铃铛的回形针,已经有点震动会产生叮当声

第3步:原理图

Schematics的图片

没有真正的原理图。只需将伺服电机连接到Arduino即可。伺服有三根线:

  • 黄色或橙色:信号
  • 红色:VCC
  • 棕色:GND

红色和棕色连接到Arduino(5V和GND)上的相应引脚。橙色接头连接到引脚2.它将向伺服器发出转向信号。

如果导线不能直接插入Arduino或伺服系统,您可能需要将小型连接器焊接到导线上。

第4步:编程Arduino

编程Arduino的图片

Arduino

如果您是Arduino的新手,它是一块小板,完全与AVR微控制器组装在一起。它非常适合黑客攻击和与您的环境交互。使用Arduino,使用微控制器很难做的很多事情都很容易。一些优点:

  • 无需单独的编程设备(程序员)
  • 附带集成开发环境(IDE)
  • 可在任何平台,Windows,Mac,Linux上运行。
  • 通过USB轻松连接到PC
  • 硬件是开源的(但Arduino的名称不是)
  • 有一个伟大的社区

更多信息可以在Arduino官方网站上找到。请务必查看John的Arduino instructable,了解有关如何开始使用Arduino的更多详细信息。

该软件有什么作用?

上传到Arduino的小软件控制伺服。它通过USB电缆通过串行连接接收单个字节。如果它的值为5,则会使伺服臂前后移动五次。所以发送的最大值是255.

编程Ardiuno

所以我假设您已经从Arduino.cc下载并安装了最新的Arduino IDE 。目前它是版本0010 Alpha。
为了更加舒适地驱动伺服,您必须下载库。你可以在上找到它Arduino游乐场。解压缩并将文件夹放在… / arduino-0010 / hardware / libraries /中。

  • 使用USB电缆将Arduino连接到PC。
  • 打开IDE并开始一个新草图。素描是Arduino代表节目。选择文件 – >新建。
  • 选择适当的串行设备(工具 – >串行端口)。这取决于你的环境,对我来说是/dev/tty.usbserial-A4001JAh。
  • 下载附加的源文件并将其粘贴到新草图中。点击保存按钮。
  • 点击验证按钮。这会将您的草图编译成一个可以传输到Arduino的hex文件。
  • 点击上传按钮将草图转移到Arduino。

测试

现在你的hitcounter准备采取一些行动了。让我们看看它是否有效。

  • 点击串口监视器按钮。
  • 选择“发送”按钮旁边的文本框。
  • 点击Tab键并发送它。
  • 到现在为止,伺服臂应该前后移动。

唷。那是最难的部分。现在您可以向Arduino发送一个字节,并向您发送伺服波。接下来是找到你想触发铃声的东西。

我们差不多完成了。

第五步:让它成为一个Hitcounter

为了使它成为您网站的hitcounter,我们需要两个小代码。一个用于创建和处理计数器,另一个用于获取计数器的值并将其发送到Arduino。

注意:如果您不熟悉Python或PHP,可以将脚本轻松移植到您喜欢的编程语言中。

计数器

这是一个小的PHP脚本,它从文件中读取一个值(hitcounter.txt),将其递增并将其写回文件。这就是全部,这是必要的。例如,此文件可以保存为服务器上的counter.php。然后,您可以使用指向http://www.youdomain.com/counter.php的webbrowser触发计数。我在我的wordpress博客中包含了这个片段。

$hits = file($count_my_page);
$hit = trim($hits[0]);
$hit++;
$fp = fopen($count_my_page , “w”);
fputs($fp , “$hit”);
fclose($fp);
echo $hit;
?>

胶水代码

这下一个代码段用于获取计数器。我使用Python,但任何事都应该有用。它打开HTTP连接并获取hitcounter.txt。如果自上次获取后值已更改,则计算diff并将其推送到Arduino。这是每十秒钟完成一次,直到您使用crtl-c中断脚本。
根据您的需要调整myUrl和下面的串行连接。

#
# fetch counter
#
import time
import urllib
import serial

# usb serial connection to arduino

ser = serial.Serial(‘/dev/tty.usbserial-A4001JAh’, 9600)
myUrl = ‘http://tinkerlog.com/hitcounter.txt’

last_counter = urllib.urlopen(myUrl).read()
while (True):
_ counter = urllib.urlopen(myUrl).read()
_ delta = int(counter) – int(last_counter)
_ print “counter: %s, delta: %s” % (counter, delta)
_ ser.write(chr(ord(chr(delta))))
_ last_counter = counter
_ time.sleep(10)

我无法上传带有php扩展名的文件,因此你必须将counterphp.txt重命名为counter.php。

如果您的Arduino仍然连接到您的PC,那么启动Python脚本来获取您的hitcounter。

..> python counter.py

你应该看到计数器的输出。如果您将浏览器指向counter.php的URL并点击重新加载,您应该听到您的hitcounter响铃。

是的,现在我们完成了。是时候退缩,享受我们的工作了。

第6步:结论

结论图

这是我第一次制造出具有活动部件的东西。这是弥合虚拟世界和现实世界之间差距的第一步。它非常简单,代码很简单。除了铃铛外,大部分零件都放在垃圾箱里。将所有内容放在一起并等待某人访问我的博客很有趣。

希望你喜欢它。

评论

目前还没有评论

成为第一个评论 “Arduino XMAS Hitcounter” 的人

电子邮件地址不会被公开。 必填项已用*标注

关闭菜单
×
×

产品入口: 产品添加到购物车