Blame view

README.md 3.05 KB
b1a7d205   gcremasc   À revoir
1
2
3
4
  READ ME
  
  Tutorat système
  
df996f82   rguillom   fix + README
5
  Rémi Guillomon // Guillaume Cremaschi
b1a7d205   gcremasc   À revoir
6
  
df996f82   rguillom   fix + README
7
  Objectif : Utiliser un shield Arduino de jeu et assurer la liaison USB à un PC.
b1a7d205   gcremasc   À revoir
8
  
df996f82   rguillom   fix + README
9
  I. Compilations et exécution
b1a7d205   gcremasc   À revoir
10
  
df996f82   rguillom   fix + README
11
  Les compilations et l'exécution se déroulent en plusieurs étapes.
a316492c   gcremasc   hj
12
  
df996f82   rguillom   fix + README
13
  - Étape 1: Vérifiez que la carte ne soit pas flashée.
c0369a17   gcremasc   f
14
  
df996f82   rguillom   fix + README
15
  `lsusb`
c0369a17   gcremasc   f
16
  
b1a7d205   gcremasc   À revoir
17
  
df996f82   rguillom   fix + README
18
  Si l'ATMega16u2 est déjà flashé, il faut enregistrer le binaire du lien : https://raw.githubusercontent.com/arduino/ArduinoCore-avr/master/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-uno.hex 
3966cf83   rguillom   modifs diverses :...
19
  
df996f82   rguillom   fix + README
20
  Court-circuitez les broches GND et RESET de l'ATMega16U2 sur l'ICSP de ce micro-contrôleur
0ebd174d   gcremasc   f
21
  
df996f82   rguillom   fix + README
22
23
24
25
26
27
  Puis écrivez dans un terminal :
  ```
  \> dfu-programmer atmega16u2 erase
  \> dfu-programmer atmega16u2 flash Arduino-usbserial-uno.hex
  \> dfu-programmer atmega16u2 reset
  ```
0ebd174d   gcremasc   f
28
  
df996f82   rguillom   fix + README
29
  Débranchez et rebranchez le port USB de la carte.
c0369a17   gcremasc   f
30
  
df996f82   rguillom   fix + README
31
  - Étape 2 : Compilation et chargement du programme main.c dans l'ATMega328P
c0369a17   gcremasc   f
32
  
df996f82   rguillom   fix + README
33
34
35
36
37
38
  Dans un terminal, entrez ces commandes.
  ```
  make all
  make upload
  ```
  Passez en root pour l'upload si nécessaire.
0ebd174d   gcremasc   f
39
  
df996f82   rguillom   fix + README
40
  Vous pouvez tester ce progrmme directement avec la commande
b1a7d205   gcremasc   À revoir
41
  
df996f82   rguillom   fix + README
42
  `minicom -8 -o -b 9600 -D /dev/ttyACM0`
0ebd174d   gcremasc   f
43
  
c0369a17   gcremasc   f
44
  
df996f82   rguillom   fix + README
45
  - Étape 3: Flasher l'ATMega16U2 avec le programme de la partie 3
c0369a17   gcremasc   f
46
  
df996f82   rguillom   fix + README
47
48
49
50
51
  Entrez dans le répertoire suivant et compilez
  ```
  cd lufa-master/PolytechLille/PAD/
  make all
  ```
b1a7d205   gcremasc   À revoir
52
  
df996f82   rguillom   fix + README
53
54
  Puis Flashez le micro-contrôleur :
  Court-circuitez les broches GND et RESET de l'ATMega16U2 sur l'ICSP de ce micro-contrôleur et tapez ces lignes
3966cf83   rguillom   modifs diverses :...
55
  
df996f82   rguillom   fix + README
56
57
58
59
60
  ```
  dfu-programmer atmega16u2 erase
  dfu-programmer atmega16u2 flash PAD.hex
  dfu-programmer atmega16u2 reset
  ```
3966cf83   rguillom   modifs diverses :...
61
  
df996f82   rguillom   fix + README
62
  Débranchez et rebranchez le port USB de la carte à nouveau.
c0369a17   gcremasc   f
63
  
df996f82   rguillom   fix + README
64
  - Étape 4: Compilation du programme sur le PC
0ebd174d   gcremasc   f
65
  
df996f82   rguillom   fix + README
66
  Placez-vous dans le répertoire Pgm PC
b1a7d205   gcremasc   À revoir
67
  
df996f82   rguillom   fix + README
68
  `cd ../../../Pgm\ PC/`
a316492c   gcremasc   hj
69
  
df996f82   rguillom   fix + README
70
  et compilez.
0ebd174d   gcremasc   f
71
  
df996f82   rguillom   fix + README
72
  `gcc -o exe init_USB.c -lusb-1.0 -Wall -Wextra`
c0369a17   gcremasc   f
73
  
df996f82   rguillom   fix + README
74
  - Etape 5 :
c0369a17   gcremasc   f
75
  
df996f82   rguillom   fix + README
76
77
78
79
  Vous pouvez lancer le programme en exécutant le fichier généré.
  `
  ./exe
  `
3966cf83   rguillom   modifs diverses :...
80
  
df996f82   rguillom   fix + README
81
  II. Etat du programme
c0369a17   gcremasc   f
82
  
df996f82   rguillom   fix + README
83
  - Ce qui fonctionne :
c0369a17   gcremasc   f
84
  
df996f82   rguillom   fix + README
85
  	Le programme de l'ATMega328P est fonctionnel. Lors d'un changement d'état des boutons ou d'un déplacement du joystick, il envoie à la suite un octet de début de trame, l'octet associé au boutons, la valeur de l'axe x du joystick et celle de l'axe y. Ces trois derniers octets sont mis en forme comme conseillé dans l'énoncé.
b1a7d205   gcremasc   À revoir
86
  
df996f82   rguillom   fix + README
87
  	La réclamation des interfaces se déroule sans accroc.
3966cf83   rguillom   modifs diverses :...
88
  
df996f82   rguillom   fix + README
89
  	La connexion entre l'ATMega16U2 et le PC par les points d'accès s'établit correctement. De plus, l'envoi des données sur la liaison série par l'ATMega328P fonctionne (testé avec minicom).
c0369a17   gcremasc   f
90
  
c22ab230   rguillom   debug conflit
91
  
df996f82   rguillom   fix + README
92
93
94
95
96
97
98
  - Ce qui ne fonctionne pas :
  
  	Nous n'avons pas eu l'occasion de réaliser la commande des LED depuis l'exécutable du PC.
  
  	La réception des données sur la liaison série de l'ATmega16U2, via la fonction Reception_Serie() n'est en effet pas opérationnelle. Une fois initialisés, les octets des boutons et des axes des joysticks, sont bien transmis au PC (et affichés sur le terminal) mais leur valeur ne change pas malgré les intéractions avec la manette.
  
  	Il est possible que la commande des LED via le PC ne soit pas non plus fonctionnelle à cause du premier point abordé.
a316492c   gcremasc   hj

c0369a17   gcremasc   f

b1a7d205   gcremasc   À revoir

a316492c   gcremasc   hj

0ebd174d   gcremasc   f

b1a7d205   gcremasc   À revoir