Arduino

针对与Arduino兼容的开源硬件和软件开发人员的问答

2
引脚可以吸收多少电流是否有限制?
我一直在试验由Arduino Uno控制的8x8 LED矩阵。我认为很典型,矩阵在每一行使用一个公共阳极,在每一列使用一个公共阴极。 目前,我已经将所有矩阵引脚直接连接到Uno上的IO引脚,并且一一点亮LED没有任何问题。这样遍历整个矩阵会使更新速度变慢,这意味着LED亮度不如我想要。 据我所知,我无法安全地一次点亮整行,因为Uno上的单个引脚无法提供足够的电流来同时驱动8个独立的LED(每个LED至少需要10mA电流)。足够明亮)。 在我看来,相反的做法可能更安全。如果我一次点亮一整列,那么每个引脚只需为一个LED提供足够的电流,这应该没问题。但是,它依靠一个引脚潜在地从所有8个引脚吸收电流,总计至少80mA。 这可能吗,还是我要炒菜板?

2
从Arduino将数据发布到Web服务
如果要将温度等传感器数据提交到某处的远程服务器/数据库,则需要使用某种对Web服务器的调用,因为无法从Arduino直接连接到数据库。 如何从连接到Internet的Arduino将数据发布到JSON Web服务?

3
NodeMCU-Vin引脚作为5V输出吗?
我知道Vin可用于为电路板供电,但也一直在阅读它可以用作5V输出。是否可以像其他GPIO一样将Vin分配为输出? 如果要通过GPIO 12为LED供电,可以分配GPIO: const int LEDpin_0 = 12; // D6, LED power pin ...并在设置中: pinMode(LEDpin_0, OUTPUT); 然后,我可以根据GPIO 12变为HIGH还是LOW来打开和关闭LED。 我可以在不借助中继或其他硬件的情况下对Vin进行同样的操作吗?
13 pins  nodemcu  voltage 

4
在Arduino中获得真正的随机数
在Arduino中获得真实(而不是伪)随机数的最佳方法是什么,或者至少是最佳近似方法是什么?据我了解,函数randomSeed(analogRead(x))不够随机。 如果可能的话,该方法应仅利用基本的Arduino设置(无需额外的传感器)。如果使用外部传感器的解决方案大大改善了基本设置的随机性,则欢迎使用。

3
在中断例程中使用millis()和micros()
文档attachInterrupt()说明: ... millis()依靠中断来计数,因此它在ISR内永远不会增加。由于delay()需要中断才能起作用,因此如果在ISR内部调用,它将不会起作用。micros()最初可以正常工作,但将在1-2 ms之后开始异常运行。... 如何micros()从不同millis()(当然除了他们的精确度)?以上警告是否表示micros()在中断例程中使用始终是个坏主意? 上下文-我想测量低脉冲占用率,因此需要在输入信号发生变化时触发例程并记录当前时间。

4
ESP8266,Arduino IDE与Lua?
我打算购买ESP8266。我真的需要学习Lua来玩吗?我见过有人将其与标准Arduino IDE结合使用。 您是否需要自定义固件才能使用Arduino IDE而非Lua? Arduino IDE对我来说似乎更好,因为我已经知道语法。使用Arduino IDE代替带有Lua的NodeMCU有什么缺点吗?

5
Arduino:如何在代码中获取板子类型
我想写一个可以在不同的Arduino板上编译的草图。我想在PC上显示当前连接的板。 这意味着用户通过USB电缆将PC连接到Arduino / Teensy板,在其中运行我的草图,而我的草图通过Serial告诉PC哪个板被连接。在PC上运行我的C#应用​​程序,该应用程序接收此数据并显示它。 因此,我需要在编译草图时选择的板: 我在https://github.com/backupbrain/ArduinoBoardManager上找到了代码, 但是它没有给出正确的结果(除了缺少几块板的事实)。 这里是代码片段: static const uint8_t BOARD_MICRO= 0x04; .... #elif defined(__AVR_Atmega32U4__) // Yun 16Mhz, Micro, Leonardo, Esplora static const uint8_t BOARD = 0x04; static const uint8_t NUM_BITS = 8; static const uint16_t CPU = __AVR_Atmega32U4__; static const unsigned long SRAM_SIZE = 2500; static const unsigned …
13 c 



