Dans ce tutorial, on va decouvrir
Concretement, un script en Python va envoyer le caractere H pour allumer la LED presente sur l'Arduino, et le caractere L pour l'eteindre. Utiliser Python plutot que C, C++ ou Java permet de s'epargner les problemes de compilation et d'avoir un code simple et compact.
Ce tutorial a de bonnes chances de marcher sous OSX avec tres peu de differences.
Vous avez besoin de
Normalement, le module pyserial est dans les paquetages standards pour votre distribution : bien que pyserial ne soit pas un module de la librarie standard, c'est un module tres couramment utilise.
Voici le nom du paquetage pour pyserial pour les distributions Linux les plus courantes
Voici le script Python que nous allons utiliser.
#!/usr/bin/env python import os import sys import serial import argparse port_name = '/dev/ttyUSB0' def get_port(): port = serial.Serial() port.port = port_name port.baud_rate = 19200 return port def switch_on(): port = get_port() port.open() port.write('H') def switch_off(): port = get_port() port.open() port.write('L') def main(): parser = argparse.ArgumentParser(description = 'Switch on/off the LED of an Arduino board with the PhysicalPixel sketch loaded') subparsers = parser.add_subparsers(title = 'subcommands', description = 'valid subcommands', help = 'additional help') cmd_parser = subparsers.add_parser('on', description = 'Switch the LED on') cmd_parser.set_defaults(func = switch_on) cmd_parser = subparsers.add_parser('off', description = 'Switch the LED off') cmd_parser.set_defaults(func = switch_off) args = parser.parse_args() args.func() if __name__ == '__main__': main()
Le script est une ligne de commande, pour garder ce tutorial aussi minimal et court que possible. Dans le meme esprit, on utilise ici un exemple existant, PhysicalPixel.
Normalement, si vous avez une seule Arduino branchee sur votre PC, et rien d'autre qui ce comporte comme un port serie, elle devrait etre sous /dev/ttyUSB0. Sinon, essayez /dev/ttyUSB1, /dev/ttyUSB2, etc.
Pour etre sur de bien comprendre comment tout ca marche, rien de tel que des exercices: