Arduino

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

2
用Arduino控制软盘驱动器
我在用Arduino Uno控制3.5英寸软盘驱动器时遇到问题。 我的软盘驱动器由打开的计算机电源供电,而Arduino由计算机的USB电源供电。我已经切开了34针IDC连接器的功能区,以便能够将这些引脚路由到我的Arduino。我能够打开软盘电动机并来回移动读/写磁头,但是我永远无法从Track-0或Index引脚读取任何脉冲。 我的软盘上有7、15、17、19和25引脚都接地到了我的Arduino,而我的arduino上的软盘上有8、16、18、20和26引脚作为输出引脚,因此我可以控制驱动器。 我希望在磁盘电动机旋转时索引会跳动,而当我在磁盘外部时,磁道0会发生变化,但它们始终都是LOW。我想念什么吗? 这是我在软盘单元背面找到的规格 2 /REDWC Input Density Select 4 n/c N/A Reserved 6 n/c N/A Reserved 8 /INDEX Output Index 10 /MOTEA Input Motor Enable A 12 /DRVSB Input Drive Sel B 14 /DRVSA Input Drive Sel A 16 /MOTEB Input Motor Enable B 18 /DIR Input …

4
对ATMega328P进行编程并在没有Arduino板的情况下使用
我想在我的项目中使用ATMega328P,但希望在没有Arduino板的情况下进行操作。 我知道我可以使用Arduino IDE和Arduino开发板对微控制器进行编程。但是,一旦我使用Arduino IDE + Arduino板对程序进行了编程和调试,是否有可能从Arduino板上拆下微控制器并单独使用ATMega328P,而无需使用该板? 如果是,我应该对ATMega328P做哪些其他配置才能在面包板上正常工作?

2
将ATmega328置于非常深的睡眠中并收听串行信号?
我研究了ATmega328的睡眠选项,并阅读了一些有关它的文章,我想了解是否还有更多选项。 因此,我希望获得尽可能低的电流,以便任何小于100uA的电流都是好的-只要我能听醒uart和中断即可。 我正在使用带有ATmega328p的定制PCB(不是UNO)。 将芯片设置为深度睡眠: set_sleep_mode (SLEEP_MODE_PWR_DOWN); sleep_enable(); sleep_cpu (); 根据与串行通信不会唤醒它,这个。 您需要将其置于IDLE模式下以侦听串行,但这会消耗几个mA -bad。 我找到了此链接,您可以在其中将该硬件串行连接到中断-这很危险,因此您可能会丢失数据,此外,我需要这两个中断引脚。 我还阅读了Gammon的这篇文章,您可以在其中禁用某些功能,以便以较低的功耗获得IDLE睡眠-但他没有提及您从中得到的准确程度: power_adc_disable(); power_spi_disable(); power_timer0_disable(); power_timer1_disable(); power_timer2_disable(); power_twi_disable(); 那么,最重要的是,在没有任何硬件操纵的情况下,是否有任何选择,至少可以获得小于0.25mA的电流,并且还可以监听串行端口?例如,唤醒长串行数据输入?

1
Arduino IDE #ifdef
我使用Arduino IDE将我的草图上传到Arduino或ATTiny或ATmega328。如您所知,每个设备可以具有不同的引脚排列。Arduino编译器是否支持ifdef,取决于我所连接的电路板? 例如 #ifdef Attiny85 a=0; b=1; c=2; #else // arduino a=9; b=10; c=11; #endif

4
ADC转换为电压是否取决于+5 V引脚的实际值?
问题: ADC计数转换为电压是否取决于+5 V引脚的实际电压? 如果是,从板上获取该电压的可接受方法是什么? 背景/详细信息: 我有一个电路,其中有一个通过USB连接器(从集线器)运行的Arduino Nano(克隆)。Arduino的工作是测量电池上的电压,该电压将驱动Nano接通/断开的第二个电路。供参考,它是电池测试仪。 诺基亚5110屏幕上显示了以下非常简单的草图中的电压。 void setup() { Serial.begin(9600); display.begin(); // Init done // You can change the contrast around to adapt the display // for the best viewing! display.setContrast(50); // Text display tests display.setTextSize(1); display.setTextColor(BLACK); } void loop() { display.clearDisplay(); // Clears the screen and buffer …

4
是否提供设置和循环以方便使用?
Arduino草图通常具有setup和loop功能。这些功能仅仅是为了方便而提供的,还是实际上具有特殊目的?(例如:在设置和循环中是否禁止或允许某些操作) 这两个代码是否等效: 经典 void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } 无循环 void setup() { pinMode(LED_BUILTIN, OUTPUT); while(true) { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } } void loop() { } 是否可以在没有设置或循环的情况下编写代码,例如提供main方法或其他入口点?
13 programming  c++ 

5
我可以使用notepad ++编写草图吗?
在安装Arduino IDE之前,我只是想知道是否可以使用notepad ++编写文件并将其移动到正确的位置。我假设notepad ++不支持Arduino代码,但是我怀疑会有一个mod,即使草图是C ++的低端版本也受支持。
13 ide 

4
Uno的13针LED有什么用?
(我有一个Sparkfun RedBoard,但是这个问题似乎适用于R3 Unos和Uno兼容的电路板。)当我在SIK指南中构建第一个电路时(添加一个电阻器,LED,将其连接起来并使其从代码中闪烁) ),我注意到板上的一个蓝色LED本身完成了电路LED所做的所有工作-根据编程闪烁。 为什么这个LED在这里?它有什么用例? 我需要调整哪种电路来解决该LED? 传统上,插针13是调试插针还是故障诊断插针?这个约定从何而来?

