Cartes Duinomite - Nano-ordinateur, microcontrôleurs, FPGA - Electronique, domotique, DIY
Marsh Posté le 11-04-2012 à 21:49:15
Flash de la carte:
Le flash de la carte permet de passer à une version modifiée du Basic par Graham Geoff ; cette version est mieux documentée et contient des instructions supplémentaires, ainsi que la prise en charge des subroutines.
Procédure:
Vous pouvez trouver la mise à jour du firmware ici (télécharger DuinoMite MMBasic firmware V4.4" ou plus récent si dispo : http://geoffg.net/maximite.html#Downloads
Après décompression l'archive contient le firmware (fichier hex) le manuel, les modifications apportées et le bootloader.
Pour faire la MAJ :
- Laisser le doigt appuyé sur le bouton "user" (celui qui se trouve à coté des leds verte et jaune sur la Duinomite standard, sinon le plus proche des leds sur la version mega).
- Brancher la carte avec un petit cable USB
- Retirer le doigt du bouton
normalement windows installe le bon driver automatiquement
- Lancer le bootloader et ouvrir le fichier hex (bouton load hex file)
- cliquer sur le bouton "program device" et attendre la fin de la procédure pour débrancher la carte.
Marsh Posté le 11-04-2012 à 21:49:27
Dans cette partie je vais lister quelques petits projets, histoire de montrer des exemples de programmes sur des cas concrets.
Un data logger "optimisé" : http://forum.hardware.fr/hfr/Hardw [...] m#t8424499
Un luxmètre simple : http://forum.hardware.fr/hfr/Hardw [...] m#t8426636
Un spectromètre (ou spectrophotomètre) à LED : http://forum.hardware.fr/hfr/Hardw [...] m#t8427654
Un générateur d'orages pour aquariums : http://forum.hardware.fr/hfr/Hardw [...] m#t8549569
Marsh Posté le 11-04-2012 à 23:18:42
La vidéo du jeu Space Invaders il note pic, pic est un autre type de Microcontroleur que avr utiliser par l'Arduino tu est sur que la carte utiliser un pic car si ces le qu'a elle devrais pas être compatible avec l'Arduino,
sinon sa serais bien de présider les spécificité
mhz?
flash?
vcc?
nombre d'entrée?
sinon le début du topic se présente bien.
Marsh Posté le 11-04-2012 à 23:23:32
Oui il s'agit bien d'un PIC, un PIC32MX795F pour être exact.
Cette carte n'est pas directement compatible Arduino, mais elle l'est avec les shields Arduino (les broches sont placées au même endroit).
Par exemple on peut utiliser un shield afficheur, ou un shield de bus de communication.
En ce qui concerne les spécificités je met à jour.
Marsh Posté le 12-04-2012 à 12:17:39
Le plus important pour une 1ere page : Le prix !!!
Car c'est bien beau par apport a un arduino mais si c'est plus cher, moins d'interet...
Marsh Posté le 12-04-2012 à 15:42:38
80mhz avec une telle puissance comparée a l'Arduino j’espère qu'il permet d'afficher des couleurs sur un écran,
Car avec l'arduino et tv out j'ai toujours été très frustrée par 2 couleur et certain bug d'affichage d'image bitmap trop lourd a afficher,
Sinon pour l’environnement de programmation en c comment sa se passe ?
Y a t'il beaucoup de libraires disponible ou somme nous livrée a nous même?
Et le prix ?
Marsh Posté le 12-04-2012 à 19:01:32
Bonjour et merci pour votre participation.
Pour le prix je vais mettre à jour le 1er message. J'en profite pour ajouter quelques infos.
Pour ce qui est de l'affichage en couleur ce n'est pas encore le cas, mais Geoff Graham projette de le faire ultérieurement, lors d'une prochaine version de MMBasic (pour l'instant c'est du noir et du blanc).
En ce qui concerne l'environnement en C je n'en sais rien... Comme je l'avais plus ou moins expliqué au dessus je n'arrive pas à trouver le temps pour m'y mettre vraiment, donc cette carte tombait à pic (c'est l'occasion de le dire) pour me permettre de développer des projets sans apprendre un nouveau langage.
Marsh Posté le 13-04-2012 à 00:26:47
Je me suis renseigner et j'ai pu en tirée quelque conclusion,
Apparemment il serais possible de programmer en c dessus, mais je n'ai trouver aucune documentation ou site qui montre comment si prendre (esse via l'ide de l'arduino par cable usb ?? sa reste un mystère)
Avec la version de MMbasic actuel le clavier est en querty,
A partir de la version 3.0 ses close source,
Sa reste selon moi une très bonne carte vu ses spécificité, mais elle a l'aire d'avoir été crée pour les nostalgique des encens micro-ordinateur,
la prochaine version "e mega duinomite" contiendra un port ethernet,
Et le Microcontroleur est en 32 bit,
le problème de tv-out avec l'Arduino est que le montage du périphérique et la librairie ne peu gérée que 2 couleurs techniquement, si aucun empêchement au niveau du hardware la carte Duinomite via le c devrais pouvoirs afficher des couleurs (a vérifier),
Le problème de cette carte est le manque total de documentation il est difficile de connaitre de quoi elle est capable,
il fraudais que les possesseurs du duinomite crée une communauté, rassemble leurs documentation et communique sur leurs création et leurs programmation de libraries pour le duinomite, sa permettrais de faire connaitre plus la carte et la rendrais plus populaire.
Marsh Posté le 13-04-2012 à 00:41:31
hatokuro a écrit : Le problème de cette carte est le manque total de documentation il est difficile de connaitre de quoi elle est capable, |
C'est un peu la raison pour laquelle j'ai voulu ouvrir ce sujet
Marsh Posté le 13-04-2012 à 09:24:36
Ce sujet a été déplacé de la catégorie Discussions vers la categorie Hardware par Fdaniel
Marsh Posté le 15-04-2012 à 03:29:22
Voilà ce qui devrait donner un petit coup de pouce au duinomite http://www.hatokuro.comuf.com/news.php?od=264
Marsh Posté le 15-04-2012 à 14:59:44
Lorsque j'aurais acheter tout ce qui est sur ma liste des achats je m'en commanderais probablement un.
d'ici la le E méga devrais être sorti.
Marsh Posté le 02-07-2012 à 17:11:47
Je viens de recevoir une carte Duinomite eMega. Il n'y a pas de documentation pour elle sur le site!
En premier elle m'annonce comme erreur qu'elle ne peut pas lire la SD Card (normal, je n'ai pas de SD card enfiché)
Puis lorsque je frappe CONFIG KEYBOARD FR j'ai une réponse d'erreur!!!!
Marsh Posté le 02-07-2012 à 23:01:47
Oui, parce que ça ne marche qu'avec le basic MM et tu as le basic Duinomite d'origine ; il y a certaines différences.
Edit: J'ai noté la procédure de flash au dessus, dans le 2eme message.
Marsh Posté le 04-08-2012 à 08:34:43
Bonjour Dudulle,
Suite au message sur futura sciences, je suis venu faire un tour.
Je suis actuellement sur un autre sujet (comportement des matériaux. J'étais un peu saturé avec l'électronique du fait que je ne maitrise pas grand chose), mais capter une température analogique, transformer en numérique et l'afficher reste d'actualité. Je reviendrai sur ce sujet prochainement et je ferai appel à tes compétences .
En te remerciant et à bientôt.
Marsh Posté le 04-08-2012 à 08:46:53
Rebonjour Dudulle,
Comme ça trotte toujours dans ma tête, j'ai pris le temps de lire ton post.
C'est vrai que ça parait interssant pour moi, Et comme je passe souvent devant lextronic, il va falloir que je m'y arrette.
A bientôt
Marsh Posté le 04-08-2012 à 19:48:48
Ca a l'air sympa cette petite chose.
C'est un arduino axée basic et plus multimédia.
A voir comment ca evoluera
Marsh Posté le 21-08-2012 à 00:05:20
Bonjour à tous
Un petit up pour vous tenir au courant d'un test que je viens de faire : Pour un projet sur lequel je bosse (enregistrer les vibrations sur un arc, pour régler la stabilisation) j'avais besoin d'un écran pour afficher les données.
Vu que la duinomite gère déjà une sortie vidéo j'ai acheté ce petit écran sur Ebay : http://cgi.ebay.fr/ws/eBayISAPI.dl [...] 1497.l2649
Il faut simplement prévoir un raccord RCA mâle/mâle car il y a une fiche femelle aussi sur l'écran.
Le texte est un peu petit, mais se lit sans aucun problème. Il a une résolution de 440x272. La 2eme fiche RCA affiche de la même façon contrairement à ce que laisse entendre la description (l'affichage n’est pas inversé), j'avoue ne pas très bien comprendre son utilité. Éventuellement on pourrait envisager de brancher 2 duinomite sur cet écran. Bien entendu on peut tracer des courbes ou des formes avec du code.
C'est une très bonne alternative aux écrans graphiques intégrables car il n'y a pas besoin de code pour afficher le texte ni de contrôleur, le câblage est très simplifié (on branche la RCA, on alimente l'écran en 12V, et c'est tout) et le prix est très compétitif (un écran graphique seul coute généralement 2 à 3x ce prix, exemple ici : http://www.lextronic.fr/P4128-affi [...] -43.html).
Le socle peut se retirer pour gagner de la place, maintenant il faudrait que je trouve un coffret assez petit pour intégrer tout ça.
Marsh Posté le 21-08-2012 à 00:10:17
danest a écrit : Rebonjour Dudulle, |
Quand tu te lancera n'hésites pas à demander ici, ça fera vivre un peu le sujet
Marsh Posté le 21-08-2012 à 11:55:27
Bonjour
Une évolution de la carte est annoncée pour Septembre, la colour maximite.
Voici la liste des évolutions:
100pin Version PIC32
Colour VGA with eight colours (black, red, green, blue, cyan, yellow, purple and white).
Synthesised stereo music and sound effects.
Battery backed real time clock (optional).
Arduino compatible connector with an additional 20 I/O lines that are independent of the original 20 I/Os.
2 channel PWM analog output.
Special commands for animated games.
Version 4.0 of MMBasic which has extra commands to access and utilise the additional features.
Plus d'infos ici: http://www.geoffg.net/maximite.html
Marsh Posté le 21-08-2012 à 12:44:55
ReplyMarsh Posté le 21-08-2012 à 12:46:15
Ça l'est
Un exemple d’application avec la nouvelle version couleur:
http://www.youtube.com/watch?v=ghepfqFSDh0
Pour 'instant elle n'est pas fabriquée mais il est possible de l'assembler soit même.
Marsh Posté le 21-08-2012 à 13:27:27
Ca ressemble a une sorte d'amstrad 6128.
Load "program"
run
marrant.
Marsh Posté le 22-08-2012 à 22:53:42
Data logger optimisé
Un data logger est un système d'enregistrement de données issues de capteurs, dans le but de pouvoir les lire ultérieurement pour les analyser. Par exemple les données d'un thermomètre avec data logger pourraient être ouvertes avec Excel, pour rechercher le mini et le maxi, pour tracer la courbe de température, pour déterminer combien de temps la température reste au dessus de 20°C entre 6h00 et 22h00 etc
Pourquoi ce data logger est dit "optimisé" ?
Généralement un data logger se configure par le biais d'un intervalle d'enregistrement (en secondes, minutes, heures...). Si on désire pouvoir observer des variations rapides il faudra donc choisir un intervalle court, par contre un intervalle court va générer un grand nombre de données enregistrées.
Le programme que je vous propose de tester est basé sur une petite astuce : On défini cet intervalle de temps (comme sur un data logger classique), mais on enregistre la donnée uniquement si elle diffère de la précédente de plus d'un certain écart prédéfini.
Imaginons que l'intervalle soit de 1 seconde et l'écart de 0.5°C : Si la température reste à 35°C pendant 1 heure une seule valeur est enregistrée. Soudain un nuage passe devant le soleil, la température chute rapidement à 30°C : On enregistre une température à chaque fois que l'on dépasse 0.5°C par rapport à la précédente, avec une fréquence maximale de 1 enregistrement par seconde.
Bien entendu pour s'y retrouver ensuite il faudra enregistrer chaque température avec un "marqueur" associé, pour pouvoir situer la donnée dans le temps.
De cette façon on est capable à la fois de déceler des variations rapides sur la mesure, et de générer un faible volume de données, ce qui va faciliter leur exploitation.
Voici le programme:
Code :
|
Détail des instructions utilisées
à partir de 200 on a une sous partie dans le programme, cette sous partie correspond à l'enregistrement de la donnée dans un fichier texte et ne s'execute que si le test en ligne 80 est vrai (plus de 0.5°C d'écart avec la valeur précédente enregistrée)
Schéma et correction de la courbe de la CTN
Une CTN est une sonde dont la résistance varie avec la température. Bien qu'il existe des sondes plus "évoluée" pour ça (LM335 par exemple) la CTN a ma préférence car elle permet une plus grande précision, pour peu que l'on fasse sa correction convenablement et que l'on reste dans un intervalle de mesure réduit ( de 0 à 50°C par exemple)
Pour corriger la courbe on ajoutera seulement une résistance en série dont la valeur est proche de la résistance de la CTN dans la plage de température que l'on veux mesurer.
Qu'est ce que ça veux dire ? Si la CTN fait 10k à 25°C et que l'on veux mesurer des température autour de 25°C alors on met une résistance de 10K en série.
On branche la résistance sur le 3.3V de la carte, en série avec la CTN, et l'autre broche de la CTN est raccordée à GND. Le point milieu est raccordée au pin 4 (Attention : noté "A3" sur la carte).
Avec un schéma c'est plus clair:
Pour effectuer la correction on prend un verre avec un tout petit peu d'eau, des glaçons et on plonge la résistance dans le mélange. On attend suffisamment longtemps, et on note la valeur de tension du point milieu pour 0°C.
On vide le verre d'eau, on y met de l'eau à environ 35/40°C (on note la température réelle en vérifiant avec un thermomètre fiable) et on note la nouvelle valeur de tension correspondant à cette température.
Dans mon programme j'ai 2 valeurs, qui correspondent à cette correction : temp = (72.102 + ( -29.038 * Pin(4)))
Appelons B la 1ere valeur (ici égale à 72.102) et A la seconde (ici égale à -29.038).
Appelons U1 la tension du point milieu à 0°C, U2 la tension avec de l'eau tiède, et T la température de l'eau tiède.
La valeur B est égale à T / (U2 - U1)
La valeur A est égale à -B * U1
Pour ceux qui ne sont pas trop mauvais en math en fait on recherche simplement l'équation de la droite passant par (U1,0) et (U2,T)
Une autre possibilité peut consister à prendre quelques points sur Excel, puis simplement lui demander de donner l'équation de la droite de régression:
Note à propos des variables time$ et date$
Ces variables sont gérées directement par le micro contrôleur. Lorsque l'on branche la Duinomite la date est initialisée au 1er janvier 2000, l'heure à minuit.
Il est possible de régler ces variables manuellement, en tapant leur valeur au format time$ = "hh:mm:ss" , et date$ = "jj-mm-aaaa"
Les valeurs des variables sont perdues chaque fois que l'on débranche la carte, sauf si on utilise une petite batterie li-po de 3.7V sur le port dédié (n'existe pas sur la version mini). Cette batterie permet également de continuer à faire fonctionner la carte en cas de coupure de l'alimentation. Sa recharge est gérée par la carte.
Améliorations
A l'usage on se rend compte qu'il y a une certaine variation sur l'amplitude des mesures. Voici un tableau de mesures de température effectuées toutes les 2 secondes:
Cette variation est logique, car il faut garder à l'esprit que le CAN de la carte n'est qu'un 10 bits (0.25% de précision sur une échelle de 0 à 3.3V), par ailleurs la tension d'alimentation du port USB n'est pas forcément très stable.
Le problème est que l'on va devoir adopter un écart suffisamment éloigné de cette variation "naturelle" pour ne pas enregistrer des points alors que la variation n'est pas réelle.
Une amélioration peut consister à prendre la moyenne d'un certain nombre de mesures pour la variable temp, au lieu de prendre des mesures directes. Il s'agit en fait d'un filtrage basique des données.
Voici ce que l'on obtient avec une moyenne calculée sur 10 mesures:
Cette fois la tendance de la température est nettement visible. Par ailleurs avec des données filtrées il est possible de réduire l'écart de prises de points, sans pour autant augmenter considérablement le nombre de données enregistrées dans le fichier texte.
Cette amélioration peut se faire avec une petite boucle for/next, je vous laisse chercher comment faire
Marsh Posté le 23-08-2012 à 15:19:33
Est ce que l'on peut l'utiliser comme une carte PIC classique avec un programmateur ICD2 par exemple ? (et coder en C ...)
Marsh Posté le 23-08-2012 à 15:27:18
Oui on peut coder en C, mais je connais beaucoup moins cette méthode, je ne programme qu'en BASIC.
Marsh Posté le 24-08-2012 à 15:41:17
Luxmètre simple
Le montage étudié ici permet de réaliser un luxmètre simple.
Et c'est quoi un luxmètre ?
C'est un appareil permettant de mesurer un flux lumineux. Avec ce type d’appareil on peut par exemple vérifier si la pièce dans laquelle on travaille est correctement éclairée, si une plante reçoit assez de lumière pour pousser, si une lampe torche x éclaire plus fort qu'une autre lampe y (j'ai remarqué que les geeks aiment bien jouer avec des lampes torches ).
Comment ça marche ?
Le principe est très simple : Un capteur mesure la quantité de lumière, la Duinomite interprète la valeur mesurée et affiche directement la valeur en lux à l'écran.
Plusieurs capteurs sont utilisables, mais il y en a un qui est parfaitement adapté, le TSL235R : http://www.alldatasheet.com/datash [...] L235R.html
Quand il est alimenté (entre 2.7 et 5.5V) ce composant délivre un signal carré dont la fréquence en kHz correspond directement à l'irradiance en µW/cm² (ou des centièmes de watt par m²), et il se trouve que 1 µW/cm2 correspond sensiblement à 10 lux (à 10 ou 20% près). Pour afficher en lux il suffira donc de multiplier la valeur en kHz par 10, ou diviser la valeur en Hz par 100. Par ailleurs sa réponse est linéaire.
Ce luxmètre ne sera pas extrêmement précis, mais en réalité ça n'a pas vraiment d'importance car la perception de la lumière est logarithmique (quand il y a 10x plus de lux on a l'impression qu'il y a 2x plus de lumière). D'ailleurs les luxmètres du commerce ne sont pas beaucoup plus précis.
Le programme
Code :
|
Détails des instructions
Schéma
La broche 1 du TSL235R est branchée sur le 3.3V (ou le 5V ça n'a pas d'importance). La broche 2 est reliée à GND et la broche 3 à l'entrée A5 (ce qui correspond au PIN13, ne me demandez pas pourquoi).
Marsh Posté le 24-08-2012 à 16:43:03
Je vois que tu t'eclates bien avec ta petite carte
Moi j'ai une arduino, mais je m'en sert trop peu, par manque de temps.
Il n'est pas exclus que j'en offre en version couleur, histoire de faire un peut de basic ^^
Marsh Posté le 24-08-2012 à 17:12:55
J'ai une arduino aussi ; je m'en sers un peu, mais je n'ai vraiment pas le courage de me mettre en C, alors que le BASIC je m'en sers depuis 25 ans
Marsh Posté le 24-08-2012 à 19:42:25
J'ai regardé un peu leur site, mais c'est pas tres clair sur un point.
Tu le programmes avec quel logiciel coté pc ou mac ?
Car si on ne peux le programmer que via un clavier connecté a la duinomite, ca veux dire qu'il faut un ecran compatible, et petit
Marsh Posté le 24-08-2012 à 20:21:30
Si tu veux t'en servir comme systeme autonome alors oui, il faut un moniteur d'ordi avec prise VGA (la prise classique) ou une TV ou un écran avec une fiche composite, comme le petit écran à 25 euros que j'ai évoqué plus haut. Le moniteur n'a pas besoin d'être petit : J'ai acheté un petit écran pour avoir quelque chose de portable, mais chez moi j'ai raccordé la Duinomite à un 20 pouces.
Si tu n'as qu'un seul moniteur et que tu ne veux pas le débrancher de ton ordi pour le raccorder à la carte tu peux écrire le programme avec un éditeur texte (comme le bloc note), le placer sur la carte mini SD en le renommant autorun.bas, et il se lancera dès que la carte sera alimentée.
Il existe une 3eme solution, qui serait encore mieux, qui consiste à piloter la carte par le port USB et afficher ce qui serait normalement envoyé sur l'écran sur un moniteur virtuel, mais je n'ai pas réussi à le faire (je n'ai pas trop insisté non plus).
Dans tous les cas il est préférable d'avoir un écran (virtuel ou pas) pour pouvoir visualiser directement des données. De plus c'est quand même beaucoup plus pratique pour débugger.
Marsh Posté le 25-08-2012 à 10:35:12
Quand tu auras du temps, tu pourrais me dire quelle version sort du vga en couleur stp ?
Marsh Posté le 25-08-2012 à 12:02:18
Cette version est conçue, les plans et le firmware sont dispo et certains l'ont assemblée, mais elle n'est pas encore fabriquée toute faite.
Je pense qu'elle devrait apparaitre sur le marché d'ici 1 mois ou 2.
Marsh Posté le 25-08-2012 à 13:05:47
Spectrophotomètre à LED
Ce montage est un peu plus ambitieux que les précédents. Cette fois le but est de fabriquer un spectrophotomètre (ou spectromètre, en encore "spectro" pour les intimes) simple fonctionnant avec une LED 3 couleurs, et utilisable avec une vraie interface (certes basique, mais pouvant facilement être développée).
Basiquement un spectromètre mesure la quantité de lumière qui traverse un échantillon. Ce type d'analyse s'applique à des domaines très variés.
Avec une mesure spectromètrique on peut par exemple connaitre le vieillissement d'un vin, le degré de maturation d'une bière, connaitre la quantité de caféine dans le café ou une boisson énergisante, doser les nitrates de l'eau de son aquarium ou mesurer un développement bactérien...
Pour le commun des mortels il faut reconnaitre que ce n'est pas très utile, mais le but est surtout de montrer un exemple d'application plus complète. par ailleurs il n'existait aucune réalisation de spectro amateur en français jusqu'à maintenant, et les réalisations en anglais que j'ai pu trouver sont surtout des bidouilles, contrairement à ce montage capable d'une assez bonne précision grâce au traitement du signal (et pour peu que la réalisation soit soignée).
Principe
Bien que le montage soit basique la précision obtenue est relativement bonne (aussi bonne que certains petits spectro du commerce à 1000 euros), ceci grâce à l'utilisation du TSL235R : http://www.alldatasheet.com/datash [...] L235R.html
La source (ou plutôt les sources) de lumière est constituée d'une LED RGB. On va d'abord mesurer la "ligne de base", c'est à dire la quantité de lumière reçue lorsque qu'il n'y a rien à mesurer en allumant alternativement les 3 couleurs de la LED, puis on va mesurer la quantité de lumière transmise à travers l'échantillon, et enfin calculer le pourcentage pour chaque couleur.
Le programme
Cette fois j'ai rédigé le programme en utilisant des sous routines. Une sous routine est en quelque sorte une "super instruction". En appelant l'instruction "mesure" on exécute en fait un programme dans le programme. Cette solution permet d'avoir des programmes plus clairs.
Attention : Les sous routines ne fonctionneront qu'avec la mise à jour du firmware.
Code :
|
Par habitude je fais toujours une structure avec des numéros de lignes, à partir de laquelle j'appelle les sous routines, mais ce n'est pas une obligation.
Pour résumer : Un menu s'affiche. Si l'application vient de se lancer la ligne de base doit obligatoirement être effectuée. Une fois qu'elle est faite on peut effectuer une mesure.
A la fin de cette mesure on affiche 2 tableaux indiquant la courbe d'absorbance (ça c’est plus pour ceux qui connaissent les spectro) et de transmittance (le pourcentage qui traverse l'échantillon), ainsi que les valeurs numériques de transmittance.
On a la possibilité d'enregistrer les résultats dans un fichier texte (on ne sauve que les valeurs numériques affichées).
Quand la ligne de base à été effectuée on peut lancer autant de mesures que l'on veux.
Schéma et "assemblage"
Le schéma est très simple :
La cathode de la LED est reliée à GND
L’électrode rouge est reliée à la PIN 1 (A0) avec une résistance de 330 ohms
Le vert est relié à la PIN2 (A1) avec une résistance de 330
Le bleu à la PIN3 (A2) avec une résistance de 330
La sortie du TSL235R est relié à la PIN13 (A5), le TSL étant alimenté en 3.3V.
Attention: Ne pas oublier les résistances de limitation, sous peine de détruire votre carte.
En ce qui concerne l'assemblage du spectro lui même :
L'échantillon est placé dans une cuve carrée ou rectangulaire. On peut se faire une cuve pas trop mauvaise avec une boite de TIC TAC. Il faut mesurer à travers la partie la moins épaisse.
Les mesures et la ligne de base doivent se faire dans l’obscurité, donc soit vous attendez qu'il fasse nuit, soit vous posez une boite qui coupe bien la lumière sur la LED, le TSL et la cuve.
Une petite photo pour illustrer ça ; on peut voir le TSL par transparence. Ici je faisais une mesure sur du vinaigre.
Quelques essais
Une capture d'écran de l'application (sur une mesure effectuée sur de la lotion dentaire diluée 10 fois) :
Cette lotion dentaire est colorée avec du rouge allura (red 40, ou E129). Pour comparaison voici la courbe d'absorbance réelle:
On retrouve sensiblement le même profil (il faut quand même réaliser que notre courbe n'a que 3 points...). Les valeurs ne sont pas tout à fait identique car bien sur elles dépendent de la dilution. Voici un tableau de calibration (valeur d'absorbance à 520nm en fonction de la concentration) :
En effectuant une autre dilution par 20 je trouve une absorbance de 0.37 à 520nm, je peux donc dire grossièrement que ma lotion contient environ 6 * 20 = 120ppm de colorant.
C'est tout de même assez fort, pour un simple montage à base de led vous ne trouvez pas ?
Ici j'ai mesuré un de mes filtres pour la photo, un Hoya 85B :
Et pour comparaison la courbe de transmittance données constructeur:
Les valeurs sont très proches.
Améliorations
Le principal reproche que l'on puisse faire à ce spectromètre est le peu de points mesurés. Une amélioration peut consister à ajouter d'autres longueurs d'ondes, en ajoutant en plus de LED RVB une led jaune, orange, jaune/verte, IR et UV.
Marsh Posté le 11-11-2012 à 08:38:26
Bonjour,
Merci d'avoir créé ce fil, les informations en Fr sont rares et la communauté francophone autour de ces produits n'est pas très étendue ..
J'ai commandé de l'Arduino Uno avec des shields et aussi une Duinomite Mega. Avant de recevoir tout ce matériel je me pose des questions concernant la compatibilité de la Duinomite avec le shield W5100 ethernet (3,3V/5V) et sa gestion avec le Basic.
Masi si aucune certitude n'est avancée ici, je donnerai mon expérience sur ce sujet
Marsh Posté le 11-11-2012 à 16:48:12
Bonjour et merci pour ta participation.
Je ne sais pas si ce shield est compatible, par contre je sais qu'il en existe de nombreux utilisables sur le Duinomite par le port UEXT, un exemple de module Ethernet ici : https://www.olimex.com/Products/Mod [...] -ENC28J60/
Par contre je n'ai absolument aucune idée de la façon dont ça s'utilise...
Marsh Posté le 11-04-2012 à 21:48:56
Bonjour à tous
Je me permets d’ouvrir ce sujet dans le but de vous faire découvrir une carte à microcontrôleur assez peu connue : La Duinomite.
Je vais essayer de faire vivre ce fil dès que j’aurai un peu de temps libre. Bien évidement vous pouvez participer pour construire ce sujet avec moi.
Par ailleurs j’aimerai profiter de ce fil pour échanger des informations, car il existe très peu de ressources en français sur cette carte (et pas grand-chose en anglais non plus d’ailleurs), et comme je ne suis juste qu’un amateur (passionné) dans le domaine j’espère aussi profiter de vos connaissances plus générales sur les µC.
Cette remarque avait également pour but de vous faire comprendre que je ne suis pas un expert, donc merci de ne pas taper trop fort si je dis des conneries
Pour commencer quelques questions / réponses
Pourquoi parler d’une nouvelle carte à µC alors qu’il en existe des légions ?
Parce que cette carte à des particularités uniques en son genre :
- Elle dispose en natif d’un port pour mini SD, permettant de stocker des données ou des programmes.
- Elle peut s’utiliser comme un Arduino (programmée en C par un câble USB), et les cartes d’extension Arduino (qui sont très répandues) sont compatibles.
- Cette carte peut aussi s’utiliser indépendamment d’un ordi ; elle est équipée d’une sortie VGA (pour y brancher un moniteur), ou composite (pour y brancher une télé, ainsi que d’un port PS2 (pour y brancher un clavier). Concrètement on branche ces 2 périphériques, on l’alimente, et on peut commencer à s’en servir.
- Cette carte peut également se programmer en MMBASIC, un langage extrêmement simple.
Parce que c’est « fun » à utiliser : L’utilisation de la carte est dans le même esprit que ce que l’on avait sur les vieux ordis en 8 bits (pour ceux qui ont connus les MO5, TO7 ou Amstrad 6128 et équivalents). Ceux qui ont connus ces machines (et qui ont bidouillés un peu dessus) n’ont d’ailleurs pas grand-chose à apprendre de plus pour l’utiliser, le MMBasic est pratiquement identique au BASIC qu’on pouvait trouver sur ces machines.
Parce que c’est pédagogique : Bien que beaucoup considèrent le BASIC comme une antiquité c’est un langage qui répond à une certaine demande ; beaucoup de gens (comme moi) ne veulent ou ne peuvent pas investir de temps dans l’apprentissage d’un langage plus complexe comme le C. Le BASIC s’apprend en quelques jours, et il est tellement simple que bien souvent on arrive à se débrouiller seul.
J’ai eu la chance de bénéficier du « plan informatique pour tous » : http://fr.wikipedia.org/wiki/Plan_ [...] _pour_tous (qui malheureusement n’a pas fait long feu) et je considère que l’apprentissage de la programmation à totalement changé ma façon de plancher sur des problèmes et de les résoudre.
Je trouve que la programmation est un peu devenue une niche pour quelques personnes vraiment motivées, et c’est bien dommage, voire même inquiétant. Je vous invite d’ailleurs à lire cet article très intéressant (mais malheureusement en anglais) à ce sujet: http://www.duinomite.com/why-johnny-cant-code/
Et surtout parce que c’est simple :
Juste un petit exemple en code ; comment lire une température à l’aide d’un capteur type LM335 :
Qu’est ce qu’on peut faire avec cette carte ?
Lire des valeurs de capteurs (températures, pressions, humidité, comptage…), archiver ces valeurs, agir sur des moteurs, des relais, communiquer avec un ordinateur…
On peut aussi faire des trucs funs, dans ce style : http://www.youtube.com/watch?v=sQlcmNUdVYw
Présentation de la carte
Cette carte existe en plusieurs versions (mega, normale et mini). Je vous invite à les découvrir ici : http://www.duinomite.com/
On peut les trouver auprès du distributeur français Lextronic : http://www.lextronic.fr/R3093-modules-duinomite.html
Le prix
Il faut donc compter environ 25 euros pour les modèles mini et normal et 35 euros pour le modèle mega.
Attention: Les périphériques ne sont pas les mêmes suivant les modèles (voir les détails sur chaque carte ; il faut une petite carte d'extension pour avoir les ports audio, clavier, et vidéo sur le modèle normal, ou une carte pour avoir les pins au format Arduino sur le modèle mini, soit environ 5 euros de plus dans les 2 cas ).
Spécificités
Vitesse d’exécution: En Basic environ 30 000 instructions par seconde; on peut consulter un sujet ici: http://olimex.wordpress.com/2012/0 [...] peed-bips/
Caractéristiques techniques:
– PIC32MX795F512H processor running at 80Mhz with 128KB RAM and 512KB Flash
– DC-DC power supply 9-30V DC input
– USB Device / USB Host OTG
– mini SD card socket
– two UEXT connectors, one inside enclosure, one outside
– CAN connector
– GPIO connector
– ARDUINO shield connector
– PS2 Keyboard connector
– RS232 connector
– VGA connector
– Audio RCA jack
– Composite Video RCA jack
– Headphones 3.5 mm jack
– RESET and USER buttons
– three status LEDs
– build-in LiPo Lithium-Polimer battery charger
– ultra low power design which allow down to 30uA current consumption
– Industrial temperature operation -40+85C
– Noise immunity
– ICSP programming connector for programming and debugging
– 32,768 KHz low frequency crystal allow implementation of RTC and low power modes
Ressources
La page du créateur du langage MMBASIC : http://geoffg.net/maximite.html
A noter la version 3.1 vient de sortir ; elle apporte quelques améliorations sympathiques, comme la suppression des numéros de ligne et la gestion des subroutines.
Ma carte était encore en 2.7 quand je l’ai achetée, mais la procédure pour mettre à jour est relativement simple (je la détaillerai ultérieurement).
Cette page contient également le manuel d’utilisation du MMBasic.
Edit : Dernière version : V 4.4 : http://forum.hardware.fr/hfr/Hardw [...] m#t8791018
Une collection de sources variées en MMBasic: http://maximite.com.au/the-news/51 [...] brary.html
Un forum de discussion qui aborde de nombreux projets (en anglais) : http://www.kenseglerdesigns.com/cms/forums/index.php
La page d’un utilisateur français (la seule que j’ai trouvée) : http://skyduino.wordpress.com/tag/duinomite/
Nouveau : Le MMBasic a maintenant son site dédié: http://mmbasic.com/
On peut y télécharger une version exécutable autonome du MMBasic (tourne sous DOS) afin de le tester sans avoir de carte Duinomite, pour se faire une meilleure idée des possibilités offertes.
Que faut il pour commencer ?
Les cartes sont livrées nues. On peut tout à fait écrire le programme avec le bloc note, le transférer sur la mini SD puis le lancer sur la carte (le programme doit s'appeler AUTORUN.BAS pour se lancer automatiquement à la mise en route de la carte), mais c'est assez contraignant.
Pour plus de souplesse il est préférable de disposer d'un moniteur (éventuellement un truc comme celui là pour avoir une version "portable" : http://cgi.ebay.fr/ws/eBayISAPI.dl [...] 497.l2649) ou d'une télé et d'un clavier en PS2.
Attention, le clavier sera en qwerty ; idéalement il est préférable d'en utiliser un à ce format pour ne pas avoir à chercher pendant 3 plombes les :,"$ etc (j'en ai trouvé un à 5 euros sur le bon coin).Depuis la version 3.1 n'importe quel clavier peut être utilisé en tapant la commande CONFIG KEYBOARD suivi de FR pour un clavier français, US pour un qwerty et GR pour un clavier allemand.
Pour alimenter la carte on peut utiliser un cordon avec un embout mini usb, ou une alim avec une fiche ronde (9 à 30V).
On peut également ajouter une plaquette essai (moins de 10 euros sur Ebay) et quelques composants de base si on débute totalement (une CTN, un LM335, une photorésistance, quelques led etc).
Les périphériques
Il existe actuellement une centaine périphériques compatibles avec le port UEXT de la carte, vendus ici:
https://www.olimex.com/Products/Modules/UEXT/
Ces périphériques permettent par exemple de récupérer des données GPS, de gérer des MP3, de récupérer les battements de cœur d'une personne ...
à suivre...
Message édité par Gruber Hans le 14-07-2013 à 11:11:44