zoukankan      html  css  js  c++  java
  • 用Tinkercad学arduino之 带LCD显示3层L2939电机驱动电梯

    项目地址:https://www.tinkercad.com/things/1maNW6J7e7k-elevator-simulation

    #include <LiquidCrystal.h>
    #define pwm1     9
    #define pwm2     10
    //#define tmpPin   A0
    //#define piezoPin 8
    //boolean direction = 0;
    //const int tempmax=35;
    //int speed;
    int i=1;
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 
    #define btn3 6
    #define btn2 7
    #define btn1 8 
    boolean buttonState1;
    boolean buttonState2;
    boolean buttonState3;
    
    
    
    
    void setup() {
     pinMode(pwm1, OUTPUT); 
     pinMode(pwm2, OUTPUT); 
     lcd.begin(16,2);
     Serial.begin(9600);
     pinMode(btn2,INPUT_PULLUP);
     pinMode(btn3,INPUT_PULLUP);
     pinMode(btn1,INPUT_PULLUP);
    }
    
    
    
    
    
    void loop() {
    buttonState1 = digitalRead(btn1);
    buttonState2 = digitalRead(btn2);
    buttonState3 = digitalRead(btn3);  
      digitalWrite(pwm1,LOW);
      digitalWrite(pwm2,LOW);
      
      //------------------------------------------
      //On clicking on 3rd floor's button
      
      if(buttonState3 == HIGH){
        while(i<3){   
        i++; 
      digitalWrite(pwm1, LOW);
      digitalWrite(pwm2, HIGH);
     lcd.print("On the way to ");
          lcd.setCursor(0,1);
           lcd.print("floor ");  
     lcd.print(i);
          delay(1000);
          lcd.clear();}
       i=3;
       lcd.clear();
      }
      
      //-------------------------------------------------
      //On clicking on 2nd floor's button
      
      if(buttonState2==HIGH){
        
        if(i>2){
          while(i>2) {
          i--;
     digitalWrite(pwm1, HIGH); 
     digitalWrite(pwm2, LOW); 
        lcd.print("On the way to");
            lcd.setCursor(0,1);
            lcd.print("floor ");
            lcd.print(i);
       delay(1000);}
        }
        
        if(i<2){ 
          while(i<2){
            i++;
        digitalWrite(pwm1, LOW);
      digitalWrite(pwm2, HIGH);
       lcd.print("On the way to");
           lcd.setCursor(0,1);
        lcd.print("floor ");
            lcd.print(i);
            delay(1000);}      
        }    
        
      i=2;lcd.clear();
      }
    
      //-----------------------------------------
      //On clicking on 1st floor's button
      
      if(buttonState1 == HIGH){
        
      if(i>1){
        while(i>1) {
        i--;
     digitalWrite(pwm1, HIGH); 
     digitalWrite(pwm2, LOW); 
        lcd.print("On the way to");
         lcd.setCursor(0,1);
        lcd.print("floor ");
          lcd.print(i);
          delay(1000);
           lcd.clear();}
        i=1;    lcd.clear();}
        
      }
    }
  • 相关阅读:
    递归函数及Java范例
    笔记本的硬盘坏了
    “References to generic type List should be parameterized”
    配置管理软件(configuration management software)介绍
    WinCE文件目录定制及内存调整
    使用Silverlight for Embedded开发绚丽的界面(3)
    wince国际化语言支持
    Eclipse IDE for Java EE Developers 与Eclipse Classic 区别
    WinCE Heartbeat Message的实现
    使用Silverlight for Embedded开发绚丽的界面(2)
  • 原文地址:https://www.cnblogs.com/meetrice/p/14082912.html
Copyright © 2011-2022 走看看