La programation

Ce document s'adresse à des jeunes qui sont attirés par
la programmation, et qui ne connaissent pas toutes les options possibles.
Elles sont nombreuses, et chaque personne avec laquelle vous en discuterez
proposera une autre solution. Si cette personne peut vraiment vous aider
et vous consacrer du temps, suivez son conseil. C'est assez décourageant
de se trouver seul devant un programme dont on ne comprend pas les réactions.
Il faut connaître un "gourou" qui peut vous aider.
On peut programmer un PC ou un Mac pour interagir seulement avec le
clavier-écran, éventuellement une manette de jeu. Si vous
rêvez de faire votre super jeu vidéo, les environnements
(ensemble de programmes) sont complexes.


On peut programmer dans différents langages sur un PC, pour un
PC sur lequel des cartes d'entrées sorties sont connectées
pour commander sa maquette de train ou une application industrielle.


On peut programmer une carte performante pour gérer un affichage,
une liaison internet, des moteurs puissants.

On peut programmer les moteurs et capteurs d'une carte robotique, en
C ou en Basic


On peut s'intéresser à des robots, affichages, gadgets
utilisant des processeurs simples et petits que l'on programme en assembleur.

Comme pour les motos - vélos de course - VTT il y en a pour tous
les goûts



Nous voudrions vous proposer ici des programmes gratuits bien documentés.
Mais c'est un énorme travail qui ne cadre pas avec nos intérêts.
Nous listons quelques liens trouvées via Google et non testés.
Si vous pouvez nous aider à être plus complet et plus précis,
cela sera apprécié de tous les lecteurs.
Notre intérêt est la réalisation de montages basées
sur les PICs de Microchip. Si cela vous intéresse, allez tout
de suite sur www.didel.com/pic/Programmer.pdf




Si c'est plutôt un processeur AVR ou autre qui vous passionne,
on vous fera toute la place qu'il faut sur le site Bricobot. Arduino
mentionné plus loin est un excellent environnement probablement
mieux adapté pour des applications robotiques complexes. Qui
veut bien gérer des pages Arduino sur le site Bricobot?
Revenons à notre inventaire.
On peut commencer à programmer très jeune (8-10 ans),
plusieurs langages permettent de dessiner et déplacer des lutins
sur un écran.




Logo tortue


Avance, tourne, etc, et quelques ordres plus compliqués
http://sourceforge.net/projects/tortue/ En java
http://wfr.tcl.tk/tortue Prometteur
http://guillot.emmanuel.free.fr/jLogo/ jLogo tortue, doc en français
http://netdrive.montclair.edu/~maciakl/labs/Programming%20Lab.pdf


Scratch et Alice
Langage graphique, on accroche des icones.instructions et on
fair bouger des lutins en musique.
http://ilearnit.ch/fr/scratch.html
http://www.informatica08.ch/fr/scratch/wettbewerb.html
http://scratch.mit.edu/
http://www.framasoft.net/article4507.html La doc commute rapidement sur l'anglais
http://www.alice.org/





Basic256

Les instructions performantes du Basic pour calculer, manipuler
des textes, faire des jeux, dessiner des courbes mathématiques.
http://kidbasic.sourceforge.net/
http://www.teslogiciels.com/article748.html En français jusqu'au bout?
http://packages.debian.org/lenny/basic256
http://www.libertybasic.com/ bien, 60 USD



Forth

Un langage qui empile tout, et a ses passionnés qui admirent
sa compacité.
http://www.rfc1149.net/devel/picforth En français
http://tutor.al-williams.com/picforth1.htm
http://www.ram-tech.co.uk/





Pascal


Un langage qui a eu ses heures de gloire.
http://www.mikroe.com/en/compilers/mikropascal/pro/pic/ Vendu 199 USD en 2009





C

Le C toujours à la mode, avec ses variantes pédagogiques
et industrielles (non listées ici)

http://www.ceebot.com/ceebot/index-f.php Très convivial
http://www.arduino.cc/en/Main/Software Le meilleur C sur microcontrôleur
AVR
http://www.logedu.com/devpic87x.html
En français,  gratuit jusqu'à
2k







Assembleur didactique
Le simulateur de Dauphin est le meilleur moyen pour comprendre
le codage de l'information et le traitement des instructions dans
un ordinateur.
http://www.epsitec.ch/dauphin/ Simulateur didactique très bien illustré
http://www.epsitec.ch/downloads/documentation/dauphin/dauphin2.pdf






Assembleur sur des ordinateurs pionniers
Chaque machine a son assembleur, réservé pour
écrire le logiciel système.

