Arduino 代码 python
Arduino code to 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)
}
}
试试这个
如果没有
,则必须安装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
我有用于读取两个输入的 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)
}
}
试试这个 如果没有
,则必须安装RPi.GPIOpip 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