Visiteurs: 17
Aujourd'hui: 1
 

ARDUINOLAND

RssARDUINO DARTS » II) MATÉRIEL Liste du matériel.
   Le 02/07/14 à 20h19 Citer      

Administrateur

Groupe: Administrateur

Inscrit le: 01/07/14
Messages: 8
- LE CHOIX DE L'ARDUINO.


Pour la réalisation de l'Arduino Darts, je vais avoir besoin d'un micro-contrôleur. J'aurais pu partir sur un PIC, un ATMEGA ou autre pour réduire le prix mais c'est quand même beaucoup plus sympa d'avoir une plateforme de développement comme l'Arduino.

J'ai plusieurs Arduino et un Teensy à ma disposition :

---------------- Un Arduino Uno ----------------



-------------- Un Arduino Nano 168 -------------



-------------- Un Arduino Nano 328 -------------



-------------- Un Arduino Micro Pro --------------



------------------ Un Teensy 3.1 ------------------



Le choix va être difficile à faire.

L'Arduino Uno
- C'est ma carte de prototypage, celle avec laquelle je fais tous mes essais.
- Le micro-contrôleur sur la carte est remplaçable, j'ai déjà eu l'occasion de le remplacer.
- Elle dispose de 32Ko de mémoire mais elle est un peu grande pour l'Arduino Darts.
- De plus pour la fiabilité du jeu, je préfère tout souder, l'Arduino Uno n'a pas été conçu pour ca.
VERDICT :

L'Arduino Nano 168,
- Elle dispose de 16Ko de mémoire, c'est le minimum pour toutes mes librairies, donc inutilisable.
VERDICT :

L'Arduino Nano 328,
- Exactement un Arduino Uno (ou presque) en version réduite.
- Dispose de broches et peut donc être connecté ou soudé sur un circuit imprimé.
VERDICT :

L'Arduino Arduino Micro Pro,
- Son problème, c'est l'absence d'un connecteur USB et donc l'obligation d'envoyer le programme avec un programmateur.
VERDICT :

Teensy 3.1,
- Ma dernière acquisition. Compact, hyper puissant, 256Ko de mémoire flash.
- fonctionne sous 3.3v mais est 5v tolérant, grand nombre de broches.
- Il n'a que des avantages par rapport aux Arduino mais toutes les librairies ne sont pas compatibles.
VERDICT :


Donc, Arduino Nano 328 ou Teensy 3.1 ?
Je vais détailler les avantages et les inconvénients des 2 cartes.

L'Arduino est 100% compatible avec les librairies Arduino, pas le Teensy.
Arduino : +1

Le Teensy possède un grand nombre de broches. Pour l'Arduino, il me faudrait ajouter un multiplexeur/démultiplexeur, un registre à décalage ou autre chose pour gérer la matrice du jeu qui comporte 17 fils. (10 et 7).
Teensy : +1

L'Arduino dispose d'un grand nombre de librairies pour les écrans couleurs, le Teensy beaucoup moins.
Arduino : +1

Le Teensy utilise le 3.3v pour ses broches et est 5v tolérant, l'Arduino ne fonctionne qu'en 5v. Obligation d'utiliser un shift register, des résistances ou des ponts diviseurs de tension pour utiliser du matériel en 3.3v.
Teensy : +1

Le Teensy dispose de 256Ko de mémoire flash contre 32Ko pour l'Arduino. 2Ko d'EEPROM contre 1Ko pour l'Arduino et 64Ko de RAM contre 2Ko pour l'Arduino. Le Teensy tourne à 72Mhz (96 en overclock) contre 16Mhz pour l'Arduino. La vitesse importe peu pour ce genre de jeu mais on ne sait jamais, la vitesse de scrutation de la matrice peut poser des problèmes.
Teensy : +1

Avec ses 32Ko de flash, il ne me reste plus que 16Ko dans l'Arduino après avoir chargé les librairies pour l'écran, le module de son, le port série et un peu de code pour l'écran (affichage score, polices de caractères...) j'ai peur de manquer de mémoire pour tout ce que j'ai prévu de faire/programmer. Inutile de rêver à toutes les fonctionnalités additionnelles auxquelles j'ai pensé.

Pour ce 1er projet et surtout avec un nom de domaine comme Arduinoland, j'aurais préféré utiliser un Arduino. Il n'existe pas de mini Arduino pas cher avec plus de 32ko de mémoire, il y a bien les Arduino MEGA mais ce n'est pas la même taille et les broches ne sont pas à souder. De plus je souhaite utiliser ceux que je possède.




- L'ECRAN LCD TFT 2.2 POUCES.



ILI9341 - Ecran couleur et lecteur de carte SD.

J'ai également un écran LCD TFT couleur de 1.8 pouces du type ST7735 mais il est trop petit. Le 2.2 pouces a la taille idéale pour la fenêtre (place de l'écran) du jeux de fléchettes. J'ai déjà fais pas mal de tests avec cet écran et l'Arduino Uno/Nano. Il est lumineux, très coloré et relativement rapide pour un écran utilisant le protocole SPI.

En Software SPI, l'écran est 10 fois moins rapide qu'en Hardware SPI, c'est pourquoi je souhaite uniquement utiliser ce mode
Cet écran possède un slot pour carte SD, je ne sais pas, pour le moment, si je vais l'utiliser. Contrairement à mon écran 1.8 pouces (5v), celui si est en 3.3v. Il est donc contrôlable directement par le Teensy mais l'Arduino Nano nécessite une adaptation de la tension. J'utilise actuellement des ponts diviseurs de tension car j'ai rencontré des problèmes avec un level shifter (CD4050).

