我的第一个arduino程序~~

9CFAEE0D27859B370F0D574527ABA14F_B500_900_500_380

这是一开始的零件状态~~

 

9CFAEE0D27859B370F0D574527ABA14F_B500_900_500_380

9CFAEE0D27859B370F0D574527ABA14F_B500_900_500_380

这是把程序烧录上去之后运行的样子~~只不过那个三极管有点接触不良,所以必须要用手一直扶着,否则电机就不转了~~

9CFAEE0D27859B370F0D574527ABA14F_B500_900_500_380

9CFAEE0D27859B370F0D574527ABA14F_B500_900_500_380

这两个分别是布线图和原理图~它的电阻图标画成电感了,三极管的样子也很奇怪~我猜测那个二极管的作用是用来稳压的~~至于三极管嘛,字面对我们时三个针脚左起分别是e发射极、b基极和c集电极,根据电路图,基极高电压集电极低电压为功率放大~~不过这部分内容模电课还没讲,故表示不是太了解~~

 

那么接下来就把我改过的程序放上来吧~~

int switchPin1=7;      //定义switchPin1引脚为7
                       //连接加速按键
int switchPin2 =8;     //定义switchPin2引脚为8
                       //连接减速按键
int motorspeed=9;      //定义motorspeed引脚为9
int ledpin=11;      //定义led引脚为9
int a=0;               //变量a用来存储速值
void setup() 
{
  Serial.begin(9600);          //打开串口并设置通信波特率为9600
  pinMode(switchPin1, INPUT);  //设定switchPin1引脚为输入状态
  pinMode(switchPin2, INPUT);  //设定switchPin2引脚为输入状态
  pinMode(motorspeed,OUTPUT);  //设定motorspeed引脚为输出状态
  pinMode(ledpin,OUTPUT);  //设定ledpin引脚为输出状态
}
                                                                                                                                              
void loop() 
{
  if (LOW== digitalRead(switchPin1))//如果switchPin1为低电平则执行下面的语句
  {
    a=255;
    analogWrite(motorspeed,a);      //将a的值赋给motorspeed
    digitalWrite(ledpin,HIGH);
  }
  if (LOW== digitalRead(switchPin2))//如果switchPin2为低电平则执行下面的语句
   {
    a=0;
    analogWrite(motorspeed,a);      //将a的值赋给motorspeed
    digitalWrite(ledpin,LOW);
   }
}


 

 

然后我想,若是我把二极管和三极管都给去了,把电机直接接在电路板上可以吗?~~嗯,明天试试看~~

 

第二天早上的实验:

控制电机速度由大到小

我的第一个arduino程序~~》上有1条评论

  1. Pingback引用通告: BZ编程小组 作品 | BZ编程小组

发表评论

电子邮件地址不会被公开。 必填项已用*标注