标签: arduino

使用Arduino进行照明控制

我想从Arduino开始制作一些能够(最好)调暗房间灯光的东西,并在按钮或开关被激活时为我的电脑打开一些隐藏式照明.

首先,Arduino甚至可以实现这一点吗?

其次,我如何用它打开和关闭真实灯光?也许某种接力?

有没有人知道一个好的教程或至少部分内容涵盖的东西?我对编程没有任何问题,只是不知道从哪里开始使用硬件.

embedded automation arduino

16
推荐指数
1
解决办法
2万
查看次数

Android USB主机到串口连接?

显然,使用Android 2.3.4和3.1,现在可以访问USB配件.

我有一个Ardupilot Mega(基于Arduino)板,USB线连接到我的笔记本电脑,我可以通过COM7和115,200波特的简单串行通信程序连接到它.这允许我进入命令行界面,我可以发出命令并获取日志.

是否有可能编写一个通过USB与我的Ardupilot Mega板通信的Android应用程序?

我见过很多类似的线程,但大多数都是预先USB主机.

usb android arduino

16
推荐指数
1
解决办法
4万
查看次数

清除终端屏幕?

我正在为我的机器人从9个不同的传感器读取数据,我需要在同一个窗口中稳定地显示它们,这样我就可以比较这些值,看看是否有任何读数都关闭了.

我在Serial.print和lcd.print上遇到的问题是值不断移动,在移动机器人时我无法真正看到它们.

我想在显示任何其他东西之前调用类似Serial.clear()的东西,这样可以保持稳定并在一个地方,只改变值.

从我到目前为止发现的,不再支持Serial.print(17,BYTE)(调用ESC键).

那么......对于那些有更多Arduino经验的人来说......这样做的正确方法是什么?

terminal refresh arduino erase clear

16
推荐指数
3
解决办法
12万
查看次数

Raspberry Pi上的龙卷风使用websockets以及监控串口Arduino通信

基本上,我希望实现的是基于画布的Web界面,通过Raspberry Pi控制Arduino.的使用情况下是用户导航到其显示画布.然后在移动滑块时,将websocket消息发送到Raspberry Pi上的Tornado服务器.Tornado然后向Arduino发送一条串行消息,改变LEDRGB值.到目前为止,我已经能够在开发人员Raspberry Pi Android HTML5实时伺服控制的文档的帮助下做到这一点.raspberrypi:8080

但是,通信只是从Raspberry Pi到Arduino的单向通信.我希望Tornado能够监控串口以将任何传感器数据恢复到前端.这是我不确定如何继续的地方.我能够使用Node.js来完成这样的事情,Node.js同时监视websocket消息和串行消息.

是否应该生成一个不断监视端口的异步进程?我已经看到了这种解决方案的几种选择.

  1. 有人建议tornado.gen.Task,但对于单个HTTP请求,不是针对常量串行数据.
  2. tornado.ioloop.PeriodicCallback 我可以设置每毫秒检查一次串行数据,但这听起来像很多开销.
  3. 我也看过像Swirl这样的独立工具.(根据它的Github回购, Swirl已经过时了)

或者我应该设置一个单独的Python应用程序来监视串行,然后与Tornado应用程序通信,它可以理解如下所示的内容?

  1. websocket消息使用websocket客户端
  2. ZeroMQ(工作示例:pyzmq/examples/eventloop/web.py)

所以有很多选择......有哪些建议和一些理由可以尝试或避免上述任何选项?

这就是我所需要的,并且需要将串行监控添加到:

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
import tornado.websocket

from tornado.options import define, options
define("port", default=8080, help="run on the given port", type=int)

class IndexHandler(tornado.web.RequestHandler):
    def get(self):
        self.render('index.html')

class WebSocketHandler(tornado.websocket.WebSocketHandler):
    def …
Run Code Online (Sandbox Code Playgroud)

arduino tornado websocket raspberry-pi

16
推荐指数
2
解决办法
1万
查看次数

用于分块编码的HTTP标头POST - 错误411

我正在将数据发送到带有Arduino的服务器,这需要逐行构建HTML POST.我不一定知道Content-Length a-priori,所以我使用"chunked"编码.

当我尝试使用rfc2616中指定"Transfer-Encoding"选项从Wikipedia发布此示例帖子时

