Dans ce tutoriel, on va commander une voiture en utilisant la carte ESP32 , le module bluetooth HC-06 et un smartphone.
C’est pour cela, on va créer deux programmes: une application mobile avec App Inventor pour le smartphone et un programme micropython pour la carte ESP32.
Voici le programme qui permet de connecter la carte ESP32 au smartphone par l’intermédiaire du module bluetooth HC-06 et de recevoir un message contenant l’ordre de commandement de la voiture.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
from machine import UART from dcmotor import DCMotor from machine import Pin, PWM from time import sleep import time import utime frequency = 15000 pin1 = Pin(5, Pin.OUT) pin2 = Pin(4, Pin.OUT) pin3 = Pin(23, Pin.OUT) pin4 = Pin(22, Pin.OUT) enable = PWM(Pin(18), frequency) enable1 = PWM(Pin(21), frequency) dc_motor = DCMotor(pin1, pin2, enable) dc_motor = DCMotor(pin1, pin2, enable, 350, 1023) dc_motor1 = DCMotor(pin3, pin4, enable1) dc_motor1 = DCMotor(pin3, pin4, enable1, 350, 1023) uart = UART(2, 9600) uart.init(9600, bits=8, parity=None, stop=1) print(uart) while True: if uart.any(): while uart.any(): buf = uart.read() print(str(buf,'utf-8')) if str(buf,'utf-8')=='avant' : dc_motor.forward(100) # la voiture avance dc_motor1.forward(100) if str(buf,'utf-8')=='arriere' : dc_motor.backwards(100) # la voiture recule dc_motor1.backwards(100) if str(buf,'utf-8')=='gauche' : dc_motor.forward(10) # la voiture tourne a gauche dc_motor1.forward(100) if str(buf,'utf-8')=='droite' : dc_motor.forward(100) # la voiture tourne a droite dc_motor1.forward(10) if str(buf,'utf-8')=='stop' : dc_motor.stop() # la voiture tourne a droite dc_motor1.stop() utime.sleep_ms(10) try: uart.write("OK") print('sent response') except OSError: pass |
On va créer une application mobile nommée ‘commander_voiture_arduino’ avec App Inventor qui permet de commander la voiture par le smartphone.
On vous propose donc de réaliser le design de l’application, avec le visuel suivant:
Pour programmer l’application, App Inventor nous propose d’utiliser L’espace Blocs qui permet de créer un programme sous forme de schéma bloc. Très simple d’utilisation mais nécessitant un peu de logique de programmation.
Voici le programme de l’application réalisée dans l’espace Blocs de l’App Inventor: