Ligne 100 : |
Ligne 100 : |
| Créez un nouveau programme et copiez-collez le code ci-dessous dans votre fichier, enregistrez-le sous le nom de '''trinketblink''' ou nom de votre choix. | | Créez un nouveau programme et copiez-collez le code ci-dessous dans votre fichier, enregistrez-le sous le nom de '''trinketblink''' ou nom de votre choix. |
| | | |
− | {{ambox-stop|text=Si vous utilisez Linux vous devez être "root" pour exécuter le programme Arduino et avoir accès au port USB.}} | + | {{ambox-stop|text=Si vous utilisez Linux lisez le point complémentaire ci-dessous}} |
| | | |
| | | |
Ligne 142 : |
Ligne 142 : |
| | | |
| {{ADFImage|Trinket-ArduinoIDE-Config-42.jpg}} | | {{ADFImage|Trinket-ArduinoIDE-Config-42.jpg}} |
− |
| |
− | === Note pour les utilisateurs Linux ===
| |
− | {{traduction}}
| |
− |
| |
− | [http://learn.adafruit.com/usbtinyisp/avrdude Ajouter une règle udev pour UsbTiny]
| |
| | | |
| === continuons === | | === continuons === |
Ligne 161 : |
Ligne 156 : |
| | | |
| {{ADFImage|Trinket-ArduinoIDE-Config-43.jpg}} | | {{ADFImage|Trinket-ArduinoIDE-Config-43.jpg}} |
| + | |
| + | == Test avec Blink! pour les Linuxiens == |
| + | |
| + | Chez MCHobby, nous mettons un point d'honneur pour utiliser notre matériel sous Linux. Nous disposons d'un Linux Mint pour faire nos développement... et l'utilisation de Arduino-IDE + USBTiny n'est pas des plus simples. |
| + | |
| + | Pour reprendre la note disponible dans dans la documentation d'AdaFruit |
| + | {{ambox-stop|text=Si vous utilisez Linux vous devez être "root" pour exécuter le programme Arduino et avoir accès au port USB.}} |
| + | |
| + | === Linux: Sudo et carte Trinket === |
| + | Si vous utilisez '''sudo''' pour démarrer votre Arduino IDE, vous constaterez vite que la carte Trinket n'apparait plus dans la liste des cartes. |
| + | |
| + | C'est normal, votre répertoire home pour l'utilisateur root (avec sudo) est "/root". Quand vous n'êtes pas root (sans sudo), votre répertoire home est situé dans "/home/votre_login_utilisateur". Normal donc qu'en '''sudo''' Arduino IDE ne retrouve pas la configuration des cartes Trinket qui se trouve dans "/home/votre_login_utilisateur/sketchbook/". |
| + | |
| + | Pour contourner le problème: |
| + | * Passer en root, mode interactif ('''sudo -i''') |
| + | * Trouver le répertoire ''sketchbook'' (dans ''/root/sketchbook'') et le renommer ''sketchbook.old'' |
| + | * Créer un lien symbolique vers le répertoire sketchbook de votre utilisateur habituel.<br />ln -s sketchbook /home/votre_login_utilisateur/sketchbook/ |
| + | |
| + | Maintenant, la carte trinket doit également être visible lorsque vous démarrez arduino IDE en '''sudo'''. |
| + | |
| + | === Linux: Upload en Sudo === |
| + | Si vous n'êtes pas en sudo, vous recevrez le message: |
| + | |
| + | avrdude: error: usbtiny_transmit: error sending control message: Operation not permitted |
| + | |
| + | C'est pour cela qu'il faut passer en sudo... pour permettre a avr_dude d'accéder librement au port USB. |
| + | |
| + | === Linux: Et si cela ne fonctionne pas? === |
| + | La documentation d'AdaFruit relative à UsbTiny propose [http://learn.adafruit.com/usbtinyisp/avrdude d'ajouter une règle udev pour UsbTiny]. |
| + | |
| + | Nous avons également essayé d'ajouter les règles dans ''/etc/udev/rules.d'' sur base des informations suivantes: |
| + | |
| + | * [http://mightyohm.com/blog/2010/03/run-avrdude-without-root-privs-in-ubuntu/ Run avrdude on Ubuntu without root] |
| + | * [http://hackaday.com/2009/09/18/how-to-write-udev-rules/ Writing UDev rules] |
| + | |
| + | Après quelques lectures, nous découvrons que sur Mint 64 bits, ce n'est pas dans ''/etc/udev/rules.d/'' mais dans ''/lib/udev/rules.d/''! |
| + | |
| + | * [http://forums.adafruit.com/viewtopic.php?f=20&t=30230 utiliser /lib/udev] |
| + | |
| + | === Linux: Et si cela ne fonctionne toujours pas? === |
| + | Si comme nous, cela ne fonctionne toujours pas, [http://forums.adafruit.com/viewtopic.php?f=52&t=44262 une dernière option] qui semble fonctionner dans notre cas. |
| + | |
| + | Elle consiste: |
| + | * Passer Arduino IDE en mode Verbose (barvard) pour récupérer le nom du fichier .hex |
| + | * Utiliser Arduino IDE compiler le programme et obtenir le .hex (et les erreurs de téléversement mais ce n'est pas important) |
| + | * Et faire l'upload directement à l'aide d'AvrDude. |
| + | |
| + | Voici donc un petit programme à téléverser: |
| + | |
| + | <nowiki>/* |
| + | LONG Blink pour Trinket |
| + | |
| + | Allume la LED #1 pendant une seconde, puis l'éteindre une autre seconde, de façon répétée. |
| + | Cet exemple de code est dans le domaine public. |
| + | |
| + | Pour charger votre Gemma ou Trinket: |
| + | 1) Sélectionner la carte correcte dans le menu Outils->Carte |
| + | 2) Sélectionner USBtinyISP dans Outil->Programmeur |
| + | 3) Connecter Gemma/Trinket, s'assurer que la LED verte est allumée |
| + | 4) Pour windows, installez les pilotes USBtiny |
| + | 5) Presser le bouton du Gemma/Trinket - vérifiez que vous voyez |
| + | la LED rouge clignoter. Cela signifie qu'il est prêt à recevoir des données |
| + | 6) Cliquez le bouton de téléversement (dans Arduino IDE) dans les 10 secondes |
| + | */ |
| + | |
| + | int led = 1; // La LED à faire clignoté. Broche digitale #1 - branchée sur la LED rouge |
| + | |
| + | // la routine d'initialisation. Exécutée une fois au démarrage |
| + | void setup() { |
| + | // Déclarer la broche comme sortie |
| + | pinMode(led, OUTPUT); |
| + | } |
| + | |
| + | // la routine de la boucle est exécutée encore et encore. A l'infini. |
| + | void loop() { |
| + | digitalWrite(led, HIGH); |
| + | delay(5000); |
| + | digitalWrite(led, LOW); |
| + | delay(5000); |
| + | }</nowiki> |
| + | |
| + | Sélectionnez la carte Trinket 8Mhz via le menu '''Outils -> Carte -> Trinket 8Mhz'''. |
| + | |
| + | Sélectionnez '''USBTinyISP''' comme programmeur via le menu '''Outils -> Programmeur -> USBTinyISP'''. |
| + | |
| + | Lancer la compilation et le téléversement... vous aurez certes l'erreur '''avrdude: error: usbtiny_transmit: error sending control message: Operation not permitted''' mais aussi des messages tels que: |
| + | |
| + | <nowiki>/home/dominique/Bureau/arduino-1.0.5/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /tmp/build5697481972630626828.tmp/TrinketBlink.cpp.elf /tmp/build5697481972630626828.tmp/TrinketBlink.cpp.hex |
| + | Taille binaire du croquis : 832 octets (d'un max de 5.310 octets) |
| + | </nowiki> |
| + | |
| + | Où l'on retrouve le fichier hex (et son répertoire de stockage). Ne reste plus qu'a se rendre dans ce répertoire tel qu'il est indiqué dans le log: |
| + | |
| + | <nowiki>cd /tmp/build5697481972630626828.tmp</nowiki> |
| + | |
| + | Pour ensuite lancer le téléversement avec AvrDude: |
| + | |
| + | <nowiki>xxx</nowiki> |
| | | |
| == Et si cela ne fonctionne pas == | | == Et si cela ne fonctionne pas == |