Go Down

Topic: Avis avant commande. (Read 3 times) previous topic - next topic

skywodd


Plus simple pourquoi ? Le code est le même et l'IDE aussi non ?

C'est pas aussi simple, il faut bien différencier l'API arduino (digitalRead(), ...) et le code bas niveau qui sert de base aux librairies.
Le code haut niveau (l'API arduino) est le même quelque soit la carte (logique c'est le but), l'ide aussi MAIS le code bas niveau lui est différents suivant les cartes.

Une librairie écrite pour la UNO ne fonctionnera pas forcément sur une Mega et encore sur une Leonardo.
Chaque plateforme à ses propres particularités, si une librairie n'est pas explicitement annoté comme compatible avec xxxx carte tu ne peut pas être sûr quelle fonctionnera avec une carte autre que "classique" (UNO / Deci...jesaitplustropquoi & autre dérivé sur base d'ATmega328p).
Si les librairies ne suivent pas, soit tu les réécris par toi même, soit tu pleurs ;)


Sur ton lien il parle de Leonardo et d'une version non officiel, pas de comparaison entre Uno et Leonardo.

Oui mais je détail tout les points clef qui différencies une carte classique (UNO, Mega2560) d'une carte Leonardo (ou compatible).


+1 avec Skywodd ! La Uno a nettement plus d'antériorité que la Leonardo, par conséquent tu trouveras plus de ressources pour la première. Pareil pour de nombreux shields : ils ont été conçus pour la Uno et peuvent être matériellement incompatibles avec la Leonardo. A moins de faire les adaptations nécessaires, tant matérielles que logicielles.

Exemple type, les shields utilisant le port SPI ou I2C.
Pas de port SPI sur la leonardo (enfin si, mais disponible via le connecteur ICSP uniquement) et un bus I2C sur D2 / D3 (au lieu de A4 / A5).
Toutes le shields utilisant c'est deux ports sont donc HS en l'état, pour un débutant c'est impossible de savoir ce genre de chose sans étudier la doc en profondeur.


Si tu veux vraiment un avantage pour la Leonardo: elle a 2 ports série en hardware (serial par l'USB et serial1 par D0et D1)

Et encore c'est même un point plutôt négatif, si tu ne sait pas que le "port série USB" est non bloquant (d'où le while(!Serial); dans les nouveaux codes d'exemple) tu te fait avoir à tout les coups.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Phoenix65

Bonsoir.

Quote
Quand à la Mega, elle a plus d'I/O mais également plus de mémoire, plus d'UART (4), etc...

Pour la mémoire j'arrive pas me représenter ce que ça fait vraiment. Combien de ligne de code peut stocker environ une Uno et une Mega ?

J'ai aussi vu qu'il y avait la Arduino Duemilanove... Qu'apporte-t-elle de plus par rapport au 2 autres ?

Concernant l'UART c'est quoi ça exactement ?

skywodd


Pour la mémoire j'arrive pas me représenter ce que ça fait vraiment. Combien de ligne de code peut stocker environ une Uno et une Mega ?

On ne peut pas quantifier une taille mémoire en terme de ligne de code C/C++.
Tu peut trés bien coder 1 lignes de code qui va prendre 100% (voir plus) de la mémoire comme +2000 qui vont prendre que 50% de la mémoire.


J'ai aussi vu qu'il y avait la Arduino Duemilanove... Qu'apporte-t-elle de plus par rapport au 2 autres ?

C'est la version avant la UNO, même microcontroleur = même puissance / hardware.
Seul différence : le port série usb est géré par un chipset FTDI et non un chipset maison comme sur la uno.


Concernant l'UART c'est quoi ça exactement ?

= port série
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Phoenix65

Alors en nombre de caractères. C'est pour me donner une idée pas besoin d'un chiffre exacte.

Le chipset FTDI est moins bon que le chipset maison ? Pourquoi on-t-ils changés ?

skywodd


Alors en nombre de caractères. C'est pour me donner une idée pas besoin d'un chiffre exacte.

On peut pas donner de chiffre, le C est un langage haut niveau.

En assembleur pure je te dirai 16384 instructions au maximum (32Ko de flash, à 2 octets par instruction au minimum).
En plus il ya tout le code caché par la librairie arduino ... pas facile de pondre un chiffre comme ça ...


Le chipset FTDI est moins bon que le chipset maison ? Pourquoi on-t-ils changés ?

Ils ont changé pour permettre au bidouilleur dans l'âme de bricoler le chipset usb, sinon pour l'utilisateur lamba c'est exactement pareil.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Phoenix65

OK.

Ma question était pour savoir si le facteur limitant serait la mémoire plutôt que les pins...

skywodd


Ma question était pour savoir si le facteur limitant serait la mémoire plutôt que les pins...

Tout dépend du projet, si c'est que du code ou que du hardware ce n'est pas la même chose.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Phoenix65

Tu serais pas normand, non ?  :D

Pour l'instant aucun projet, mais plusieurs idées diverses mais on verra bien.
J'ai bien envie de faire quelques petits montages, je pense me prendre un kit comme ça :

SesechXP

Le problème n'est pas de savoir si on est normand ou pas, c'est juste qu'il est impossible de te répondre :
- si tu auras assez d'entrées/sorties sans savoir ce que tu vas connecter à ton Arduino ;
- si tu auras assez de mémoire pour piloter et faire interagir tout ce que as connecté sans savoir quelles fonctionnalités tu comptes développer.

La mémoire d'un microcontrôleur (la puce principale de l'Arduino) n'a rien a voir avec un fichier dont la taille est fonction d'un nombre de caratères...
Julien - www.idreammicro.com

Phoenix65

Disons que j'arrive pas à me décider entre une Mega et une Uno, et le prix est quand même plus élevé pour la Mega.
Simplement je sais pas si une Uno sera vite limitée, ou pas.
Par exemple pour programmer un petit bras 6 axes (6 servos), ou un drône à 4-5 moteurs.

skywodd


Disons que j'arrive pas à me décider entre une Mega et une Uno, et le prix est quand même plus élevé pour la Mega.
Simplement je sais pas si une Uno sera vite limitée, ou pas.
Par exemple pour programmer un petit bras 6 axes (6 servos), ou un drône à 4-5 moteurs.

Une UNO suffirai, la mega2560 c'est bien pour les trés gros projet, avec beaucoup de code ou de données en flash (image, texte, ...).
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Phoenix65

Ok je vais commander une UNO alors !

C'est possible d'avoir 6 servos indépendants (commande) sur la UNO ?


skywodd


C'est possible d'avoir 6 servos indépendants (commande) sur la UNO ?

Le maximum avec la librairie Servo sur une arduino UNO c'est 12 servomoteurs ;)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Phoenix65

Parfait !

Arduino Uno commandé (avec kit) pour 45£ (70 chf) port compris.

Phoenix65

Voilà, reçu depuis quelques jours !!

Par contre comment on branche un écran LCD dessus, et un capteur ultrason ? Existe-t-il des bibliothèques pour gérer ça facilement ?

Go Up