我正在做一个涉及Arduino Uno和Picaxe 14m2的班级项目。
我正在尝试为Arduino Uno编写一个程序,它将允许我向Picaxe上的输入发送和输出值。
所以在外行人看来,这就是我希望实现的目标:
我想让Arduino检查传感器,如果传感器返回一个特定值。(-我知道这一部分,但不知道下一部分。)然后,我希望Arduino发送一个值(高或1 ..类似的东西)作为Picaxe输入引脚之一的输出。然后,我需要Picaxe通知已经发送了一个值,然后执行其他操作。
任何帮助都将不胜感激。谢谢。
发布于 2014-11-18 19:53:13
如果你正在寻找它,你可能想要指定你有什么样的PICAXE。因为这些芯片的类型不同。
在此之后,您可能想要查看PICAXE的数据表,以便找到指令集和程序存储器的类型,“EEPROM...”。
在那之后:
< code >H111不要忘记查看Arduino和PICAXE上的加载效果,因为您根本不想烧毁项目硬件。
我建议你使用示波器来测试进出两个电路的信号+传感器的信号。
如果需要Picaxe语句来做任何额外的事情,可以使用If语句,因为它们不是很容易实现,而且很容易编写和troubleshoot. (
对于您的方案,您实际上是让Arduino通过来自传感器的可变信号向PICAXE发出指令。
^向我发送反馈,我将提供更多帮助。
发布于 2017-07-26 02:17:04
串行通信应该适用于任何PICAXE和Arduino,而i2c只有在使用X2系列PICAXE芯片时才能工作。I2C的主要优势是当使用多个从设备(加上主设备,即总共不只是2个设备)时,您可以将相同的两条线最多用于大约128个设备。串行(UART)通信更简单,只需要一条线(加上一个公共接线)就可以单向发送数据,这就是我将在接下来的回答中展示的内容
Here is the manual entry用于PICAXE的串行输入,Here's the entry用于Arduino的串行输出。对于您的问题,您需要的代码如下所示:
对于arduino:
void setup(){
Serial.begin(9600);
}
void loop(){
if (conditionMet){ //whatever the condition is in your code
int bytesSent = Serial.write(“HIGH”); //send the string “HIGH"
}
}至于PICAXE:
main:
serin 6, T9600, ("HIGH") 'uses qualifier to look for exact message "HIGH"
'do whatever when criteria met
goto mainhttps://stackoverflow.com/questions/26336665
复制相似问题