def arduino_api_scope(self): connection = SerialManager(device=self.arduino_port) arduino = ArduinoApi(connection=connection) try: yield arduino finally: connection.close()
uno = ArduinoApi(connection=port) # Déclaration de la carte Arduino uno.pinMode(8, uno.OUTPUT) # Paramétrage de la broche 8 en sortie x = [] # Abscisse y = [] # Ordonnée # Décharge du condensateur avant les mesures uno.digitalWrite(8,0) # Broche 8 à OV sleep(2) # pendant 2 s # Début de la charge du condensateur uno.digitalWrite(8,1) # Broche 8 à 5V for i in range(40): # Boucle pour les mesures x.append(i) # Remplissage de x y.append(uno.analogRead(0)) # Mesure sur A0 et remplissage de y sleep(0.05) # Temporisation # Décharge du condesateur après mesures uno.digitalWrite(8,0) # Broche 8 à 0V port.close() # Fermeture du port série # Tracé de la courbe plt.plot(x,y,'r+') plt.title("R = 100k et C = 4,7uF (simple)") plt.xlabel("i") plt.ylabel("N") plt.ylim(0,1023) plt.grid() plt.show()
# Moisture power input connected to Arduino Nano digital pin 5, # while analog data output connected to Arduino analog pin 1 connection = SerialManager(device='/dev/ttyUSB0') arduino = ArduinoApi(connection=connection) arduino.pinMode(15, arduino.INPUT) arduino.pinMode(5, arduino.OUTPUT) # Turn on moisture sensor power arduino.digitalWrite(5, arduino.HIGH) print('Waiting 5 seconds') for i in range(5): time.sleep(1) sys.stdout.write('.') sys.stdout.flush() print('') humidity, temperature = DHT.read_retry(11, 4) moisture = arduino.analogRead(15) # Turn off moisture sensor power arduino.digitalWrite(5, arduino.LOW) connection.close() print('Temperature %dC' % temperature) print('Humidity %d%%' % humidity) print('Moisture %d' % moisture)