LOCODUINO

Les cartes Teensy

.
Par : Christian, Jean-Luc

DIFFICULTÉ :

Dans la famille des cartes à faible coût, hautes performances et destinées au déploiement, il y a les cartes Teensy conçues par la société PJRC. Les Teensy gravitent à la périphérie de la galaxie Arduino car elles ne sont pas officiellement supportées par l’IDE et nécessitent l’installation de composants supplémentaires. Il n’en reste pas moins que ces cartes sont diablement intéressantes lorsqu’il s’agit de mettre en œuvre des applications un peu gourmandes en performances comme la gestion d’un écran graphique LCD pour un poste de conduite ou un TCO.

Tour d’horizon des cartes Teensy en 2019

Une visite sur le site du constructeur PJRC montre deux types de cartes Teensy, celles équipées d’un microcontrôleur 8 bits travaillant à 16 Mhz comme la Teensy 2.0 et la Teensy++ 2.0, et celles équipées d’un microcontrôleur 32 bits travaillant à des vitesses comprises entre 48 et 180 MHz. Dans cet article, nous ne parlerons pas des cartes 8 bits qui sont comparables à un Arduino Nano et nous nous intéresserons aux cartes 32 bits dont les performances et le niveau d’équipement sont nettement supérieurs.

Parmi les cartes 32 bits, on trouve la Teensy 3.2 qui a remplacé la Teensy 3.1 (Figure 1) et qui est équipée d’un microcontrôleur ARM Cortex-M4 travaillant à 72 MHz. Son prix affiché en 2019 est de 19,80 US Dollars. Il existe un modèle moins cher à 11,65 US Dollars, la TeensyLC (pour Lowest Cost), équipée d’un microcontrôleur ARM Cortex M0+ travaillant à 48 MHz [1]. Mais les deux versions les plus intéressantes sont actuellement la Teesy 3.5 et la Teensy 3.6 (Figure2), toutes deux équipées d’un microcontrôleur ARM Cortex-M4F travaillant respectivement à 120 et 180 MHz. Ces deux dernières cartes ne coûtent que 24,25 et 29,25 US Dollars.

Figure 1
Figure 1
L’ancienne carte Teensy 3.1

Toutes les cartes proposées par PJRC sont équipées d’un port USB permettant de les programmer aussi facilement que les cartes Arduino.

Sous le capot des cartes Teensy 3.2, 3.5 et 3.6

Regardons sous le capot des cartes Teensy pour voir de quelles ressources elles disposent.

Ces cartes sont construites autour d’un microcontrôleur NXP (ex Freescale) incorporant un cœur de calcul ARM Cortex M4. Les ressources de la carte sont donc essentiellement celles du microcontrôleur. Plus de 7,5 milliards d’unités de microcontrôleurs ARM ont déjà été vendues soit un microcontrôleur par Terrien.

Figure 2
Figure 2
La carte Teensy 3.6

Tension d’alimentation
La tension d’alimentation sur la broche Vin des cartes doit être comprise entre 3,6 et 6,0 V (entre 3,7 et 5,5 V pour les cartes Teensy 3.1 et Teensy LC). Comme pour les cartes Arduino, les cartes Teensy sont automatiquement alimentées par le 5 V de l’interface USB.

La mémoire
Comme toutes les cartes Arduino, les cartes Teensy disposent dans leur microcontrôleur de mémoire Flash, de mémoire RAM et de mémoire EEPROM. La mémoire Flash est 8 à 32 fois plus importante que sur une carte Uno, ce qui n’est pas rien.

Contrairement aux microcontrôleurs AVR, les microcontrôleurs ARM n’ont pas de mémoires séparées pour le programme et les données. Leur architecture est de type Von Neuman, ce qui signifie que l’ensemble de l’espace adressable mémoire est partagé entre Flash, RAM et EEPROM.
Les cartes disposent de canaux d’accès direct à la mémoire (DMA Direct Memory Access) permettant des lectures ou écritures en mémoire sans passer par le processeur, un gage supplémentaire de performance.

Les broches d’entrée-sorties
Les cartes Teensy sont vendues nues et il faut donc souder des connecteurs en périphérie le long des grands côtés. Moyennant un prix un peu plus élevé, il est possible d’obtenir les cartes avec les connecteurs déjà soudés. Cependant, vu le nombre élevé de broches, toutes ne se retrouvent pas sur les connecteurs et certaines ne sont accessibles qu’en soudant un fil sur le verso de la carte ou, préférablement, un connecteur CMS comme montré à la figure 3.

Figure 3
Figure 3
Type de connecteur CMS
À souder au verso pour accéder aux broches supplémentaires

Les broches numériques d’entrée-sortie fonctionnent en 3,3 V et délivrent un courant de 10 mA en sortie. En entrée, les broches tolèrent une tension de 5 V excepté pour la Teensy 3.6 où il ne faut pas appliquer une tension supérieure à 3,3 V sous peine de détruire le microcontrôleur. Toutes les broches numériques sont capables de générer des interruptions. Les entrées analogiques permettent de transformer un signal analogique en valeur numérique grâce à deux convertisseurs analogique-numérique opérant sur 13 bits. Mais il existe aussi des sorties analogiques qui font l’opération inverse grâce à un convertisseur numérique-analogique opérant sur 12 bits. Attention : les broches analogiques ne sont pas tolérantes au 5 V et il ne faut donc jamais appliquer une tension supérieure à 3,3 V. La tolérance au 5 V n’existe donc que pour les broches numériques (digital input output) des cartes 3.2 et 3.5.

Certaines broches sont dotées de la fonction Touch Sensing grâce à la fonction touchRead ; il s’agit d’une détection capacitive basée sur une architecture à double oscillateur. Un des oscillateurs est relié à la broche et oscille en fonction de sa capacitance alors que l’autre oscillateur dispose de sa propre capacité de référence. En comparant les deux oscillations, on obtient la capacitance de la broche et le résultat est donné sur 16 bits.

Timers
Les timers présents dans le microcontrôleur permettent notamment de générer de la PWM sur un nombre élevé de broches.

Sur les Teensy 3.x, la fréquence par défaut des PWM est de 488,28Hz. Cette fréquence peut être changée en utilisant les fonctions analogWriteFrequency et analogWriteResolution. Consultez la page de PJRC pour plus de précisions. Bien évidemment, un timer pilotant plusieurs broches PWM, le changement de fréquence d’une broche conduira également à changer la fréquence des autres broches pilotées par le même timer.

Communication
C’est dans le domaine de la communication que les cartes Teensy peuvent surtout se révéler performantes. On trouve par exemple un ou plusieurs ports USB, des ports série (signaux RX et TX), une ou plusieurs interface SPI (Serial Peripheral Interface, signaux MOSI, MISO, SCK et CS), plusieurs ports I2C (signaux SDA et SCL), une ou plusieurs interfaces CAN (Controller Area Network, signaux CANRX et CANTX), deux sorties audio, parfois un port SD Card et parfois un port Ethernet.

Tableau résumant les principales caractéristiques des cartes Teensy
Le tableau ci-dessous vous permettra de choisir votre carte en fonction de vos besoins :

Principales caractéristiques des cartes Teensy
CARTETeensy 3.2Teensy 3.5Teensy 3.6
Taille (mm) 36x23 61x23 61x23
Fréquence d’horloge (MHz) 72 120 180
Overclock (MHz) 96 168 240
Mémoire Flash (kilo-octets) 256 512 1024
RAM (kilo-octets) 64 256 256
EEPROM (octets) 2048 4096 4096
Canaux DMA 16 16 32
E/S numériques 34 58 58
E/S numériques sur connecteurs 24 40 40
Entrées analogiques 21 27 25
Sorties analogiques 1 2 2
Broches Touch Sensing 12 0 11
Timers 12 17 19
Broches PWM 12 20 22
Ports USB 1 1 2
Ports série (RX, TX) 3 6 6
SPI (MOSI, MISO, SCK, CS) 1 3 3
I2C (SDA, SCL) 2 3 4
CAN (CANRX, CANTX) 1 1 2
Sorties audio 2 2 2
SD Card 0 1 1
Ethernet 0 1 1

