Club robotique de Sophia-Antipolis

Accueil > Projets, études > Nos robots > Robots du club > Robots à roues > Hitec Mavin (2008) > Programmation en C du MA-VIN

Programmation en C du MA-VIN

Initiation pour les débutants

mercredi 30 septembre 2009, par Laurent Bo.

Cet article présente les étapes pour passer de la programmation visuelle (avec Ma-Vin Lab) à la programmation en C (avec WinAVR), étape par étape puis grâce à un exemple d’utilisation de la librairie du robot Ma-Vin.

Commençons avec la configuration de votre système pour utiliser le compilateur C qui permettra de programmer le robot Ma-vin.

Il faut d’abord récupérer certains logiciels et documentations.
Point d’illusion tous ces documents sont en anglais, ce qui est plus facile que le japonais ou coréen ;o)
Il n’est pas inutile de les apprendre par cœur ;o)

Récupérer les logiciels et documentations du Ma-Vin.

Aller sur le site de Robonova :

Page de téléchargements des logiciels Robonova.de

Prendre la dernière version de MA-VIN Lab et l’installer.

Mavin Software 2.1 Beta Download

Description : Änderungshinweis : neues Servoanschlussmodul wird unterstützt, normale PWM basierte Servos sind anschließbar nur zu Testzwecken, keine Gewährleistung von Garantie / only for tests, No acceptance of guarantee
Size : 32.10 MB Modified : 10 Sep 2009 12:05 PM Total Downloads : 12

Prendre la documentation pour programmer le MAVIN : Using Winavr/C with Mavin

Page de téléchargements de la documentation - Robonova.de

Et aussi le principal document : 04_ma-vin_programmer_guide.pdf

Page de téléchargements de la documentation - Robonova.de

Ce document décrit le hardware du robot et sa programmation en C, il est excellent, sauf quelques caractères japonais peu lisibles ;o).

La documentation n’est pas toujours en phase avec la version du logiciel.

Les autres documentations sont sur cette page :

Toutes les documentations du Ma-Vin (Robolab)

Prendre le package ‘Using Winavr/C with mavin package.zip’, il contient l’outil de téléchargement, la librairie et un exemple de programme C.

package ‘Using Winavr/C with mavin package.zip’
Le dé zipper dans le dossier C :\MAVINC\exemple\

Récupérer la documentation du micro-contrôleur Atmel ATMEGA64

Datasheet de l’ATMEGA 64

Récupérer la toute dernière version de Programmer’s Notepad (pn)

http://www.pnotepad.org/

En effet de logiciel est livré dans WinAvr mais les versions changent d’un WinAvr à l’autre.


Configurations nécessaires.

Le développement d’un programme C pour le Ma-Vin se déroule ainsi :
 On utilise Programmer’s Notepad (pn) pour saisir et modifier le programme.
 A partir de pn on lance la compilation.
 A partir de pn on lance l’utilitaire de téléchargement du Ma-Vin.

Donc tout se passe à partir de pn.

Pour simplifier les choses, télécharger le zip (en bas de page) et le dézipper sur votre disque au niveau de la racine C :\.
Il contient l’arborescence suivante :

\Projets\Mavin\
               DoMake.bat : script de lancement de la compilation
               HexDownload.exe : utilitaire de téléchargement du Ma-Vin.
              \Exemple1\  : Dossier d'exemple d'origine
              \Exemple1_corr\ : idem mais corrigé
              \Exemple_pagexx\ : divers exemples de la documentation
              \Exemple_Zlb_Lcd\ : Exemple Librairie LCD

HexDownload.exe provient du package ‘Using Winavr/C with mavin package.zip’, il fonctionne si vous avez installer le Ma-Vin Lab, il faut aussi avoir installer le drivers USB.
Parfois l’utilitaire refuse de fonctionner, il faut alors utiliser celui du Ma-Vin Lab, faire un projet bidon et copier le code dans le dossier, le téléchargement se fera sur ce fichier ;o).

