Modifications

Sauter à la navigation Sauter à la recherche
4 967 octets ajoutés ,  31 octobre 2013 à 22:19
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 ==
29 917

modifications

Menu de navigation