痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 2641|回復: 4

询问iCircuit 模拟Arduino不能PWM输出的问题

[複製鏈接]
發表於 2023-9-24 07:37:34 來自手機 | 顯示全部樓層 |閱讀模式
本帖最後由 fix2010 於 2023-9-24 07:39 AM 編輯

是这样的,最近在把玩电路模拟App时,刚好发现iCircuit更新版本中有Arduino作为器件的选项,于是一时兴起研究起来。
本来想着挺顺利的事,没想到在模拟简单的ADC、DAC例程时卡壳了。
具体是:在Arduino 模拟端口A0由电位器输入0~5V,在指定PWM口应该得到相应变化的调制输出,LED灯有明暗变化。而实际啥也没动静,奇怪的是监视串行口有0~255数值变化……
代码如下:
  1. int val=0;
  2. void setup() {
  3. Serial.begin(9600);
  4. }

  5. void loop() {
  6.         val=analogRead(A0);
  7.         val=map(val,0,1023,0,255);
  8.         analogWrite(6,val);
  9.        
  10.         Serial.println(val);
  11.         delay(100);
  12. }
複製代碼


示意图如下:

icircuit问题2.gif

icircuit问题1.gif


一开始怀疑代码问题,但审查来审查去也没异常啊?换个手机也是同样,换iPhone版的更离谱,干脆串行口数值也没变化了。
这难道是软件bug?还是兼容性的问题?
摸不着头脑,好奇心驱使下索性下单了一个Arduino板子,目前正日夜兼程地送来。

俺记得坛子里有几位达人Arduino玩得很溜,不知iCircuit这款App是否玩过,有没遇到同类问题?
请各位达人不吝赐教,帮小弟解答一下上述问题,感谢!

發表於 2023-9-25 00:10:27 | 顯示全部樓層
在int led的輸出沒有指定6
 樓主| 發表於 2023-9-25 19:21:33 | 顯示全部樓層
franktangamen 發表於 2023-9-25 12:10 AM
在int led的輸出沒有指定6

俺记得Arduino的说明中有提到,做analogWrite(,)和analogRead(,)无需特别对引脚做定义。
代码是复制网上的。尝试不同的类似代码,都不能得到PWM输出。
谢谢franktangamen大。
發表於 2023-9-25 19:55:05 來自手機 | 顯示全部樓層
https://gist.github.com/s-estay/30e86bded326797c5744a661dd92da0b
 樓主| 發表於 2023-9-25 22:22:57 | 顯示全部樓層
xiaolaba 發表於 2023-9-25 07:55 PM
https://gist.github.com/s-estay/30e86bded326797c5744a661dd92da0b

xiaolaba大,您提供的代码俺测试了也不行。
这是另一种模数映射的方法,map函数一样达到相同目的。

明天直接在俺的Arduino Uno 上测试。
这是俺的手机华丽丽变身
VideoCapture_20230925-222150.jpg

補充內容 (2023-9-26 08:42 PM):
嗯,今天俺在UNO上试了一下,完全OK!看来是软件自身的问题。模拟软件有点不靠谱啊。。。
Arduino 着实好玩,对初学者相友好。ヾ(@^▽^@)ノ
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-12-22 12:21 AM , Processed in 0.068261 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.