佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: Pierre@hong

【讨论区】Arduino

  [复制链接]
发表于 17-9-2014 10:56 PM | 显示全部楼层
西门庆33 发表于 17-9-2014 10:11 PM
之前的LED亮度解决了吗?
测量transistor的输出是几volt?
你的电路是怎样连接?

之前的LED亮度解决了吗?
是的,解决了谢谢


测量transistor的输出是几volt?
没有仪器量。。。看明天可以借到没有。。
你的电路是怎样连接?
Photo Sep 17, 10 47 44 PM.jpg

但是resistor是2.7K...明天买个1K,换上去试试

Photo Sep 17, 10 58 22 PM.jpg
confirm下,resistor是不是2.7K 啊?? 上一次做这些电子的东西都是form3 的时候了。

你的风扇是 5V供电的吗?电流量多少?
power bank 5V, 1A or 0.5 A都可以


我在arduino forum看到有人的情况和我相似,他是用10K, 明天我试试换1K resistor。。。




本帖最后由 aksin 于 17-9-2014 11:11 PM 编辑

回复

使用道具 举报


ADVERTISEMENT

发表于 18-9-2014 11:19 AM | 显示全部楼层
西门庆33 发表于 17-9-2014 10:23 PM

换了1K resistor ,完全不能转,要manually spin它几下才能转。。。(之后才知道我之前的是270的不是2.7K的,所以更加不能转

尝试跳掉resistor (用cable)风扇没有问题,可以转。。。其实,那个resistor 一定要装的吗?目的是什麽??

回复

使用道具 举报

发表于 18-9-2014 08:02 PM | 显示全部楼层
aksin 发表于 18-9-2014 10:19 AM
换了1K resistor ,完全不能转,要manually spin它几下才能转。。。(之后才知道我之前的是270的不是2.7K的 ...

是学电子工程的吗?

如果是的话,可不可以跟我说在base那边换value会带来什么影响吗?

有算数的更好,谢谢你啊。

回复

使用道具 举报

发表于 18-9-2014 08:03 PM | 显示全部楼层
aksin 发表于 17-9-2014 09:56 PM
之前的LED亮度解决了吗?
是的,解决了。谢谢

你的电路板的照片,可不可以翻过来照一张?

好奇你怎样接罢了。

回复

使用道具 举报

发表于 18-9-2014 08:12 PM | 显示全部楼层
kmy.111014 发表于 18-9-2014 08:02 PM
是学电子工程的吗?

如果是的话,可不可以跟我说在base那边换value会带来什么影响吗?

不是的,我是IT的。。。现在要做个project,需要做个prototype 出来。。。

回复

使用道具 举报

发表于 18-9-2014 08:16 PM | 显示全部楼层
kmy.111014 发表于 18-9-2014 08:03 PM
你的电路板的照片,可不可以翻过来照一张?

好奇你怎样接罢了。

背面和这个一样的 (internet找来的)



回复

使用道具 举报

Follow Us
发表于 18-9-2014 11:32 PM | 显示全部楼层
aksin 发表于 18-9-2014 07:16 PM
背面和这个一样的 (internet找来的)

你confirm你用的板和他用的板一样吗?


回复

使用道具 举报

发表于 19-9-2014 08:56 AM | 显示全部楼层
aksin 发表于 18-9-2014 11:19 AM
换了1K resistor ,完全不能转,要manually spin它几下才能转。。。(之后才知道我之前的是270的不是2.7K的 ...

  • 确定transistor的极性没有弄错吗?
  • 去掉Resistor可能会导至Arduino烧坏。
  • 如果想弄清楚什么电阻值较适合,必须看你使用什么transistor。一般上1K至10K Resistor都可以使用,


回复

使用道具 举报


ADVERTISEMENT

发表于 19-9-2014 01:22 PM | 显示全部楼层
kmy.111014 发表于 18-9-2014 11:32 PM
你confirm你用的板和他用的板一样吗?

你说好奇怎样接,所以如图所见般接。。板不一样,但是我也是这样接的。
回复

使用道具 举报

发表于 19-9-2014 01:26 PM | 显示全部楼层
西门庆33 发表于 19-9-2014 08:56 AM
  • 确定transistor的极性没有弄错吗?
  • 去掉Resistor可能会导至Arduino烧坏。
  • 如果想弄清楚什么 ...

  • 解决了,换了另一个transistor(2N7052), 接1K resistor。
    之前的transistor(2N2222) 接100 ohm resistor,可以转了,但是tansistor 会很烫,换新的就ok了。
    请问这两个transistor有什么不同?? 试过开它们的datasheet看。。但是不会看。。。
    回复

    使用道具 举报

    发表于 19-9-2014 01:51 PM | 显示全部楼层
    aksin 发表于 19-9-2014 12:22 PM
    你说好奇怎样接,所以如图所见般接。。板不一样,但是我也是这样接的。

    strip.jpg

    你的是这个,还是下面那个?
    donut.jpg

    回复

    使用道具 举报

    发表于 19-9-2014 01:59 PM | 显示全部楼层
    kmy.111014 发表于 19-9-2014 01:51 PM
    你的是这个,还是下面那个?

    下面那个。。一粒一粒的。。
    回复

    使用道具 举报

    发表于 19-9-2014 02:07 PM | 显示全部楼层
    aksin 发表于 19-9-2014 12:59 PM
    下面那个。。一粒一粒的。。

    那很好啊~

    那zomok transistor 的 中间那只脚要接 1K? 不用接不可以的咩?其他两只都没接。

    zomok 2n2222只要 100 ohm? 2n7052要 1k ohm咧?

    回复

    使用道具 举报

    发表于 19-9-2014 07:21 PM | 显示全部楼层
    kmy.111014 发表于 19-9-2014 02:07 PM
    那很好啊~

    那zomok transistor 的 中间那只脚要接 1K? 不用接不可以的咩?其他两只都没接。

    其实我也想懂。。。
    回复

    使用道具 举报

    发表于 19-9-2014 09:32 PM | 显示全部楼层
    现在我写:选灯(l) 或 风扇(f)。。然后在keyin 1-4,选择 速度/亮度。。但是 serial monitor reply 一堆数字,那是什么来的?检查过ASCII,没有对应的字母。。

    经过些测试发现,输入“l”,按send/enter, 它就把那个send/enter 读作 “10”。。所以就switch case对不上。。。。 如果我输入“l3"...switch case 就可以对上了。请问要怎样先读 "l" or "f"然后下一个等user 输入 ‘1-4’?
    (如果不能,那就要求user直接输入 ”l1,l2,l3" or "f1,f2,f3")

    当输入 f

    Screen Shot 2014-09-19 at 9.06.32 PM.png

    再输入3

    Screen Shot 2014-09-19 at 9.06.49 PM.png
    1. int lightpin = 3;
    2. int fanpin = 11;
    3. int fadeValue ;
    4. int speedValue;
    5. char choice;
    6. void setup()
    7. {
    8.   pinMode(lightpin, OUTPUT);
    9.   pinMode(fanpin, OUTPUT);
    10.   Serial.begin(9600);
    11. }

    12. void loop()
    13. {

    14.   if (Serial.available()) {
    15.     choice = Serial.read();
    16.     if (choice == 'l') {
    17.       Serial.println(" light is ready, key in  1-4 for intensisty.");
    18.       Serial.flush();
    19.        fadeValue = Serial.read();
    20.        light (fadeValue);
    21.            
    22.     }

    23.     if ( choice == 'f') {
    24.       Serial.println(" fan is ready, key in  1-4 for speed.");
    25.       Serial.flush();
    26.       speedValue = Serial.read();
    27.       fan(speedvalue);
    28.      
    29.     }

    30.     else Serial.println ( 'nothg');

    31.   }
    32. }



    33. void light (int y) {

    34.   switch (y) {
    35.     case '0':
    36.       analogWrite(lightpin, 0); Serial.println("L 0ff");
    37.       break;
    38.     case '1':
    39.       analogWrite(lightpin, 50); Serial.println("L 20%");
    40.       break;
    41.     case '2':
    42.       analogWrite(lightpin, 127); Serial.println("L 50%");
    43.       break;
    44.     case '3':
    45.       analogWrite(lightpin, 200); Serial.println("L 79%");
    46.       break;
    47.     case '4':
    48.       analogWrite(lightpin, 255); Serial.println("L full");
    49.       break;
    50.     default: Serial.println(" no input L");

    51.   }

    52. }

    53. void fan (int x) {

    54.   switch (x) {
    55.     case '0':
    56.       analogWrite(fanpin, 0); Serial.println("F 0ff");
    57.       break;
    58.     case '1':
    59.       analogWrite(fanpin, 80); Serial.println("F 30%");
    60.       break;
    61.     case '2':
    62.       analogWrite(fanpin, 127); Serial.println("F 50%");
    63.       break;
    64.     case '3':

    65.       analogWrite(fanpin, 200); Serial.println("F 80%");
    66.       break;
    67.     case '4':
    68.       analogWrite(fanpin, 255); Serial.println("F full");
    69.       break;
    70.     default: Serial.println(" no input F");
    71.   }
    72. }
    复制代码
    本帖最后由 aksin 于 19-9-2014 10:26 PM 编辑

    回复

    使用道具 举报

    发表于 20-9-2014 08:13 PM | 显示全部楼层
    aksin 发表于 19-9-2014 09:32 PM
    现在我写:选灯(l) 或 风扇(f)。。然后在keyin 1-4,选择 速度/亮度。。但是 serial monitor reply 一堆 ...

    你必须用两次Serial.read();
    最先的Serial.read()是输入choice,接下来的Serial.read()是是输入fadevalue。

    最简单的方法是一次过列出全部选项,1至4调节灯光,5至8调节风扇速度

    回复

    使用道具 举报


    ADVERTISEMENT

    发表于 20-9-2014 10:42 PM | 显示全部楼层
    西门庆33 发表于 20-9-2014 08:13 PM
    你必须用两次Serial.read();
    最先的Serial.read()是输入choice,接下来的Serial.read()是是输入fadevalu ...

    对呀。。就是用2次serial.read().....但是第2个它读去那个send/enter key...


    回复

    使用道具 举报

    发表于 21-9-2014 11:56 AM | 显示全部楼层
    aksin 发表于 20-9-2014 10:42 PM
    对呀。。就是用2次serial.read().....但是第2个它读去那个send/enter key...

    不好意思,没有泣意到已经用了两次Serial.read()

    26727是else Serial.println ( 'nothg')造成的,
    'nothg'和"nothg"是不同的,你必须用"nothg"

    别外else Serial.println ( 'nothg') 也置錯地方,不管输入什么,"nothg"都会出现。

    必须注意的是,Serial.read()是non-blocking输入,它不等待有无输入就会往下运行其余代码

    回复

    使用道具 举报

    发表于 21-9-2014 01:44 PM | 显示全部楼层
    西门庆33 发表于 21-9-2014 11:56 AM
    不好意思,没有泣意到已经用了两次Serial.read()

    26727是else Serial.println ( 'nothg')造成的,

    请问" "和‘ ’有什么分别?
    回复

    使用道具 举报

    发表于 21-9-2014 10:25 PM | 显示全部楼层
    aksin 发表于 21-9-2014 01:44 PM
    请问" "和‘ ’有什么分别?

    character(单字)可以使用'来呈现,以下任一方式都有效
    '1'
    'a'
    "1"
    "a"

    字串则必须使用"来呈现,例:
    "123"
    "abc"

    评分

    参与人数 1人气 +5 收起 理由
    aksin + 5 谢谢..明白了!

    查看全部评分

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

     

    ADVERTISEMENT



    ADVERTISEMENT



    ADVERTISEMENT

    ADVERTISEMENT


    版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

    GMT+8, 28-3-2024 07:28 PM , Processed in 0.075629 second(s), 27 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表