client.println("POST /myurl HTTP/1.1");
client.println("Host: 12.345.679.999"); // replaced with the test server's IP
client.println("User-Agent: Arduino/1.0");
client.println("Transfer-Encoding: chunked");
client.println();  
client.println("4");
client.println("test");
client.println("0");
client.println();
Run Code Online (Sandbox Code Playgroud)

或者,使用转义字符显式:

client.print("4\r\ntest\r\n0\r\n\r\n");
Run Code Online (Sandbox Code Playgroud)

我从服务器收到错误:

HTTP/1.1 411 Length Required
A request of the requested method POST requires a valid Content-length.
Server: Apache/2.2.22 (Ubuntu)
Run Code Online (Sandbox Code Playgroud)

但是,"chunked"编码不应该要求Content-Length头字段,请参阅rfc2616中的4.4 - 消息长度

我错过了一个领域吗?为什么这个电话不起作用?

为了记录,非Chunked-Encoding工作:

if(client.connect(server, 80)){
    String PostData = "test";
    Serial.println("POST /myurl HTTP/1.1");
    client.println("Host: 12.345.679.999"); // replaced with the test server's IP
    Serial.println("User-Agent: Arduino/1.0"); …
Run Code Online (Sandbox Code Playgroud)

http arduino http-post http-error http-headers

16
推荐指数
1
解决办法
1万
查看次数

基于Java的微控制器?

我一直在研究微控制器,并想知道它们中的大多数是否基于C/C++?我非常精通java,并且想问你们,如果有人知道我可以研究一个性价比很高的基于java的微控制器.

感谢所有答案!

microcontroller arduino jarduino

16
推荐指数
3
解决办法
2万
查看次数

arduino` yield()`函数的秘密是什么?

关于到期yield()日,Arduino文档在https://www.arduino.cc/en/Reference/Scheduler上解释.显然它是Scheduler库的一部分:

#include <Scheduler.h>
Run Code Online (Sandbox Code Playgroud)

但是,我可以调用yield()我的Nano或ESP8266而不包括Scheduler lib - 但仅限于我的主程序,而不是包含文件.此外,包含不适用于我的非会费.

我错过了yield()什么秘密,或者yield()除了Due之外在Arduino平台上做了什么?

arduino arduino-ide esp8266

16
推荐指数
2
解决办法
4万
查看次数

Arduino C++代码:您可以使用虚函数和异常吗?

编写固件:汇编或高级别的问题开始对此评论进行跟进:

在为Arduino平台编译C++代码时,您可以使用虚函数,异常等吗?或者你想(必须)使用C++的一个子集(如评论所述)?

在为Arduino平台编程时还有其他注意事项吗?

c++ virtual-functions arduino firmware

15
推荐指数
2
解决办法
1万
查看次数

Arduino Mega ADK初学者教程

有没有人知道用手机控制Arduino Mega ADK的好介绍?我想做的就是使用一个非常基本的拨动开关应用控制引脚13上的LED.

编辑26/10/11:

http://labs.arduino.cc/ADK/Index

http://jeffreysambells.com/posts/2011/05/17/understanding-the-demokit-pde-arduino-sketch/

https://github.com/deadfalkon/HelloADK

现在我遇到了让我的Galaxy S2以配件模式连接的问题......

编辑27/10/11

http://sgccare.blogspot.com/2011/10/first-arduino-and-android-setup.html

android arduino adk

15
推荐指数
2
解决办法
2万
查看次数

Arduino - 乱码串行输出

我已经将ADH8066(Sparkfun)GSM模块连接到我的Arduino Uno,我正试图在Arduino和GSM模块之间进行正确的串行连接.当我直接(通过USB或只是TTL线)连接它时它工作正常,但是当通过Arduino控制时却没有.一些文本将正确输出,其余文本将出现乱码,几乎就像波特率错误一样,但我只是使用与从PC连接时相同的波特率(115200).

这是我正在使用的Arduino代码:

#include <SoftwareSerial.h>

#define rxPin 7
#define txPin 8
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);

// EN: String buffer for the GPRS shield message
String SmsStorePos = String("");
String msg = String("");
String snTmp = String("");
String snFull = String("");

// EN: Set to 1 when the next GPRS shield message will contains the SMS message
int SmsContentFlag = 0;

// EN: Pin of the LED to turn ON and OFF depending on the received message
int ledPin = …
Run Code Online (Sandbox Code Playgroud)

serial-port arduino

15
推荐指数
2
解决办法
3万
查看次数