4
一些Arduino组件似乎便宜得不可思议
我的项目是装在盒子里的基于Arduino的设备。 它将需要使用“速度”,“纬度”,“经度”和“海拔”数据将其检测到的山丘记录到SD上。按下按钮后,将需要通过Wi-Fi将山丘数据上传到服务器。 我需要以下物品: GPS模块+天线 WiFi模块 SD模块 高度表 microSD卡 电池组的串联开关 成本?在Pi Hut上大概是120英镑左右: GPS = https://thepihut.com/products/sim808-gps-gprs-gsm-shield-for-arduino =£42 WiFi = https://thepihut.com/products/wifi-shield-v3-for-arduino-rpsma-802-11b-gn =£54 SD = https://thepihut.com/products/microsd-card-module-for-arduino =£6 microSD卡= https://thepihut.com/products/blank-micro-sd-cards(4GB)= 5英镑 高度计= https://thepihut.com/products/adafruit-bmp280-i2c-or-spi-barometric-pressure-altitude-sensor =£10 开关= https://thepihut.com/products/adafruit-in-line-power-switch-for-2-1mm-barrel-jack =£2.50 在Bang Good(我发现的一家非常便宜的在线商店)上,它的价格更像是30英镑: GPS = https://www.banggood.com/GPS-UBLOX-NEO-7N-Satellite-Positioning-Module-For-Arduino-51MCU-STM32-p-1203610.html?rmmds=cart_middle_products&cur_warehouse=CN =£10.54 GPS天线= https://www.banggood.com/GPS-Active-Ceramic-Antenna-IPX-IPEX-Interface-For-GPS-Module-p-1203537.html?rmmds=cart_middle_products&cur_warehouse=CN =£2.11英镑 WiFi = https://www.banggood.com/Upgradeed-Version-1M-Flash-ESP8266-ESP-01-WIFI-Transceiver-Wireless-Module-p-979509.html?rmmds=cart_middle_products =£2.53 SD = https://www.banggood.com/Micro-SD-TF-Card-Memory-Shield-Module-SPI-Mciro-SD-Adapter-For-Arduino-p-919914.html?rmmds=cart_middle_products&cur_warehouse=CN = £1.02 …
12 arduino-uno  gps 

3
如何在arduino中提高SD卡写入速度
我正在创建一个数据记录器系统,该系统以每秒约20000-30000字节的高速记录数据到SD卡中。但是arduino中的SD库当前以每秒4500-5000字节的速度写入数据,这太慢了。 我已经阅读了此技巧以提高写入速度,但是我想知道是否可以通过调整SPISettings来采用更直接的方法。

5
太多的命令执行会导致Arduino磨损吗?
如果这是一个愚蠢的问题,请原谅,但我找不到答案。 我一直想知道,如果代码很轻并且不需要执行过多的操作,Arduino(或其他微控制器)是否会感到高兴。比起仅使LED闪烁的代码,是否包含过多的if,过多的循环和各种复杂的计算的代码使Arduino磨损得更快?

5
如何在输出引脚上输出真实的模拟电压
关于我的程序,它是一个程序,先进行一些计算,然后使用analogWrite函数根据结果输出电压。但是我的问题是我基于一个误解来完成编程,这种误解是通过PWM的AnalogWrite函数确实会输出一个模拟电压,而实际上它只是“模拟”了模拟电压。 这是我的代码的相关部分: int pwmOutput = 11; int pwm = 0; void compareNewOldVoltageYes(void) { if(pv_Vnew > pv_Vold && pwm != 255) { ++pwm; //increasing value } else if(pwm != 0) { --pwm; //decreasing } } void compareNewOldVoltageNo(void) { if(pv_Vnew > pv_Vold && pwm != 0) { --pwm; } else if(pwm != …

4
在Arduino IDE之外编写C程序?
我喜欢将Arduino IDE用于简单项目和Arduino入门的想法,但是到目前为止,我的共识是,它适用于Arduino和/或一般编程的新手。 我的理解是,有可能完全在Arduino IDE外部从头开始编写C程序,然后使用AVRDUDE之类的工具将其上载到Arduino MCU。这个选项虽然吸引人并且很有趣,但是让我有些担忧: 此类“原始C”程序需要导入/链接哪些Arduino库?我假设当一个基于Arduino IDE的程序执行一个程序时,digitalWrite(...)它实际上是在后台调用一个可能由Arduino提供的C库。我担心确保所有这些“底层库”都包含在我的C程序中。有什么想法吗? 通过在Arduino IDE外部进行独奏飞行并冒险冒险还有其他“失落”吗?我现在需要“自己动手”的任何功能/特性吗?
12 arduino-ide  library  c 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.