【问题标题】:Arduino code to pythonArduino代码到python
【发布时间】:2018-07-13 07:19:42
【问题描述】:

我有用于读取两个输入的 arduino 代码,它们使用它们根据输入状态生成 3 或 4 个不同的输出,我需要在 python 中进行,但我还不擅长。 任何帮助,将不胜感激。 我会使用一些 LED 来表示状态,以便稍后当我了解更多我想做更高级的事情时开始。

    int A = 3;
        int B = 4;
        int C = 5;
        int D = 6;
        int E = 7;

        void setup(){

        Serial.begin(9600);
        pinMode (A, INPUT);
        pinMode (B, INPUT);
        pinMode (C, OUTPUT);
        pinMode (D, OUTPUT);
        pinMode (E, OUTPUT);
    }

    void loop(){
        pic();
        delay (100);
        }

    void pic(){

          int a = digitalRead(A);
          int b = digitalRead(B);

        if(a == LOW && b == LOW){
        Serial.print("something");  
    digitalWrite(C, HIGH) 
    digitalWrite(D, LOW)
    digitalWrite(E, LOW)
        }

         if(a == LOW && b == HIGH){
  Serial.print("something");  
    digitalWrite(C, LOW) 
    digitalWrite(D, HIGH)
    digitalWrite(E, LOW)     
        }

        if(a == HIGH && b == LOW{
  Serial.print("something");  
    digitalWrite(C, LOW) 
    digitalWrite(D, HIGH)
    digitalWrite(E, LOW)
        }

        if(a == HIGH && b == HIGH){
  Serial.print("something");  
    digitalWrite(C, LOW) 
    digitalWrite(D, LOW)
    digitalWrite(E, HIGH)
        }

        }

【问题讨论】:

    标签: python input arduino output raspberry-pi3


    【解决方案1】:

    试试这个 如果没有,则必须安装 RPi.GPIO

    pip install RPi.GPIO
    
    import RPi.GPIO as GPIO
    from time import sleep
    
    # Use on of this. (visit https://pinout.xyz/ for more details)
    # GPIO.setmode(GPIO.BOARD)  # If you are using number on the board (1 --> 3.3V, 2 --> 5V)
    GPIO.setmode(GPIO.BCM)    # If you are using the Broadcom numbering
    
    A = 5
    B = 6
    C = 13
    D = 19
    E = 26
    
    
    def pic():
        a = GPIO.input(A);
        b = GPIO.input(B);
    
        if a == GPIO.LOW and b == GPIO.LOW:
            print("something");
            GPIO.output(C, GPIO.HIGH)
            GPIO.output(D, GPIO.LOW)
            GPIO.output(E, GPIO.LOW)
    
        if a == GPIO.LOW and b == GPIO.HIGH:
            print("something");
            GPIO.output(C, GPIO.LOW)
            GPIO.output(D, GPIO.HIGH)
            GPIO.output(E, GPIO.LOW)
    
        if a == GPIO.HIGH and b == GPIO.LOW:
            print("something")
            GPIO.output(C, GPIO.LOW)
            GPIO.output(D, GPIO.HIGH)
            GPIO.output(E, GPIO.LOW)
    
        if a == GPIO.HIGH and b == GPIO.HIGH:
            print("something")
            GPIO.output(C, GPIO.LOW)
            GPIO.output(D, GPIO.LOW)
            GPIO.output(E, GPIO.HIGH)
    
    
    GPIO.setup(A, GPIO.IN)
    GPIO.setup(B, GPIO.IN)
    GPIO.setup(C, GPIO.OUT)
    GPIO.setup(D, GPIO.OUT)
    GPIO.setup(E, GPIO.OUT)
    
    while True:
        pic()
        sleep(100 / 1000)
    

    在终端中运行执行

    python filename.py
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多