Brochage des cartes Teensy
La figure 4 montre, à titre d’exemple, le brochage de la carte Teensy 3.6. Pour les autres cartes il suffit de se référer à cette page du site de PJRC

Figure 4
Figure 4
Brochage de la carte Teensy 3.6
Document PJRC. Cliquez sur l’image pour l’agrandir

Programmation des cartes Teensy

Maintenant que nous avons vu les ressources des cartes Teensy, il est temps de voir comment les programmer. La méthode est décrite en détail sur le site de PJRC ou plutôt les méthodes car elles sont au nombre de deux. La première consiste à télécharger un programme appelé "Teensy Loader", la deuxième consiste à télécharger un Add-On pour l’IDE d’Arduino. C’est cette deuxième méthode que nous allons détailler ici.

Commencez par télécharger TeensyduinoInstall. Ce programme existe pour les trois systèmes d’exploitation Windows, Mac et Linux. Il vous suffira de lancer ce programme d’installation et de suivre la procédure en cliquant sur "Next". Avec Windows 10, il n’y a pas de drivers à installer. L’installation doit se faire là où se trouve arduino.exe : un écran vous demandera de confirmer ou de modifier le chemin d’accès. Avant d’installer Teensyduino, pensez à mettre à jour votre version du logiciel Arduino. De plus, l’IDE ne doit pas être ouvert car cela génère une erreur à l’installation ; pensez donc à le refermer avant de lancer TeensyduinoInstall.

Le dernier écran d’installation vous rappelle comment charger vos programmes dans la carte Teensy suivant que c’est une première utilisation (auquel cas il faut utiliser le bouton poussoir de la carte) ou non (auquel cas vous faites comme vous avez l’habitude avec vos cartes Arduino). La figure 5 montre que vos carte Teensy sont reconnues par l’IDE lorsque l’installation a été réussie.

Figure 5
Figure 5
Menu Outils de l’IDE montrant les cartes Teensy

Petit exemple de programmation

Vous pouvez maintenant essayer de modifier le programme Blink donné en exemple pour les cartes Teensy comme le montre la figure 6.

Figure 6
Figure 6
Exemple Blink pour les cartes Teensy

Les cartes sont vendues programmées avec cet exemple si bien que lorsqu’on les alimente, la DEL se met à clignoter mais vous pouvez changer sa fréquence. En fonction de votre carte Teensy, vous pouvez avoir à modifier la ligne 10 comme indiqué dans les commentaires juste au dessus. Modifiez ensuite les delay() aux lignes 24 et 26 conformément au rythme que vous voulez produire. Ensuite, téléversez le programme dans votre carte Teensy.

Sur une carte Uno, le programme Blink occupe 942 octets de mémoire Flash et 9 octets de mémoire RAM. Sur la carte Teensy 3.6, ce même programme occupe 10716 octets de mémoire Flash et 3828 octet de RAM. La différence est parfois plus flagrante ; par exemple, l’exemple RightLeft de la bibliothèque SlowMotionServo occupe 20756 octets de Flash sur la carte Teensy 3.6, soit 1% de la mémoire de programme, alors que sur une carte Uno, il occupe 5294 octets soit 16% de l’espace total.

Les performances

Les Arduino à base d’AVR sont généralement suffisamment puissants pour la plupart des applications que nous sommes amenés à mettre en œuvre. Dans quelques cas il est nécessaire de passer à une carte plus puissante. La raison est souvent la quête d’un espace mémoire plus important mais il arrive également que les performances de calcul soient insuffisantes sur un Uno ou un Mega. Les Teensy 3.2 et 3.6 embarquent des microcontrôleurs 32 bits ayant une fréquence d’horloge entre 4,5 et 15 fois plus élevée que celle d’un Uno mais il disposent également de matériel supplémentaire comme une unité de division entière (Teensy 3.2 et 3.6) ou une unité de calcul sur les nombres flottants (Teensy 3.6). Une fois tout ceci mis ensemble, concrètement, quel gain de performance peut-on attendre ?

Pour répondre à cette question, nous nous sommes mis en quête d’un programme test, ou benchmark, permettant de mesurer la vitesse de différents calculs. Le benchmark choisis est le Arduino Speed Test Benchmarking Program qui mesure différents types d’opération : manipulation des broches, calculs de conversion de chaines en nombre, calcul sur différentes tailles de nombres, calculs flottant, etc. Les mesures ont été normalisées par rapport à un Arduino Uno qui a donc, sur toutes les figures ci-dessous, un résultat de 1.

Le benchmark a été compilé pour le Teensy 3.2 à 72MHz, le même mais overclocké à 96MHz, le Teensy 3.6 à 180MHz et le même overclocké à 240MHz. Plus la barre est longue et plus le microcontrôleur est rapide.

Manipulation des broches

PNG - 83.6 kio

Alors qu’il s’agit de lecture ou d’écriture de bits dans des registres, on constate malgré tout un gain supérieur au rapport de fréquence d’horloge. Le Teensy 3.6 cadencé à 240MHz est entre 16 et 77 fois plus rapide qu’un Uno pour cette tâche. On peut malgré tout noter un biais pour analogRead. En effet, cette fonction lance une conversion analogique numérique et attend que le convertisseur ait terminé son travail avant de lire et retourner la valeur convertie. Les performances de cette fonction dépendent donc majoritairement de la vitesse de conversion, et donc de l’horloge associée au convertisseur, et non de la vitesse d’exécution des instructions du microcontrôleur. Sur le Uno, l’horloge du convertisseur est programmée à 125kHz alors que sur le Teensy 3.6, qu’il fonctionne à 240MHz ou à 180MHz, elle est programmée à 1,5MHz.

Conversion d’entier en chaine et manipulation de bits

PNG - 74.9 kio

Il s’agit ici de conversion de nombre entier en chaîne, de nombre flottant en chaîne [2], d’opérations sur les bits et du nop. ce dernier consiste juste à exécuter une instruction nop, c’est à dire no operation. En substance une instruction qui ne fait rien. Assez logiquement on a presque exactement le rapport de fréquence d’horloge pour ce dernier. Ici aussi le gain est très important avec un rapport jusqu’à 180 pour la conversion d’un entier long en chaîne (ltoa, long to ascii).

Calculs sur des octets

PNG - 60 kio

Le Uno étant un microcontrôleur 8 bits, on devrait trouver ici un rapport proche du rapport de fréquence d’horloge. Or le Teensy est meilleur que cela pour les opérations simples (addition et multiplication) et s’envole pour la division avec un rapport jusqu’à 169. En effet, à la différence des microcontrôleurs ARM des Teensy, l’AVR ne dispose pas d’instruction de division et cette dernière est donc effectuée via un programme.

Calculs sur des entiers

PNG - 64.6 kio

Le type de donnée utilisé ici est un int. C’est à dire 2 octets (16 bits) sur un AVR et 4 octets (32 bits) sur un ARM. L’AVR est handicapé car comme il travaille sur 8 bits, il lui faut plusieurs instructions pour effectuer l’opération alors que l’ARM travaille sur sa taille de données préférée. Ici aussi la différence est particulièrement marquée pour la division avec un rapport allant jusqu’à 594 pour le Teensy 3.6 à 240MHz.

Calculs sur des entiers longs

PNG - 63.4 kio

Ici l’AVR et l’ARM travaillent sur des données de 4 octets et l’ARM est donc très avantagé. La division enfonce complètement l’AVR avec un rapport grimpant à un impressionnant 1610.

Calculs sur des nombres flottants

PNG - 63 kio

Enfin, on voit ici l’avantage de disposer d’une unité de calculs flottants matérielle plutôt que d’émuler les calculs en logiciel. Le microcontrôleur de la Teensy 3.2 ne dispose pas d’une telle unité et présente un rapport de performance significatif mais bien moins impressionnant que celui de la Teensy 3.6.

Conclusion

Les cartes Teensy sont programmables avec l’IDE d’Arduino et de ce fait, font partie de l’écosystème Arduino. Leurs performances sont cependant bien supérieures pour une gamme de prix identique. Toutefois, ces cartes sont livrées sans connecteur et sont donc réservées à ceux qui bricolent un peu en électronique. Les sorties numériques fonctionnent en 3,3 V et certaines entrées ne sont pas résistantes au 5 V. De plus, une tension continue de 5 V n’est pas disponible sur ces cartes (ou difficilement accessible comme sur le verso de la Teensy 3.6), ce qui peut être un problème en fonction de l’électronique que la carte doit contrôler. Les cartes Teensy sont une très bonne solution pour les applications qui demandent beaucoup de ressources comme les écrans couleurs tactiles dont l’utilisation en modélisme ferroviaire permet la conception de TCO ou encore une application de gestion du cantonnement et des itinéraires offrant ainsi la possibilité de se passer d’un PC.

[1À fréquence égale, un Cortex-M0+ sera moins performant qu’un Cortex-M4

[2On utilise assez rarement ces fonctions directement mais elles sont utilisées par les classes String, Stream et Serial par exemple.

65 Messages

  • Les cartes Teensy 10 mars 2019 11:11, par yves

    Je ne sais pas trop si ce type de carte, malgré ces performances, sont facilement utilisables par des novices en électronique (dont je fais partie) ? Les contraintes me semblent plus importantes dans leur mise en œuvre ?

    Répondre

    • Les cartes Teensy 10 mars 2019 11:49, par Christian

      Bonjour Yves,

      Ne croyez pas cela : ces cartes s’utilisent comme les cartes Arduino mais il faut être en 3,3 V (c’est la seule contrainte).
      Dans certains cas, le fait de respecter le 3,3 V peut paraître contraignant car l’électronique autour doit également être en 3,3 V ou bien il faut des adaptateurs de tension.
      Dans d’autres cas, le fait d’être en 3,3 V peut aussi être un avantage. Certains dispositifs modernes, comme par exemple le lecteur de puce RFID MFRC522, sont en 3,3 V. Donc une carte Teensy est mieux adaptée qu’une carte Arduino qui reste en 5 V.
      Enfin, faire du Teensy parce que c’est moderne n’a pas de sens : il faut faire du Teensy si ce que propose la carte est un avantage pour vous (présence de bus CAN par exemple) et que cela réduit l’électronique derrière donc le coût final. Ou bien parce qu’il faut plus de mémoire ou encore plus de rapidité.
      Aujourd’hui, vous êtes novice, demain vous serez confirmé, expert peut-être, cela ne dépend que de vous. Et vous utiliserez Teensy, Nucleo, ESP ou Arduino selon vos besoins. C’est pour cette raison que nous présentons ces cartes.
      Cordialement.

      Christian

      Répondre

      • Les cartes Teensy 9 décembre 2020 09:25, par fred

        Bonjour,

        Oui, malgré la possibilité de pouvoir les alimenter en 5V, les entrées ne supportent pas plus de 3.3V, ce qui peut freiner l’envie d’utiliser ces micro contrôleurs.

        Répondre

        • Les cartes Teensy 9 décembre 2020 10:22, par Christian

          Je ne vois pas ce qu’il y a de contraignant : comme dit Jean-Luc (ci-dessous), quelle différence entre une tension de 5 V ou de 3.3 V ?
          D’ailleurs, la tension de 5 V n’est-elle pas une contrainte vu qu’une pile délivre soit 4,5 V soit 9 V ? Pourtant, cela ne semble gêner personne...
          il existe de petites cartes sur internet qui vous fourniront à la fois 5 V et 3,3 V parce qu’elles sont justement faites pour les cartes à microprocesseur. Profitez en et vous verrez que le 3,3 V n’est absolument pas une contrainte.

          Répondre

          • Les cartes Teensy 9 décembre 2020 12:38, par fred

            Je n’ai pas parlé de contrainte.
            Je suis d’accord avec vous que travailler en 5V ou 3.3V c’est du pareil au même.
            Par frein, je voulais juste dire que tout le monde n’a pas envie de passer au 3.3V ce qui comprend l’achat de composants (mémoires, portes logiques, etc) qui tournent sur la même tension.
            Désolé d’avoir créer cette contradiction, ce n’était pas le but, d’autant que j’apprécie particulièrement Locoduino qui bien souvent me dépanne sur certains points de la programmation.

            Répondre

            • Les cartes Teensy 10 décembre 2020 11:06, par Christian

              Pas de problème, nous n’avions pas mal pris votre remarque.
              Mais justement, notre réponse s’adresse aussi à ceux qui pensent que 3,3 V représente une contrainte. Alors oui, il faut produire ce voltage soit avec une petite carte, soit avec quelques composants. Mais dans cet article, on parle d’une carte Teensy et quand on envisage d’en acheter une, c’est parce que les besoins en ressources le justifient. Alors, l’achat d’une petite alim est bien secondaire.
              Nous espérons, par notre réponse, avoir contribué à encourager les arduineurs à essayer les nouvelles cartes ; ceux-là se rendront compte que 5 V ou 3,3 V, finalement cela ne change pas grand chose.

              Répondre

    • Les cartes Teensy 10 mars 2019 13:48, par Jean-Luc

      En un mot comme en cent : c’est pareil, ni plus ni moins difficile.

      Répondre

  • Les cartes Teensy 10 mars 2019 16:49, par bobyAndCo

     

    Très clair, très bien et très intéressant !

     

    Merci tout d’abord à vous deux de contribuer à nous apporter des nouveautés et de quoi nous remettre en cause. Comme beaucoup sans doute, j’avais entendu parlé de ces cartes Teensy mais sans plus. Il existe tellement de choses aujourd’hui, même si l’on ne parle que de notre petit univers du modélisme ferroviaire.

     

    Quand on regarde les performances et l’équipement on hallucine (3.5 ou 3.6) : Lecteur de carte SD, Ethernet, CAN, 3 ou 4 I2C, 3 SPI, 6 ports série…

     

    J’ai plusieurs questions :

     

    1°- Quel rapport entre Arduino et Teensy ? Plus précisément, ces cartes sont en vente sur le site Arduino.cc, cela veut dire quoi ?

     

    2°- Pourquoi continuer à acheter des Arduino ? Nous n’achetons pas toujours des cartes pour un besoin précis mais pour avoir sous le coude le jour où nous en aurons besoin. Pourquoi, si le prix est comparable, continuer à acheter Arduino ? Je précise que je n’achète des clones Arduino que pour les maquettes et les tests. A l’usage, on ne regrette pas d’avoir investi dans une carte officielle (sauf si on la grille durant la mise au point, d’où -> clone).

     

    3°- Y a t’il tout de même quelques limites non présentées par rapport à un Arduino

     

    4°- Comment être sûr que l’on a affaire à une carte officielle quand on s’apprête à acheter (je ne parle pas de la carte proposée à 2€ :-)

     

    5°- Où se procurer des cartes officielles au meilleur prix ?

     

    Merci par avance de prendre un peu de temps pour répondre à mes questions.

    Répondre

    • Les cartes Teensy 10 mars 2019 19:22, par Christian

      Hello Christophe,

      J’essaie de répondre à tes questions :
      1°/ Les cartes Teensy sont en vente chez Arduino, ce qui laisse à penser qu’un accord peut avoir été conclu entre eux, mais hélas, je ne suis pas assez au courant pour en dire plus. Peut-être Jean-Luc saura cela...
      2°/ Les cartes Teensy sont plus performantes que les cartes Arduino pour un prix comparable, mais elles travaillent en 3,3 V. Cela peut être considéré comme un inconvénient par certains. Tout dépend de ce qu’il y a comme électronique derrière la carte. Enfin, les cartes Arduino sont plus faciles à trouver et les clones sont très bon marché et éprouvés même si la fiabilité à long terme n’est pas garantie. Tout cela pour expliquer que les cartes Arduino (ou clones) continueront à se vendre.
      3°/ Nous n’avons pas fait d’impasse dans cet article, donc je ne connais pas de limite par rapport à un Arduino si ce n’est qu’elles ne sont pas tolérantes au 5 V. (voir l’article)
      4°/ Pour être certain d’avoir une carte officielle, le mieux est de l’acheter chez PJRC. C’est ma solution, d’autres auront peut-être de meilleures combines. A 2 euros, c’est une fausse carte, mais on ne risque que 2 euros (+ le port).
      5°/ Recherche sur le net en comparant bien sûr prix + port. Et en étant certain d’acheter de la Teensy et pas de la Tynsee ! LOL ! Pour acheter de la Teensy officielle, le mieux est déjà de comparer prix + port chez PJRC et chez Arduino, et également chez Lextronic qui vend la gamme complète. Les délais sont assez courts chez ces trois là (de l’ordre d’une semaine maxi chez PJRC lorsque j’ai acheté la mienne).
      Amicalement.

      Répondre

    • Les cartes Teensy 10 mars 2019 20:01, par Jean-Luc
      1. Je ne sais pas. Pour moi si l’API est la même, c’est pareil que la carte soit bleue ou non. Notez qu’historiquement arduino.cc a vendu des Nano qui n’étaient pas fait par Arduino.cc mais Gravitech. Notez qu’ils vendent aussi des shields d’autres marque comme Adafruit.
      2. Disons que si tu déploies en grand nombre des cartes comme la Satellite V1 ou V2, tu vas essayer de minimiser les coûts et aller vers du Nano chinois qui coûte 10 fois moins cher (et donc la carte au complet est 2 fois moins chère). Et comme tu déploies du Nano, il faut bien développer sur du Nano. Pour moi, des cartes comme les Teensy vont trouver leur place dans des unités plus puissantes pour faire tourner une centrale ou un gestionnaire de circulation.
      3. Non.
      4. En évitant eBay et Amazon et en achetant à une boutique qui a pignon sur rue : chez Lextronic, Gotronic, Semageek, Exp-tech, Roboshop.
      5. Voir 4 :)

      Répondre

  • Les cartes Teensy 10 mars 2019 19:27, par bobyAndCo

     

    Merci pour cette réponse.

     

    Personnellement je ne trouve pas que travailler en 3,3v soit un handicap et je préfère même. On voit bien que la tendance évolue dans ce sens.

     

    Commander chez PJRC n’entraine t’il pas des frais de douane ?

    Répondre

    • Les cartes Teensy 10 mars 2019 19:35, par Jean-Luc

      Je pense que si. Christian est passé entre les mailles

      Répondre

      • Les cartes Teensy 10 mars 2019 19:43, par Christian

        Je vous jure que je n’ai soudoyé personne !

        (De la chance ? Je vais quand même tenter le LOTO, on ne sait jamais...)

        Répondre

        • Les cartes Teensy 10 mars 2019 19:46, par Jean-Luc

          Les mailles sont très larges :)
          Dans la foulée tu as aussi évité la TVA.

          Répondre

    • Les cartes Teensy 10 mars 2019 19:36, par Christian

      Peut-être même que dans un avenir pas si lointain, on travaillera tous en 3,3 V pour nos applications.

      Oui, la tendance évolue, les techniques s’améliorent et les prix de ces techniques sont à la baisse. Et nous en profitons.
      Je ne connais pas les projets d’Arduino mais je ne suis pas certain que la carte Uno encore tiendra longtemps par rapport à d’autres cartes possibles avec des µC plus performants. L’avenir nous le dira...

      Les frais de douane sont sans doute possibles comme lorsqu’on commande en Chine, mais l’expérience montre que les petits colis ne sont pas taxés (ou pas souvent pour l’instant). Le risque est donc le même dès qu’on sort de l’Europe, que ce soit les USA ou l’Asie.

      Répondre

  • Les cartes Teensy 11 mars 2019 16:12, par Manu

    Hey, a moins d’avoir mal lu, l’article ne parle pas du fait de pouvoir emuler très facilement clavier, souris ou joystick usb avec les teensy. C’est pourtant une capacité étonnante qui peut être très utile !

    Répondre

    • Les cartes Teensy 11 mars 2019 17:12, par Jean-Luc

      Oui. C’est d’ailleurs la carte préférée des casseurs de mots de passe en force brute au clavier. Mais l’intérêt pour le modélisme ferroviaire est nul et donc nous avons fait le choix de ne pas en parler :)

      Répondre

  • Quel écran tactile bon marché pour une Teensy 3.6 ? 27 mars 2019 16:21, par Tactif Cie

    Bonjour, je viens de commander une Teensy et je me dis que vu ce que je vais en faire (un module d’effets audio) j’utiliserais bien un écran tactile au lieu de me compliquer la vie avec des encodeurs rotatifs, des boutons poussoirs et un écran LCD.

    PJRC en vend un à 15$ qui serait parfait malheureusement il ne semble pas distribué en France et les frais de port sont rédhibitoires.
    Est-ce que quelqu’un a une référence d’écran tactile pour Arduino qui fonctionnerait sans trop de galères sur une Teensy 3.6 ?

    Un affichage 240x320 en 2.8 pouces pour 20 ou 25 €

    Je vois bien des produits en vente sur Amazon.fr mais impossible de savoir s’ils sont compatibles ou pas

    Merci pour votre aide !

    Répondre

  • Les cartes Teensy 28 mars 2019 22:22, par msport

    Pour 6,28€ vous pouvez tester cet afficheur 2.8" qui a un contrôleur ILI9341 dont le driver est disponible pour les Teensy :
    https://www.ebay.fr/itm/2-8-TFT-LCD...

    Répondre

  • Les cartes Teensy 17 avril 2019 21:05, par Benoit92

    Bonjour,
    Le tour d’horizon de Jean-Luc et Christian correspond tout à fait à l’expérience que j’ai eu avec un Teensy 3.2.
    Sur le site PRJC, on peut s’apercevoir qu’il mettent en avant les applications audio (type table de mixage). Il y a en plus un outil graphique qui permet de dessiner un schéma de principe d’un projet et de sortir automatiquement les lignes d’initialisation en en-tête du programme.
    Il existe également une bibliothèque audio très complète (transformée de Fourier par exemple).
    Sur ce site, j’ai vu, par exemple, un projet qui consistait à enregistrer des chauves souris, puis de les reconnaître chacune par leurs signatures sonores.
    Sinon, attention au contrefaçon sur des sites non répertoriés.

    Répondre

  • Bonjour tous,

    La famille des cartes Teensy et la 3.6 en particulier sont devenue mes jouets préférés depuis longtemps, et bravo pour l’article initial que je n’ai fait que survoler mais qui me semble bien valoriser la supériorité des Teensy sans parti-pris !

    Il semblerais qu’ici ce soit le seul forum actif en français spécialisé en Teensy, je pose donc ma question sans lien avec les trains.

    Un des avantages de la Teensy, ou plutôt de son micro-contrôleur, c’est d’avoir un RTC intégrée. Malheureusement, je bute sur un non fonctionnement de la RTC en dehors de l’alimentation principale. J’ai bien connecté une pile sur l’entrée Vb (Vbatterie), j’ai bien un maintien de l’heure tant que la carte est alimentée en USB, mais dés que je débranche/rebranche ma carte, retour vers le 1/1/1970 !

    Une idée ?

    Répondre

  • Les cartes Teensy 16 mai 2019 23:05, par philippeM

    Héhé, vous ne faites pas partir vos trains à l’heure ?????

    Répondre

  • Les cartes Teensy 6 octobre 2019 19:19, par OTTI

    Bonjour, je voudrais acheter une carte TeensyLC, avec un capteur d’inclinaison compatible.
    Pouvez-vous me guider pour l’achat de ceux-ci s’il vous plaît ?

    Répondre

    • Les cartes Teensy 6 octobre 2019 22:06, par msport

      Bonjour,
      vous devriez décrire votre projet de modélisme ferroviaire sur le forum.
      C’est trop spécifique pour le site éditorial.
      Cordialement

      Répondre

  • Les cartes Teensy 31 juillet 2020 18:57, par JM

    Bonjour à tous
    Dans l’univers Arduino compatible, j’aimerais savoir comment se situent les cartes TEENSY vis à vis des cartes ESP 32. Puissance, prix vitesse, etc.
    Merci pour votre réponse et pour la clarté de votre site.
    JM

    Répondre

    • Les cartes Teensy 1er août 2020 10:03, par Christian

      Les cartes qui peuvent être programmées avec l’IDE d’Arduino sont aujourd’hui très nombreuses. Pour comparer deux cartes, encore faut-il savoir ce que l’on veut en faire, c’est-à-dire quel projet on veut réaliser. Sans cela, le comparatif ne ferait que reprendre les caractéristiques générales, ce que tout le monde peut chercher sur internet pour trouver le prix, le nombres d’E/S, la fréquence horloge, etc. Ce serait très insuffisant.
      Par exemple, vous posez la question de la vitesse de la carte ; il ne suffit pas de regarder la valeur du quartz pour parler de vitesse. En effet, une carte ayant une horloge plus rapide n’exécutera pas forcément son programme plus rapidement. Il faut aussi s’intéresser à la structure du microprocesseur. Celui de la carte Arduino Uno exécute la plupart des instructions machines en un seul cycle horloge et c’est cela qui lui confère une certaine rapidité. A quoi sert une horloge quatre fois plus rapide si l’exécution d’une instruction demande quatre ou cinq cycles d’horloge ?
      Reste aussi à prendre en compte le contexte d’utilisation ; une carte Uno sera toujours assez rapide pour nos besoins de modélistes ferroviaires. Mais en fonction du projet, on peut lui préférer une carte WiFi ou bien une carte disposant du CAN.
      Comme vous le voyez, c’est bien le projet qui doit conditionner le choix de la carte et si votre projet est pointu, c’est la lecture des datasheets du microcontrôleur qui pourra seule vous aider à y voir clair, et non un simple test comparatif. Car les possibilités d’une carte sont celles de son microcontrôleur.

      Répondre

  • Les cartes Teensy 31 juillet 2020 19:58, par msport

    Une réponse comme une autre :
    pour le projet centrale wifi DCC++ Can, on a retenu l’ESP32.
    L’article donne quelques pistes, un autre projet dans un autre domaine peut justifier une autre base.

    Voir en ligne : projet centrale wifi DCC++ Can

    Répondre

  • Les cartes Teensy 21 août 2020 08:12, par Rémi

    Bonjour à tous,
    Je viens de tomber sur votre discussion. C’est très intéressant. J’essaye de mettre au point un prototype de télécommande GSM adapté à mes besoins. Et je butte sur des détails. En fait j’utilise un Arduino NANO sur lequel je connecte un module GSM de type sim800L. le NANO ne dispose que d’un port UART qui est ma foi bien pratique pour débogger le script. Donc pour le relier au module GSM, j’ai employé SoftWareSerial comme l’IDE me le proposait. En fait, l’émulateur du port série logiciel monopolise le CPU et ne semble pas fonctionner en full duplex. Résultat mon prototype a parfois des soucis.
    Je me suis dit qu’il suffisait de ne plus utiliser d’émulateur et de connecter le module GSM sur le port UART. Ainsi, plus de soucis... Sauf pour le déboggage qui serait à faire en utilisant un écran lcd par exemple connecté avec i2C sur le NANO.
    Mais en fait, le port UART ne semble pas communiquer avec le module GSM. Il fonctionne bien avec un autre NANO avec un petit programme test, mais pas avec le module GSM. a l’oscillo, je ne vois rien de particulier mis à part le signal TX du module GSM qui ne retombe pas toujours à 0v (un plancher à 2,2v se crée parfois) et si j’y met une résistance de 10K reliée à GND le signal s’effondre tout bonnement...
    Alors, vient ma question, est ce que le Teensy serait une solution. Car il semble posséder plusieurs ports UART ?

    Merci de votre attention.

    Répondre

    • Les cartes Teensy 21 août 2020 10:04, par msport

      Bonjour,
      je n’ai pas regardé le Teensy, mais l’ESP32 a deux UART natifs.

      Répondre

    • Les cartes Teensy 22 août 2020 10:11, par Christian

      Bonjour Rémi,
      Votre projet est intéressant mais ne concerne pas le modélisme ferroviaire.
      Or, ici, nous ne traitons que cela. Désolés si nous ne répondons pas à votre attente mais nous voulons garder notre spécificité par égard envers nos autres lecteurs. Il y a sans doute d’autres sites plus spécialisés dans votre domaine où vous pourrez trouver des réponses.
      Bien cordialement.

      Répondre

      • Les cartes Teensy 22 août 2020 23:59, par trimarco232

        bonsoir,
        juste une précision concernant les uarts :

        • l’esp32 en a 3
        • il existe des clones de nano avec atmega328pb, qui comporte 2 uart

        Répondre

    • Les cartes Teensy 23 août 2020 11:07, par Jean-Luc

      Bonjour,

      le Teensy 3.2 a 3 UART. Les Teensy 3.5 et 3.6 ont 6 UART. une table résume les caractéristiques des Teensy sur le site de PJRC.

      Cordialement.

      Répondre

  • Les cartes Teensy 12 janvier 2021 13:43, par Pascal L

    Bonjour,
    Un des points faible souvent des cartes autres que Arduino (quoi que Arduino aussi !) c’est la compatibilité des librairies non officiels, j’ai dernièrement mis au point une réalisation sur base Arduino Nano que j’ai voulu remplacer par un Arduino Every par manque de capacité mémoire et j’ai été bloqué avec une librairie CAN qui ne voulait pas compiler sur l’Every. Avez vous eu l’occasion de testé le Teensy avec des librairies annexes ??

    Merci pour vos articles

    Voir en ligne : Les cartes Teensy

    Répondre

    • Les cartes Teensy 13 janvier 2021 11:45, par Christian

      La carte Nano Every est un excellent choix qui permet un espace plus grand en mémoire (Flash et SRAM) pour un prix très très attractif et un produit de qualité. C’est du Arduino et les bibliothèques de base sont supposées être opérationnelles.
      Le problème vient des bibliothèques non officielles ; certaines sont régulièrement mises à jour et d’autres non, les auteurs s’en désintéressant pour passer à autres choses.
      Personnellement, je n’ai pas testé de bibliothèques exotiques avec la carte Teensy ; peut-être mon co-auteur l’a-t-il fait mais il est actuellement peu disponible. D’ailleurs, nous essayons de tenir nos lecteurs informés des nouveautés mais le travail ne manque pas et il ne nous est pas possible de tout tester dans notre petite équipe de bénévoles.
      Comme le dit Michel ci-dessous, la carte ESP est peut-être à l’heure actuelle un bon choix aussi : tout dépend du projet qu’on veut réaliser.

      Répondre

      • Les cartes Teensy 13 janvier 2021 19:04, par Pascal L

        Je suis curieux, je vais tenté de faire un essai sur une de ces cartes Teensy à l’occasion. C’est vrai que l’ESP32 est aussi une alternative très intéressante, j’ai déjà fait plusieurs réalisations sur l’ESP12 (ESP8266) très facile à mettre en oeuvre et très compatible, j’étais un peu plus réticent pour l’ESP32 car moins de compatibilité mais j’ai dernièrement fait le pas et c’est vraiment un bon microcontroleur et très abordable.
        Merci pour vos conseils

        Répondre

  • Les cartes Teensy 13 janvier 2021 10:43, par msport

    Bonjour,
    personnellement, pour résoudre le problème de mémoire, je passe à l’ESP32 pour lequel les bibliothèques Arduino sont actuellement mises à jour. Ou en cours de ...
    Cordialement

    Répondre

  • Les cartes Teensy 26 janvier 2021 18:46, par Rémi

    Bonjour, je viens d’essayer un Teensy 3.2. Il a l’air de fonctionner. Mais le compilateur butte sur certaines variables comme les int. Je ne sais pas comment traduire la chose pour que ça fonctionne. Je cherche des exemples mais, c’est assez rare. Pourriez vous m’indiquer des adresses ou un mode d’emploi du TEENSY.
    Votre site est très bien organisé. merci, à plus.

    Répondre

    • Les cartes Teensy 27 janvier 2021 00:43, par Christian

      D’abord, il faudrait que je sache quel compilateur vous utilisez.
      Si vous travaillez avec l’IDE, il faut installer les définitions des cartes Teensy, application Teesyduinoinstall à chercher sur le site de Teensy. Ensuite, en choisissant le bon modèle de carte Teensy dans le menu Outils, cela devrait fonctionner.
      Si vous n’utilisez pas l’IDE, essayez de remplacer les définitions de variables int par uint16_t afin de revenir à du C/C++ traditionnel.
      Pour ce qui est d’un mode d’emploi de cartes Teensy, il y a de nombreux exemples sur internet dont notamment le forum du site PJRC qui pourrait vous être utile.

      Répondre

  • Les cartes Teensy 27 janvier 2021 08:29, par Rémi

    J’utilise l’IDE Arduino. J’ai bien installé tout ce qu’il faut. Dailleurs, je viens de téléverser un genre de blink pour tester la communication avec le PC. Tout fonctionne. Je suis rassuré au sujet de la sortie série N°2 qui fonctionne bien et qui ne nécessite pas de softwareSerial comme sur l’arduino nano, ça c’est une sacrée avancée ! J’avais bien choisi le modèle de teensy. Pour la vitesse de l’horloge interne, il semble que quoi que l’on prenne 24,48 ou 72 MHz ça ne pose pas de probleme. J’ai utilisé une variable byte et int, là ça n’a pas posé de probleme non plus. Alors que sur un autre script adapté à un NANO le compilateur refusait en invoquant une variable int.
    En revanche, j’ai testé une entrée analogique avec analogRead(). je pensait obtenir une résolution de 12bits en fait je n’obtient que 10bits comme avec le NANO. a la différence près que si je relie l’entrée analogique à la masse du TEENSY, j’obtient 1 au lieu de 0 (ce qui n’est pas méchant). mais quand je la relie avec le 3.3v, je ne lis que 1023. J’ai peut être confondu avec l’ESP32 qui disposerait d’une meilleure résolution. J’ai même essayé l’instruction analogReadResolution() qui permet d’obtenir 12 bits sur certains Arduinos. Mais le compilateur n’en veut pas avec le TEENSY. Que faire ? En tout cas, vous avez un super sîte, bien documenté, que je ne me lasse pas de lire. J’apprécie particulièrement la rubrique trucs,astuces et ce qu’il ne faut pas faire. ça sent le vécu et c’est à lire et à relire sans cesse. Le compilateur ne voit pas tout je suis d’accord...

    Répondre

    • Les cartes Teensy 27 janvier 2021 09:54, par Christian

      Tout d’abord, merci pour vos compliments.
      Voilà une foule d’informations que nous allons digérer dans l’espoir de vous apporter une réponse. Mais il serait plus efficace d’ouvrir un fil sur notre forum. En effet, seuls les auteurs sont prévenus de ce qui est posté à la suite d’un article. Sur le forum, vous pouvez avoir l’aide de tous ceux qui sont inscrits et il y en a peut-être qui ont déjà été confrontés à un problème similaire. En plus, sur le forum, vous avez la possibilité de laisser votre programme pour qu’il soit analysé par d’autres. Parfois, on cherche longtemps et c’est une petite chose qui fait planter ; mais il faut la trouver et pour cela, l’union fait la force.

      Répondre

    • Les cartes Teensy 27 janvier 2021 11:34, par Jean-Luc

      Bonjour,
      Je viens d’essayer analogReadResolution(12); et ça compile.

      Répondre

      • Les cartes Teensy 27 janvier 2021 12:19, par Christian

        C’est une excellente nouvelle !
        Mais j’en reviens à mon idée d’ouvrir un fil ; ce serait intéressant pour que VOUS puissiez apporter votre expérience aux autres car après ces quelques échanges, votre niveau me paraît suffisamment bon pour que je vous incite à rejoindre notre petit groupe. C’est vrai que nous avons présenté les cartes Teensy, mais peu parmi nous les utilisent vraiment (mais il y a tant de choses à faire !).
        A méditer, mais la balle est dans votre camp. ;-)

        Répondre

  • Les cartes Teensy 27 janvier 2021 19:08, par Rémi

    Avec mon TEENSY 3.2, je viens d’essayer analogReadResolution(12) ; sans succès, le compilateur n’en veut pas. Si je tape analogRead(12) ; (12) revient au même que (A12) il utilise l’entrée A12. Je veux bien créer un fil, mais comment ? je ne suis pas un connaisseur. Je suis allé sur PJRC, ils m’ont envoyé chez LECTRONICS. Selon eux, le TEENSY a 21 entrées analogiques de 13 bits utilisables / 16 bits hardware. Je pense que cela vient du compilateur. J’ai peut être pas la même version que vous.

    Répondre

    • Les cartes Teensy 27 janvier 2021 20:27, par Christian

      Pour créer un fil sur notre forum, c’est assez simple. Il suffit d’aller sur le forum, puis sur Inscrivez-vous ; après avoir accepté les conditions générales, il n’y a qu’à remplir les cases du formulaire proposé.
      Une fois inscrit, vous pouvez vous présenter aux autres mais uniquement si vous en avez envie. Ensuite, vous pouvez aller dans Vos projets ou bien Composants de la page d’accueil du forum, et ouvrir un nouveau sujet (un fil) au sujet des cartes Teensy.
      Pour ce qui est du problème, je vais essayer d’y réfléchir et je reviendrai vers vous.

      Répondre

  • Les cartes Teensy 27 janvier 2021 23:40, par Rémi

    Merci à Christian et à Jean Luc pour votre patience à mon égard. Je viens seulement de comprendre que l’instruction proposée par Jean Luc est à placer dans le setup. Pour indiquer la résolution recherchée. Et non pas dans la boucle LOOP (crétin que je suis) Désormais tout fonctionne à la perfection. J’ai donc poussé la chose jusqu’à 16 bits par paliers. Effectivement on perçoit des aléas dans l’échantillonnage. Qui sont à mon sens inévitables. J’ai un ami qui en connait un brin sur l’échantillonnage. Selon lui un convertisseur qui affiche (x)Bits, ne devrait être utilisé qu’à (x-2)Bits pour faire des mesures ponctuelles. Donc dans le cas du TEENSY 3.2 il ne faudrait pas dépasser 14 bits. ça m’a tout l’air de coller à ce principe. Je me rend compte que sur cet aspect le TEENSY surpasse de très loin l’Arduino NANO qui affiche une résolution de 10 bits et que personnellement je rétrécirai à 9 voire 8. Le NANO sur lequel j’ai sué pour arriver à lui faire mesurer le signal d’un capteur de pression. J’ai bricolé une tension de référence à 4.53V avec une diode programmable TL431 et quelques résistances en lieu et place du 5v de l’alimentation. Oui, j’ai buché sur ce genre de détail pendant des heures. Dans le SETUP il fallait mettre analogReference(EXTERNAL) ; pour tirer parti de la nouvelle référence de tension. Et j’ai trouvé par hasard que l’échantillonnage ne dépendait pas seulement de la tension de référence comme indiqué dans la bible de l’Arduino mais fluctuait également au gré de la tension d’alimentation de l’Arduino. En gros selon ma trouvaille, il faut stabiliser ces 2 tensions pour réaliser de bons échantillonnages avec un Arduino NANO. Je ne suis pas très calé en matière de modélisme ferroviaire. Je viens d’échouer à la question d’entrée de votre Fil. Et si je peux apporter ne serait ce qu’une seule contribution à votre site ce serait bien celle là. Le TEENSY 3.2 m’a tout l’air d’être une sacrée machine. Et si j’ai pu mesurer des pressions allant jusqu’à 16 bars avec une résolution 1/100 de bar avec un Arduino NANO, je vous laisse imaginer ce que l’on pourrait faire avec un TEENSY qui en principe serait 64 fois plus précis.(6 bits)
    Encore merci à vous de m’avoir éclairé. Le TEENSY possède une sortie analogique (A14/DAC) Evidement, je l’ai testée en faisant des paliers. J’ai mesuré une tension résiduelle de 3.2mV avec la conversion d’un 0. C’est pas un drame, mais c’est peut être génant pour un puriste. Je pense qu’on peut y remédier en plaçant un ampli op avec un gain unitaire sur lequel on soustrait 3.2mV. Le TEENSY présente un inconvénient majeur par rapport à l’arduino. On ne trouve pas beaucoup d’infos, et d’exemples alors que l’arduino fait l’objet de millions de commentaires. Faisons en sorte de le rendre attractif car il le mérite. Et puis je conseille à tous ceux qui hésitent encore à l’employer de le tenir dans leurs doigts quelques instants. En ce qui me concerne, cela a été l’élément déclencheur. J’ai été fasciné ne serait ce qu’un instant...

    Répondre

    • Les cartes Teensy 28 janvier 2021 09:48, par Christian

      Jean-Luc et moi ne pouvons que nous réjouir de cette fin heureuse. Ce que vous écrivez aujourd’hui montre une certaine obstination à comprendre et résoudre un problème et nous espérons que cela incitera d’autres programmeurs à ne jamais baissé les bras. Sans aucun doute, les explications données pourront servir à d’autres, même si nous ne sommes pas dans le domaine du modélisme ferroviaire. Mais après tout, il n’y a pas que les modélistes qui apprécient notre site, ce dont nous sommes aussi assez fiers. Bonne continuation à vous et au cas où, vous savez où nous trouver.

      Répondre

    • Les cartes Teensy 28 janvier 2021 21:25, par Jean-Luc

      Bonjour. Je ne comprends pas trop. Du point de vue de l’existence d’une fonction, le compilateur est incapable de faire la différence entre appeler analogReadResolution(); De setup ou de loop.
      Un lecture analogique précise dépend plus de la qualité de la liaison entre le capteur et le MCU. que de l’ADC lui même. Et effectivement la qualité de l’alimentation joue. Le 5V venant de l’USB semble particulièrement bruité.

      Répondre

      • Les cartes Teensy 29 janvier 2021 11:26, par Rémi

        Bonjour Jean Luc, AnalogReadResolution() est en fait une commande ou une fonction que l’on utilise pour définir la résolution de l’échantillonage. Moi, j’avais confondu la commande analogReadResolution() avec l’instruction analogRead(). La commande, n’est envoyée qu’une fois au préalable et on place la résolution en bit entre parentheses. et ensuite on éxecute l’instruction analogRead() avec entre parenthese le N° d’entrée. et ce, autant de fois qu’on le veut échantilloner. Tout est parti de ma confusion du départ. Il existe l’équivalent pour le DAC en broche A14. on a analogWriteResolution() et analogWrite(). Pourquoi n’y a t’il qu’un seul DAC et 21 CAN sur le TEENSY 3.2 ?
        J’ai l’impression qu’il n’y a qu’un seul CAN qui est relié par un multiplexeur sur les 21 broches. Sur l’Arduino c’est pareil avec un multiplexeur qui va sur les 8 broches sur le NANO. mais il n’y a pas de DAC. Sachant que dans un programme on n’échantillonne qu’une entrée à la fois. donc inutile d’installer 21 CAN dans le microcontroleur, ce serait une folie financiere. Par contre, le DAC est tout seul et reste relié à la broche A14. ainsi la tension analogique obtenue par conversion d’une valeur numérique reste stable sur la broche du DAC. S’il y avait un multiplexeur, le signal de sortie analogique serait interrompu chaque fois qu’on le relierait à une autre broche, ce qui poserait des problèmes par la suite. Imagines le DAC relié à un accélérateur de moteur par exemple. Ah Ah...
        En fin de compte, j’avais trouvé un exemple d’usage du DAC sur le TEENSY qui mentionnait l’usage d’analogWriteResolution() comme fonction et analogWrite() comme instruction. Et ça m’a aidé à piger.

        Comme tu dis, il y a du bruit sur l’alimentation venant du PC. Mais, l’échantillonnage est une fonction qui génère également du bruit par les commutateurs internes du CAN. Et comme le dit également mon ami, un CAN commet des erreurs. Donc, en excluant les 2 bits de poids faible, on ne tient plus compte des erreurs. C’est un peu simpliste, mais, efficace. Le can du TEENSY propose une résolution de 16 bits, c’est énorme face aux 10 bits de l’arduino NANO. AVec le NANO si on enlève 2 bits il n’en reste plus que 8 mais avec le TEENSY il en reste encore 14. C’est énorme... Cela ouvre des horizons jusque là impossibles avec le NANO. Je teste et j’essaye le TEENSY 3.2 en ce moment. Le compilateur n’est plus le même du tout, même si la facade est identique. Il est moins pratique pour pointer les erreurs comme le faisait celui de l’arduino. Il offre moulte possibilités de menus entre le rapide, le moins gros et tout un tas de détails que je ne comprend pas encore. Le téléversement nécessite l’appui sur le bouton et parfois il ne faut pas appuyer sinon ça plante et il faut déconnecter pour que tout revienne dans l’ordre. J’ai testé la sortie Serial2 elle doit disposer d’un buffer > à 64 octets. Sur le NANO, ça me posait de gros problèmes. Par contre, le compilateur n’apprécie pas du tout qu’on utilise stp et index comme nom de variable, ce sont des mots clefs pour lui. Le peu de chose que j’ai pu obtenir sur l’origine du TEENSY serait qu’il a été développé par LEXTRONIC et Paul Stoffregen. Ce qui serait un gage de qualité. Je parle au conditionnel. Paul StoF.... a réalisé les modules Software Serial et altsoft serial pour les arduinos. Il a du en baver pas mal avec ça. Ce qui expliquerait, que pour le TEENSY il ait particulièrement soigné la chose en chosissant d’y placer les 3 uarts. Afin de nous rendre la vie plus facile. Ce genre de détail change tout. J’ai ’impression que le TEENSY est en fait un ARDUINO NANO revu et corrigé sur qusiment tous les plans. ça n’engage que moi. Il m’interesse de plus en plus ce TEENSY... Merci de me l’avoir présenté.

        Répondre

        • Les cartes Teensy 30 janvier 2021 09:45, par Jean-Luc

          Bonjour,
          Je serais surpris que Lextronic ait quelque chose à voir dans la conception de ces cartes. Ils sont juste revendeurs. PJRC.COM LLC est la propriété de Paul Stoffregen et de sa compagne Robin Coon avec au total 4 employés (https://www.linkedin.com/in/paulsto...). La société est basée dans l’Oregon. Paul semble développer le hard et le soft seul. Voir son GitHub et ses 245 repository : https://github.com/PaulStoffregen.
          Mais tout ça n’existerait pas sans les micro-contrôleurs employés qui sont aujourd’hui fabriqués par NXP qui a racheté Freescale (ex Motorola) il y a quelques années.

          Répondre

  • Les cartes Teensy 30 janvier 2021 13:52, par Rémi

    Bonjour, De toute évidence, mes sources n’étaient pas bonnes à propos de Lextronic. Mais je l’ai vu quelque part. J’ai honte d’avoir colporté une inexactitude sans l’avoir vérifiée. En tout cas, Paul S. est un maître dans son domaine, et savoir que le Teensy vient de chez lui est rassurant. Je n’avais pas jusque là prêté attention au lien affiché sur le petit carton du Teensy. J’y ai trouvé de bonnes infos. www.pjrc.com/teensy. clic sur "Getting Started". Il y a de quoi satisfaire plein de curiosités. Là aussi, je n’avais pas eu le bon déclic dès le départ. Alors que l’info était sous mon nez. Je suis impardonnable. Paul S. me fait penser à Steeve Wozniak qui a conçu l’Apple2. En 1985, j’ai essayé de comprendre ses programmes en assembleur. Je m’y suis exercé un petit peu avec le 6502. Mais c’est très rude... Je ne sais pas si j’aurai la force et le courage de vouloir étudier le langage machine utilisé par un arduino ou par un teensy. Je crois que Christian s’y connait. Il me semble avoir vu un article où il expliquait avoir écrit un script avec une trentaine d’octets. Cela résume bien les possibilités offertes par l’usage du langage originel d’un cpu. Mais c’est un travail de titan avant de pouvoir maitriser le langage et l’environnement. En tout cas, ça laisse rêveur... J’essaye avant tout de me familiariser avec le C++. C’est déjà assez dur pour moi.

    Répondre

    • Les cartes Teensy 30 janvier 2021 14:12, par Christian

      Je "bricole" en assembleur, tout au plus. Mais nous avons commencé une série d’articles non pas pour inciter les gens à s’y mettre, mais pour leur montrer dans quel cas on peut être obligé de s’y mettre. Pour nous qui faisons du modélisme ferroviaire, un tel cas arrive rarement. C’est juste une découverte de l’assembleur, mais cette découverte demande déjà beaucoup de travail à ceux qui voudront participer.
      Et je remercie Jean-Luc qui m’apporte toute son aide, pour que l’article soit encore plus rigoureux par la lecture qu’il en refait (preuve qu’il s’y connait aussi et peut-être même plus que moi, même si lui n’a jamais jugé que cela pourrait être utile dans notre domaine). En tout cas, il m’a donné des devoirs pour mon WE ;-), mais cela part d’un bon sentiment car le but est que notre site tienne la route.
      Une bonne maitrise du C++ est à mon avis plus payante dans notre domaine. Mais parfois, on a envie d’aller jouer dans la cour d’à côté. Cela fait partie du plaisir qu’on peut trouver dans l’utilisation des microcontrôleurs.

      Répondre

  • Les cartes Teensy 31 janvier 2021 13:38, par Rémi

    Bonjour Christian,
    Je comprends parfaitement ton point de vue sur l’assembleur,ses avantages et ses inconvénients. Mais alors s’il est possible d’appeler des routines assembleur avec le langage C, cela serait très pratique. Car il serait possible d’en tirer le meilleur parti (vitesse, fonction créée sur mesure...) et cela en gardant la souplesse du langage C pour le reste du script. Je me souviens qu’avec le basic de l’Apple2, il suffisait de faire CALL quelquechose pour exécuter une petite routine placée à un endroit. La routine se terminait par RTS (ReTurn from Subroutine) et le tour était joué. Avec PEEK() on lisait la valeur contenue à une adresse et avec POKE(x,data) on y écrivait. Cela permettait de faire des petits traitements batch avec une vitesse suffisante et de communiquer avec le programme principal qui lui s’exécutait à un rythme assez lent. Exactement comme avec EEPROM.read() et EEPROM.write() mais pour de la RAM. Il ne suffisait que de connaitre une petite partie de l’environnement de la machine pour pouvoir y parvenir. Il y a plus de 30 ans, je m’était amusé à échantillonner les signaux IR des télécommandes que j’avais sous la main. La résolution de mon CAN était de 1 bit. 0 pas de signal IR, et 1 avec le signal. Dur de faire plus simple. L’Apple2 n’avait pas de convertisseur. Ensuite, je les avait étudiés de manière à en faire ressortir les caractéristiques générales en vue de les coder le plus simplement possible. J’y suis arrivé. Je pouvais donc synthétiser un signal à partir d’un code très simple. Ce qui m’a permis de différencier les différentes touches de chaque télécommandes. Par contre, les signaux IR générés par mon système n’étaient pas reconnus par les appareils sensés les reconnaitre. Inutile de dire, que je n’avais pas d’oscilloscope et pas d’internet. J’ai fini par comprendre plus tard qu’il fallait créer une porteuse aux alentours de 37 ou 38 KHz et l’intégrer au signal IR. Quand ce fut fait, mon Apple pilotait mon lecteur de CD. Un peu plus tard, j’ai dégoté un connecteur qui en le raccourcissant pouvait s’intégrer sur un des slots de L’Apple. Et avec quelques circuits logiques, j’ai pu réaliser une carte d’acquisition sur 8 bits. Mon Apple était devenu un analyseur logique. Certes, la vitesse était très limitée, mais c’était déjà quelquechose.
    Mon témoignage peut faire sourire, mais c’est du vécu. L’année dernière quand j’ai découvert l’Arduino, ça ma rappelé des souvenirs. Alors, s’il existe un moyen de passer du script en C++ à une routine écrite en assembleur, je suis partant pour essayer. Dire que ça va changer la face du monde, non, mais sait on jamais, on peut trouver une application qui puisse profiter à d’autres. Et pourquoi pas profiter aux trains miniatures...

    Répondre

    • Les cartes Teensy 31 janvier 2021 17:21, par Christian

      Un programme en C++ qui appelle une routine en assembleur ?
      C’est justement l’objet du sixième article de la série que nous publions actuellement.
      Il y a aussi une section dans notre forum qui permet de traiter de différents sujets ; poursuivre là-bas cette conversation me paraitrait plus appropriée car nous en arrivons maintenant à parler de choses qui n’ont plus rien à voir avec les cartes Teensy... Or, cet espace est avant tout fait pour évoquer l’article.

      Répondre

  • Les cartes Teensy 31 mars 2021 09:32, par Rémi

    Bonjour à tous,
    Toujours sur l’étude du Teensy 3.2 je progresse lentement. Hier, j’ai voulu lui connecter un afficheur LCD 20x4 caractères avec interface i2c le tout alimenté en 5v en utilisant les broches 18 & 19 du Teensy 3.2. sans résultat je dois dire... Après m’etre renseigné, j’ai trouvé un article sur le net qui proposait de dessouder 2 résistances de 4,7K sur l’interface i2c du module. En fait, ce sont des resistances pullup sur SCL et SDA qui les maintiennent à 5v. J’ai eu peur d’avoir grillé le Teensy. Mais non, il a tenu bon. Je reprends le test après avoir retiré les résistances. toujours rien. Normal, les lignes restaient à 0v ce coup là. J’ai cherché une masse sur l’inferface i2c et y ai installé 2 ponts de résistances, 1 pour SCL et 1 pour SDA de façon à les mettre à 3,3v. hélas, je n’avais pas les bonnes valeurs, 10k et 22k. Ce qui a placé les tensions à 3,58v au lieu de 3,3. J’ai testé quand même. cà marche.
    Je suis content, cela m’a permis de m’affranchir du PC pour surveiller le montage sur une durée plus longue. Il existe certainement, des écrans LCD adaptés au 3.3v. Mais bon, j’ai fais avec les moyens du bord. J’ai compris surtout qu’une ligne I2C est prévue pour fonctionner avec des circuits disposants de sorties à collecteur ouvert. Une sortie CMOS même si elle ne fonctionne pas comme ça, elle peut quand même drainer le courant de la ligne SCL ou SDA et faire chuter sa tension. Je me suis couché moins bête.

    Répondre

    • Les cartes Teensy 31 mars 2021 09:46, par Christian

      Merci pour ce retour d’expérience qui sera sans doute utile à d’autres.

      Répondre

  • Les cartes Teensy 8 juin 2023 20:51, par Mevel Yves

    Bonjour à tous,

    Comme vous l’avez dit, la carte Teensy est conçu pour faire du traitement audio et des FFT ;
    l’acquisition se fait via le contrôleur DMA qui transfert les résultats de l’acquisition (ADC) vers la mémoire avec une fréquence contrôlée par un timer.
    La FPU permet de faire le traitement audio sans se préoccuper du signe du nombre.

    Pour le train l’intérêt majeur c’est le nombre d’entrée-sorties ; il y a un bus série SPI qui permet d’interfacé un écran OLED, 2 bus CAN, et les nombreux PWM, Une SD CARD, une interface Ethernet. La compatibilité ARduino a été visée par la présence de l’EEPROM. 

    Nota : Il existe une carte Teensy 4.1 embarquant un ARM cortex M7

    Répondre

    • Les cartes Teensy 9 juin 2023 10:05, par Christian

      A l’époque où nous avons écrit l’article, il n’y avait pas le choix des cartes qu’on trouve aujourd’hui. La carte Teensy était donc une des premières à proposer de telles performances.
      Aujourd’hui, on trouve de nombreuses cartes à base d’ARM Cortex, y compris chez Arduino, et certaines de ces cartes sont livrées avec d’autres ressources intéressantes (WiFi, bluetooth, etc.)
      La question qui se pose est donc de bien choisir les ressources en fonction du projet et non vouloir à tout prix une carte rapide (sauf si le projet n’est pas dans le domaine du modélisme ferroviaire).
      Merci pour vos précisions concernant les cartes Teensy.

      Répondre

    • Les cartes Teensy 10 juin 2023 09:47, par Jean-Luc

      Bonjour,
       
      Il faut noter que les cartes présentées dans cet article sont largement obsolètes et qu’il est peu probable qu’elles soient de nouveau produites par PJRC. Actuellement, les deux cartes ARM 32 bits de PJRC sont les Teensy 4.0 et 4.1 (Cortex M7 toutes les deux).

      Répondre

Réagissez à « Les cartes Teensy »

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rubrique « Matériel »

Les derniers articles

Les articles les plus lus