5
减少arduino和计算机上的处理草图之间的延迟
我目前在Arduino项目书的项目#14中。 我正在尝试使用Arduino控制笔记本电脑上的处理草图。这是通过使用电位器控制图像背景来实现的。 Arduino代码: void setup(){ Serial.begin(9600); } void loop(){ Serial.write(analogRead(A0)/4); } 处理方式: //imports serial library import processing.serial.*; //setups the serial object Serial myPort; //creates an object for the image PImage logo; //variable to store background color int bgcolor = 0; void setup(){ colorMode(HSB,255); logo = loadImage("http://arduino.cc/logo.png"); size(logo.width,logo.height); println("Available serial ports"); …

10
地下水箱液位传感器
与“ 确定5加仑的水壶是否要空的最佳方法 ”这一问题类似,我正在寻找一种测量容器中水的方法。这样就可以将其连接到Arduino进行日志记录和报告。但这是一个非常不同的容器。 我有一所房子,生活用水来自地下混凝土储罐(大约3000美制加仑,11000升)。尽管有一个浮球开关切口,当它变空时(为了保护泵),我想知道它早就变低了(因为油轮交付新负载需要一段时间。)理想情况下,它可以精确地或分步地进行测量(至少在八分之一的负载中),因此软件可以根据平均使用量预测何时将用尽,并且在离开时可以进行在线监视。 该水箱有一个沉重的混凝土舱口,还有一个小孔,上面有一个已有的原始量油尺,因此只能使用。它处于恶劣的沙漠环境中,但泵房和电源仅几英尺远。 我有一些想法: 从水箱内的一根吊杆上悬挂一系列长度不一的浮动开关,然后将它们全部连接回控制器。难以安装,丑陋,技术含量低。或类似的东西在垂直杆上。 垂直杆上的触点(例如US 2针插头),然后又连接回控制器(可能使用带状电缆)。腐蚀/阳极可能是一个问题,尽管有时功率可能只是一个短脉冲。结露,蜘蛛网和死虫可能会给出错误的读数。 将一条完全绝缘的电缆垂直向下放置,并用作天线来发送脉冲,并利用它在空气和水中(如SWR表)作为天线的工作方式之间的差异来计算向下的距离水是。 安装在舱口下方的超声波(或光?)测距仪。射程最高可达2米(6英尺)。 浮子上的测深仪(声纳)。这里最大的挑战是发出信号(当油箱加满时,长电缆可能会缠结)。 如果它们是无线的,则后两个甚至会更好(以节省运行可能会损坏的电缆),但我认为我不会得到想要的电池寿命(1年或更长时间)。 还有其他想法吗?有人做过吗?
13 sensors 

3
可以找到毫秒所花费的时间吗?
该功能millis将在100毫秒或更短的时间内运行。有没有一种可靠的方法来衡量一个毫秒呼叫所花费的时间? 我想到的一种方法是使用micros,但是,对的调用也micros将包括其micros自身的函数调用所花费的时间,因此,取决于micros花费的时间,测量millis可能会关闭。 我需要找到它作为正在处理的应用程序,它需要对代码中执行的每个步骤(包括)进行准确的时间测量millis。
13 time  millis 

6
发送大量的串行数据
因此,在机器人技术领域,有时您需要将多个板和/或计算机链接在一起以共享信息或保存统计数据。目前,我需要通过串行连接发送一些不同的变量,并且想知道这样做的最佳方法是什么? 到目前为止,我已经确定发送结构可能是发送数据的更简单方法。有谁知道其他更有效的方式吗? 请记住,从本质上讲,我将不得不发送4个电机,压缩机,不同温度,随机物体和3个臂部分的数据。
13 serial 

8
是否可以从平板电脑上传程序?
有没有简单的方法可以从iPad或Android平板电脑上载程序/草图,而无需添加额外的屏蔽(蓝牙或Wi-Fi)? 如果没有,可以使用防护罩吗?首选哪种防护罩? 还有哪些可用的IDE选项?
13 uploading  ide  android 

1
是否有用于内存大小的预处理器常数
我希望我的编译器根据可用的闪存/程序空间排除一些代码。在我支持的库的演示代码中使用。而我当前的解决方案是使用#ifdef处理器类型。但我想更笼统一点,不必指定所有各种芯片。相反,如果有一个预处理程序常量声明可用大小,那将是很好的。 在gcc和avr-gcc不够流利的地方,我可能会期望找到一些类似于定义堆开始和结束的常量。 在案例中。是UNO和Leo都具有32K的Flash。但是Leo的核心库使用4K来支持USB,因此只有28K可用。我的图书馆的演示在UNO上已接近极限,我想根据可用的程序空间自动进行裁剪。

2
在Arduino上组装:IO寄存器
问:当我使用汇编进行编程时,我该使用哪些寄存器访问Arduino Uno上的IO? 背景: 我对在Arduino上练习我的汇编语言技能感兴趣(我认为打开/关闭LED灯比担​​心控制台IO容易得多)。通过初步搜索,我发现AVR工具链可用于对Arduino进行编程。但是,我不太了解如何为IO引脚找到相应的寄存器。

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.