Arduino代码到python

2024-09-29 06:20:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有用于读取两个输入的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)
        }

        }

Tags: inputoutputif状态serialsomethingintlow
1条回答
网友
1楼 · 发布于 2024-09-29 06:20:43

试试这个 您必须安装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

相关问题 更多 >