我收到了一个arduino uno和一些代码作为我正在进行的项目的一部分.我之前从未与他们合作过,所以这对我来说是一次全新的体验.
我在他们的网站上使用Arduino应用程序,当我编译代码时它工作正常.当我上传但是我收到错误:
avrdude: stk500_getsync(): not in sync: resp=0x41
Run Code Online (Sandbox Code Playgroud)
我已经看过为此返回的每一个谷歌结果,我没有得到任何地方.我尝试在3台不同的机器上上传,每台机器上至少有两种不同的操作系统.我怎么能接受这个代码呢?
提前致谢!
我想将便携式计算机的音频输入(只是Macbook中的内置麦克风)的音量数据发送到Arduino,并尽可能减少延迟。
我看到使用PyAudio捕获音频输入并不难,但是该模块的大多数示例都将音频读数保存为wav或其他文件格式。将其读入PyAudio时是否可以直接测量音量,还是需要将其保存到文件并分析该文件?除了音量,我不在乎音频中的任何其他数据。
非常感激。
所以我的arduino从串口接收一个字符串,由逗号分隔的三个值组成,我试图将这些值分成三个不同的变量,其余的我可以做.
字符串看起来像这样的"1000,1.5,0.9"或"5000,20,0.01"
我想要像:a - 1000,b - 1.5,c - 0.9
干杯
我正在使用 arduino uno 制作声音检测器。我上传了一个程序,在代码中发现错误,它返回了不合理的大数字。我还认为我为模块使用了错误的代码,但它以可以与正确代码正常工作的方式连接。
我上传的代码是:
const int ledPin =13;
const int middleValue = 512;
const int numberOfSamples =128;
int sample;
long signal;
long averageReading;
long runningAverage = 0;
const int averagedOver = 16;
const int threshold=400;
void setup(){
pinMode(ledPin, OUTPUT)
Serial.begin(9600)
}
void loop(){
long sumOfSquares = 0;
for (int i=0; i<numberOfSamples; i++){
sample = analogRead(0);
signal = (sample - middleValue);
signal *= signal;
sumOfSquares += signal;
}
averageReading = sumOfSquares/numberOfSamples;
runningAverage=(((averagedOver -1 )*runningAverage)+averageReading)/averagedOver;
if(runningAverage>threshold){
digitalWrite(ledPin, HIGH);
}else{
digitalWrite(ledPin, LOW); …Run Code Online (Sandbox Code Playgroud) 我正在使用热电偶并下载了MAX6675库.我想知道以下几行中ARDUINO常量的值是多少.
#if ARDUINO >= 100
lcd.write((byte)0);
#else
lcd.print(0, BYTE);
#endif
lcd.print("C ");
lcd.print(thermocouple.readFahrenheit());
#if ARDUINO >= 100
lcd.write((byte)0);
#else
lcd.print(0, BYTE);
#endif
lcd.print('F');
Run Code Online (Sandbox Code Playgroud)
我已经搜索了答案,但却发现了很少的信息.我可以使用以下行打印出值,但我仍然无法找出它的含义.
Serial.println(ARDUINO);
如何使用 MQ135 和 Arduino 查找 Co2 和 O2 水平或任何其他参数,我只是感测到 ppm 数据并将其显示在屏幕上。
int sensorValue;
int pin8 = 8;
void setup()
{
Serial.begin(9600); // sets the serial port to 9600
pinMode(pin8, OUTPUT);
}
void loop()
{
sensorValue = analogRead(0); // read analog input pin 0
Serial.print(sensorValue, DEC); // prints the value read
Serial.println("ppm");
if (sensorValue > 500) {
// Activate digital output pin 8 - the LED will light up
digitalWrite(pin8, HIGH);
}
else {
// Deactivate digital output pin 8 - …Run Code Online (Sandbox Code Playgroud) 我需要在Arduino Uno上使用9位UART数据,所以我必须手动设置Arduino UART.基本上,我不理解这一行示例代码(来自数据表),它意味着在Arduino上启用UART Tx和Rx引脚,它以简单易懂的机器语言完成,只意味着加载一个立即值 UCSR0B(USART控制和状态寄存器B)RXE(接收使能)位和TXE(传输使能)位均为高电平.换句话说,加载00011000到USCR0B.
以下是数据表中的示例C代码:
USCR0B = (1 << RXE) | (1 << TXE);
Run Code Online (Sandbox Code Playgroud) 我需要帮助,我正在使用 Arduino UNO 和 GPRS 扩展板,该扩展板由输出 12v 500mA 的适配器供电。SIM卡放置正确,我用AT+CPIN检查过吗?命令,但是当我尝试使用AT+CSQ检查信号电平时?,它只是返回错误。请有人帮助我。
我的Arduino Uno有一个基本问题.
我的示例代码通过串口获取一个数字,并应将其打印回来.
int incomingByte = 0;
void setup() {
Serial.begin(9600);
Serial.println("Hello World");
}
void loop() {
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}
Run Code Online (Sandbox Code Playgroud)
当我发送0时,我收到48.
0->48
1->49
2->50
3->51
a->97
b->98
A->65
Run Code Online (Sandbox Code Playgroud)
那么为什么不向我发回相同的数字呢?
我想使用 Arduino CLI 或任何其他解决方案通过 OTA 在我的 Wemos D1 mini 上上传草图,但不使用 Arudino IDE,因为我需要使进程自行运行。(1. 从 web 获取代码 / 2. 将其保存到 sketch.ino 文件 / 3. 使用脚本将其编译为 .bin 文件,4. 使用 espota.py 上传)
我可以通过 ITA 使用 espota.py 命令上传草图,但我需要一个已经编译的 .bin 文件,这是我使用 Arduino IDE 获得的,所以这不是我想要的。
CMD:~/Sketch> python espota.py -d -i ip_esp8266 -f sketch.bin
ip_esp8266 例如 = 192.168.1.101 sketch.bin = 从 Arduino IDE -> Sketch -> 导出编译的二进制文件生成的文件
arduino command-line-interface ota arduino-uno arduino-esp8266
arduino-uno ×10
arduino ×8
arduino-ide ×2
audio ×1
c ×1
comma ×1
iot ×1
microphone ×1
ota ×1
pyaudio ×1
serial-port ×1
sim900 ×1
usart ×1