DoMake.bat est un script que j’ai écris pour simplifier l’installation et l’utilisation ( il fonctionne aussi pour WinAvr et Arduino).
En effet, pour lancer la compilation on a besoin d’un certains nombres de programmes qui sont généralement accessible grâce au PATH ( chemin des programmes). Hélas le PATH est réglé anarchiquement par l’installation de divers programmes (WinAvr). De plus il n’est pas rare d’avoir sur son ordinateur plusieurs WinAvr (le vrai, celui du Ma-Vin et celui d’Arduino) ce qui augmente le risque de confusion et d’utilisation de la mauvaise version.
Car il est fortement recommandé d’utiliser la version prévu pour chaque environnement de développement (Ma-Vin , Arduino).
DoMake.bat va permette cela, il suffit d’indiquer où se trouve le WinAvr du Ma-Vin pour bien fonctionner.

Le fichier DoMake.bat se trouve dans C :\Projets\Mavin\

 Indiquer ou se trouve le WinAvr du Ma-Vin, si vous avez fait l’installation de base, c’est déjà bon.

@rem ---- MAVIN ----
SET WINAVR=C:\MA-VIN Lab\MA-VIN\WinAVR

Déclaration des outils (Tools) dans pn (Programmer’s Notepad).
Pour lancer facilement la compilation à partir de pn, il suffit de paramétrer les tools :

- Démarrer pn
- Menu > Tools > Options
- Sélectionner : Tools -> Project Tools
- Sélecteur Project Template : choisir none All project
- Click sur le bouton [Add], la fenètre 'new tool properties' s'affiche
- Sur l'onglet 'Properties'
- Name : Compiler
- Command : $(ProjectPath)\..\DoMake.bat 
- Folder : $(ProjectPath)
- Parameters : all
- Shortcut : none
- Save : all files
- valider par [OK]

- Refaire [Add] pour en ajouter un deuxième :
- Name : Nettoyage
- Command : $(ProjectPath)\..\DoMake.bat 
- Folder : $(ProjectPath)
- Parameters : clean
- Shortcut : none
- Save : all files
- valider par [OK]

- Refaire [Add] pour en ajouter un troisième :
- Name : telechargement
- Command : $(ProjectPath)\..\HexDownload.exe 
- Folder : $(ProjectPath)
- Parameters : clean
- Shortcut : none
- Save : none
- valider par [OK]

Voilà le plus dure est fait, reste à tester avec un exemple :

Dans pn

- Menu > File > Open Project(s)
- Look in : C:\Projets\Mavin\Exemple1
- Choisir : Exemple1.pnproj

Le programme ’main.c’ est très simple il affiche ’hello world’ sur l’afficheur Lcd.
Lancer la compilation par
 Menu > Tools > Compilation
De nombreux ’Warning’ vont apparaitre, ils sont corrigés dans ’exemple1_corr’.

Lancer le téléchargement :
 Menu > Tools > Telechargement

Et voilà, regardez les exemples et pour commencer, dupliquer le dossier d’un exemple et faite votre programme.

Exemples Ma-Vin 1.01
Exemples et outils

A+ laurent

01/10/2009 V1.01 Premier jet

02/10/2009 V1.02 Suppression XP/Vista inutile

Vos commentaires

  • Le 16 mai 2013 à 00:33, par Eric P. En réponse à : Programmation en C du MA-VIN

    les ordinateurs du club sont tous sur Windows XP

    ...ou sous Linux ;)

    Répondre à ce message

  • Le 15 mai 2013 à 22:26, par colibri En réponse à : Programmation en C du MA-VIN

    Bonsoir,
    Tout se déroule très bien jusqu’à ce qu’apparaisse le message suivant lors de téléchargement : " Port initialize Fail ".
    Pouvez-vous m’aider car je ne sais pas comment faire alors que quand je branche une clé usb sur n’importe quel port, tout est ok.
    Pour info, j’utilise Windows 7.
    Cela fait un moment que ça dur et je n’arrive pas à m’en sortir.
    Merci d’avance de vos réponse
    — 

    • Le 16 mai 2013 à 00:10, par Julien H. En réponse à : Programmation en C du MA-VIN

      Bonjour ! Déjà à l’époque de Windows Vista on avait eu plein de problèmes, alors Windows 7 je pense que c’est pareil. Avez-vous essayé de lancer le programme en administrateur ? (par un clic-droit "lancer en tant que..." ou approchant - désolé les ordinateurs du club sont tous sur Windows XP, pour cette raison-là aussi).

    Répondre à ce message

  • Le 1er octobre 2009 à 00:57, par Julien H. En réponse à : Programmation en C du MA-VIN

    Ce n’est pas du japonais mais du coréen ! (IZI Robotics)

    yota_30_1107947466_maitre_capello.jpg

    Répondre à ce message

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.