Avec le CD4050, tout fonctionne très bien en Software SPI mais en Hardware SPI les librairies refusent de fonctionner (écran blanc) sauf MultiLCD.
Par contre le slot SD fonctionne avec le CD4050 mais pas avec les ponts diviseurs de tension. Si je peux utiliser le Teensy, sans adapter la tension, que le Hardware SPI fonctionne avec une bonne librairie et que je peux utiliser le slot SD, alors mon choix sera fait.

Voici comment connecter l'écran au Nano avec des ponts diviseurs de tension.

Attention : L'ordre des broches du ILI9341 est différent de mon schéma. Respectez les noms de broches.
Ordre du schéma : LED - VCC - GND - RST - CS - D/C - MOSI - SCK - MISO
Ordre du ILI9341 : VCC - GND - CS - RST - D/C - MOSI - SCK - LED - MISO
Coté Arduino Nano : 4(RST) - 5(CS) - 6(D/C) - 11(MOSI) - 12(MISO) - 13(SCK)
La ligne MISO (fil orange) n'est pas nécessaire, c'est le retour de l’écran.
A utiliser avec Ucglib ou MultiLCD pour faire un 1er essai de l'écran. Elle fonctionne en SW SPI et HW SPI


Liste des librairies LCD TFT testées.

- Adafruit_ILI9341 + Adafruit-GFX.
- UTFT.
- Ucglib.
- MultiLCD.
- ILI9341.
- SeeedTFTv2.

Toutes ces librairies fonctionnent mais parfois en SW SPI, parfois en HW SPI.
Parfois avec un CD4050, parfois avec des ponts diviseurs de tension.
Certains utilisent simplement des résistances (1 seule par ligne).

- Adafruit est très bien, pas mal de fonction.
- UTFT est la plus complète mais est très très lourde, la démo ne rentre pas sur un Arduino de 32Ko.
- Ucglib n'est pas la plus complète mais est ma préférée.
- MultiLCD est rapide mais très limité dans ses fonctions.
- ILI9341 et SeeedTFTv2 sont assez complètes, sans plus.

J'ai passé des jours à faire des essais mais je n'ai pas tout essayé. Il ne me faut pas beaucoup de fonctions graphiques pour faire un écran de jeu de fléchettes. La principale fonction qui pourrait être utile, c'est la possibilité d'utiliser de grandes polices de caractères et surtout des polices de qualités et pas simplement une petite police zoomée.

Un essai de screen sous Ucglib, déjà fontionnel.
Après mes essais, il n'y a que UTFT et ucglib qui permettent ça.

J'ai décidé de prendre la librairie la plus rapide et pour cela j'ai réalisé un petit Benchmark avec 3 librairies. UTFT, UCGLIB et ADAFRUIT sous Teensy 3.1.
Au programme, quelques fonctions simples.
- Effacement de l'écran.
- Affichage de points, cadres et cercles.
- ...

La dernière version de ADAFRUIT étant optimisée pour Teensy, elle est LARGEMENT plus rapide que toutes les autres. J'ai été impressionné de la différence par rapport aux autres librairies. J'ai même laissé tombé un moment ce projet pour jouer un peu avec cette librairie et faire une petite démo.

J'ai choisi ADAFRUIT_GFX et ADAFRUIT_ILI9341 pour piloter l'écran, certes par de police de caractère intéressante mais il ne me faut que des chiffres, je créerais mes chiffres perso, probablement des chiffres 7 segments.



"En cours de rédaction...."




- LE MODULE SONORE


Je dispose de 2 modules sonores très similaires.


- LE WTV020-SD-MINI.

Disponible sur Ebay.

Bon, je crois que je vais pas tourner autour du pot pour faire mon choix tellement de WTV020 est une M..... !!!!
Je vous laisse le plaisir de lire les infos/docs/datasheets/commentaires sur le net, c'est hyper contradictoire et malgré tous mes efforts, je n'ai pas réussi à le faire fonctionner. je pense que plus de 50% des personnes qui ont acheté cet daube n'ont jamais réussi à lui faire sortir un son.
Impossible de faire reconnaître une carte SD (c'est des Micro SD sur les 2) même une Sandisk qui est pourtant recommandée.


- LE DFPLAYER MINI.

Toutes les info sur www.dfrobot.com

Avantage du DFPLAYER, reconnait très bien les cartes SD, j'en ai testé 3 dont une de 8Go et en FAT16 ou FAT32, aucun problème. Il lit les WAV et MP3, dispose de pas mal de fonctions et est contrôlable par un port série. Attention, si le DFPLAYER est connecté à l'Arduino au port série, impossible d'envoyer un programme dans l'Arduino. L'Arduino a besoin d'avoir ses broches 0(RX) et 1(TX) de libres pour être mis a jour. Ce qui oblige à débrancher le DFPLAYER à chaque envoi de programme sur l'Arduino, ce n'est pas très pratique. Lors de mes essais j'ai utilisé le Software Serial au-lieu du Hardware Serial, plus besoin de débrancher le DFPLAYER.




"En cours de rédaction...."


pm    
RssARDUINO DARTS » II) MATÉRIEL Liste du matériel.  
1 Utilisateur en ligne :: 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne: Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie