Python com Arduino
Experiência prática sobre Python e Arduino
Segue os códigos abaixo aprensetado no workshop:
Código do LDR Arduino
int ldrPin = 0; //LDR no pino analígico 0
int ldrValor = 0; //Valor lido do LDR
void setup() {
Serial.begin(9600); //Inicia a comunicação serial
}
void loop() {
///ler o valor do LDR
ldrValor = analogRead(ldrPin); //O valor lido será entre 0 e 1023
//imprime o valor lido do LDR no monitor serial
Serial.println(ldrValor);
delay(100);
}
Código do LDR Python
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
import serial #importacao do modulo serial
ser = serial.Serial('COM3') #abre porta serial COM*
while True:
leitura = ser.readline() #le caracteres recebidos
if leitura >= "100":
print "alta luminosidade no local"
else:
print "luminosidade muito baixa"
ser.close()
Código do LED Arduino
int led1 = 13; // Porta onde o led será inserido
void setup(){
Serial.begin(9600); // Velocidade padrão do Uno
pinMode(led1, OUTPUT); // Porta onde o led será inserido, configurado como saida
}
void loop(){
char leitura = Serial.read(); // Variavel que receberá os valores enviados pelo programa em python
if(leitura == '1'){
digitalWrite(led1, HIGH); // Liga a porta 13 se o valor recebido for 1
}
else if(leitura == '2'){
digitalWrite(led1, LOW); // Desliga a porta 13 se o valor recebido for 2
}
}
Código do LED Python
#!/usr/bin/env/python
# -*- coding: cp1252 -*-
import serial
import time
conexao = serial.Serial('COM3', 9600) # Configuração da conexão
def pisca(tempo=1):
while True:
valor = input("digite o valor 1 ==> ligado, 2 ==> desligado, 3 ==> sair: ")
if valor == 1:
conexao.write('1') # Escreve 1 no arduino (LED acende)
print "ligado"
time.sleep(tempo) # Aguarda n segundos
elif valor == 2:
conexao.write('2') # Escreve 2 no arduino (LED apaga)
print "desligado"
time.sleep(tempo) # Aguarda n segundos
else:
exit();
if __name__ == '__main__': # Executa a função
pisca()