Si on connaît le nom de l'ordinateur (EDVAC, Zebra, etc)
on trouve sous Google des descriptions de l'architecture et du
répertoire d'instructions, et parfois des simulateurs








Assembleur CALM

Les notations CALM (Common Assembly Language for Microprocessor)
facilitent la compréhension et l'utilisation de l'assembleur.
Patrick Fah a développé des assembleurs pour 12
familles de processeurs. Sebastian Gerlach a développé
l'environnement de développement SmileNG sur PC-Windows.
Smile existait sur Smaky depuis 1985.
http://www.didel.com/picg/calm/Calm.html
(spécifications, tous les processeurs)


http://www.didel.com/pic/Calm.pdf
(orienté PIC)

www.bricobot.ch/docs/SmileNG.zip
(exécutable)


Simulation de robot
http://mobots.epfl.ch/aseba.html Programmer une population de robots
http://mobots.epfl.ch/data/aseba/aseba-challenge-slides-fr.pdf En français

http://www.cyberbotics.com/
Webot, simulateur commercial pour la recherche,
très performant


Programmation d'un microcontrôleur pour un robot ou autre
application

Il faut commencer avec l'environnement le plus simple possible

Programmer le processeur à l'état brut permet des applications
temps réel dans des petits processeurs avec des codes très
courts.
Une bonne documentation en français est rare. Sur Mac, il y
a très peu d'outils de programmation. Signalez ce qui est intéressant
(et testé) pour compléter la liste ci-dessous.

Ordres envoyés par un PC

Le robot dialogue avec le PC via une ligne série (et un
adaptateur USB). Des ordres élémentaires circulent
pour déplacer le robot et connaître ses capteurs.
Un programme spécifique ou un programme écrit en
VisualBasic, VisualC, etc, commande le robot.
http://www.ceebot.com/ceebot/index-f.php Le programe d'abord simulé est testé
www.didel.com/bot/Serie.doc
Commande le DidelBot

www.didel.com/dev877/PdHexo.doc

Commande la carte RoDev877






Basic

Le Basic est facile mais il ne connaît que le décimal,
ce qui complique l'interaction avec les interfaces qui sont évidemment
en binaire. Les Basics sont peu compatibles, des ordres supplémentaires
étant ajoutés selon le matériel piloté.
http://www.parallax.com/tabid/295/Default.aspx Parallax BasicStamp
http://gcbasic.sourceforge.net/ GCbasic pour
16Fxx de Microchip

http://www.bricobot.ch/docs/GCbasic.pdf
GcBasic documenté pour Bimo





Assembleur CALM avec macros en français

Une bonne solution pour n'avoir qu'un minimum de notions (constantes,
puis variables) à acquérir pour commencer à
programmer.


http://www.bricobot.ch/docs/Abimo.pdf
Leds et moteurs du Bimo
http://www.bricobot.ch/docs/Coeur4Prog.pdf Leds du Coeur4
http://www.bricobot.ch/docs/OrionProg.pdf Leds Orion
http://www.bricobot.ch/docs/VegaProg.pdf Leds Vega et Deneb





Assembleur CALM pour Pic10F 12F 16Fxx
Développé à l'EPFL pour pouvoir passer
plus rapidement d'un processeur à l'autre, CALM facilite
l'apprentissage et réduit les erreurs de confusion d'instructions.
Des assembleurs CALM ont été écrit pour 15
familles de processeur, mais seuls les PIC 10F 12F 16F sont supportés.


http://www.bricobot.ch/programmer/CalmBimo.pdf
Avec des exercices sur Bimo/Bimo+
http://www.didel.com/picg/picg87x/CoursPicg87x.html Exemples sur 877 (ancien)
http://www.didel.com/dev877/ Avec support soft de la carte 2006
http://www.didel.com/pic/Prog877.pdf Nouveau cours 2009
http://www.didel.com/micro08/Microdules.pdf Support pour les Pics 6 à 40 broches
http://www.didel.com/pic/PicTests.pdf Programmes de tests


Assembleur Microchip
http://www.microchip.com/ MPLAB IDE
http://gputils.sourceforge.net/







C pour Microchip
http://www.microchipc.com/
http://www.mikroe.com/en/compilers/mikroc/pic/
http://www.logedu.com/devpic87x.html
En français, bien fait,   gratuit
--> 2k




C pour AVR
http://www.ladyada.net/learn/arduino/








Flowcode
www.matrixmultimedia.com/flowcode.php

Aucun commentaire:

Enregistrer un commentaire