Didel DixiRes
File https://www.didel.com/DixiRes.html

Carte Dixi et robot Dixibot

Une fonctionnalité riche
Une documentation abondante
Débutants, avancés, ingénieurs
Apprentissage C temps réel et loisirs

-- Cliquez sur les images pour avoir des détails
       et les liens à la documentation --

Dixi Xbot Dixibot
Dixi 60CHF
Xbot 55CHF
DixiBot 110 CHF
/tr>
Poussoir et Led
La Led de la pin 13, avec un poussoir en parallèle, qui manque terriblement sur les cartes Arduino.

Poussoir et Led Connecteur Tell
L'option Tell est utile pour montrer en temps réel des valeurs de capteur ou l'état
Affichage Tel
DistIr Capteurs de distance
Deux capteurs Infra-rouge par réflexion qui permettent d'anticiper les obstacles à 5-15cm de distance
Servo
Prise pour une sortie ou entrée digitale. Un servo, un strip de Leds, un capteur de lumière, etc
Connecteur série
Permet de communiquer par fil, par Bluetooth, par Wifi, etc avec des modules adéquats.
Serie Connecteur I2C
Le bus I2C permet de connecter plusieurs modules capteurs, affichages ou tout autre esclave I2C
I2C
Oled Affichage Oled
L'affichage SSD1306 de 128x64 pixels permet d'afficher des textes. valeurs et diagrammes des temps.
CamLin Caméra linéaire
(en développement) Idéal pour suivre une lumière. Donne un profil d'intensité sur 60 degrés, 96 pixels.
Potentiomètre
Un pot est très souvent utile, pour calibrer un capteur ou entrer une valeur.
Pot Codeur à 16 positions
Permet de choisir la démo au démarrage, un mode de fonctionnement, une valeur dans une table de 16 lignes.
Rotary switch
IR receiver Capteur pour télécommande IR
Une solution tout-ou-rien est très simple. Le format Emir est optimisé pour piloter un robot.
Lampe arrière Lampe arrière
Une ampoule omnidirectionelle est préférable pour des robots qui se suivent.
Moteurs du Xbot
Quatre signaux de command sont transférés par le connecteur vers les amplis moteurs et l'affichage associé, qui permet de tester sans déplacements.
Moteurs Moustaches
Deux entrée du Dixi lisent l'état des moustaches. Une Led est allumée quand la moustache est activée. Elles peuvent être utilisées comme poussoir supplémentaire.
Moustaches
Capteur avant Capteurs Xsens
Les modules capteurs du Xbot, insérés à l'avant, sont compatibles. Voir
Xson, Xpsd, Xpiste et Xsuivi.
Connecteur A0-A4 Connecteur "ana"
Les signaux Xsens sont répétés sur un connecteur pour disposer de  entrées analogiques ou numériques, librement utilisables.
Haut-parleur
Le petit HP du Xbot est accessible par une pin reliée au signal Tx par un interrupteur qui peut désactiver le son, s'il agace.
Haut-Parleur Testeur logique
Dépanner implique d'observer l'ètat des pins (0, 1, flottant, pulsant) La crayon peutprendre sa puissance à 8 endroits différents sut la carte.
Pins d'alimentation

Programmes cités sous Dixi.zip

Poussoir et Led

Le poussoir et la Led se font concurrence. La pin 13 est utilisée et le logiciel est compatible avec le Didiono2, et avec les cartes Arduino si on n'utilise pas le poussoir.
Par défaut à l'initialisation, on est en LedMode; et on peut utiliser les macros LedOn; LedOff; LedToggle; ou LedTog;
Pour lire le poussoir, il faut exécuter PousMode; et on peut ensuite écrire if (PousOn) {..}
Pour clignoter, on retourne en LedMode;
Utilisation du poussoir Exemple: TestPous dans le zip

Connecteur Tell

Tell (DiTell dans d'anciens documents) affiche un nombre de 16 bits, ou 2x8bits avec différents modes d'affichages. Pour le mode hexa 16 bits il faut presser sur le poussoir tant qu'une partie clignote.
L'appel Tell(v16); ou Tell((h8≪8)+l8); bloque le processeur pour 3ms. On peut clignoter la pin 13 pendant que l'on affiche une valeur. La LED a juste un petit hiatus de 3 mu à chaque transfert Tell.
Documentation: TellFacile .
La fonction DoTell(); n'est pas bloquante; elle doit être appelée par un interrupt timer toutes le 60 microsecondes. Elle utilise alors 3 μs a chaque interruption.
Exemple: TestTell dans le zip

Capteurs de distance

Deux capteurs Infra-rouge par réflexion qui permettent d'anticiper les obstacles à 5-10cm de distance. La fonction DistIr() met à jour les variables 8 bits DistG et DistD en 50-100ms. Par interruption 3us toutes les 60us.
La distance max (0xFF) dépends de la lumière ambiante
Documentation: Capteur de distance infrarouge Dist2IR
Exemple: TestDistIr dans le zip.

Pin 11 pour un servo ou autre

Le connecteur "Servo" met à disposition la pin Arduino 11 (PORTB bit 3) qui peut être utilisée librement (servo, strip de leds RGB, capteur 0ne-wire.
Servos de télécommande -- demander une nouvelle version
Experiments with WS2013B RGB mini strip
Experience avec le capteurs de température et d'humidité DHT22

Série UART

Le connecteur série est prévu pour se relier avec 4 fils avec une carte microcontrôleur ou une tablette (adaptateur OTG)
Serial communications
On peut aussi insérer diectement certains modules Bluetooth ou tirer trois fils vers un encodeur.
Programmes pour encodeurs

Bus I2C

Deux connecteurs sont prévus, à souder éventuellement dessous, il y a de la place entre Dixi et la base Xbot.
L'affichage Oled1306 est sur le même bus. La librairie I2Ctwi.h est plus intéressante que la librairie Wire dans la pluspart des cas.
Transferts I2C - 3p

Oled de 128x64 pixels

Le Oled SSD1306 peut être utilisé avec la librairie Adafruit, très lourde (12k). La librairie OledPix n'a pas de tampon et convient bien pour remplacer le programme terminal et afficher des graphiques de mesure.
On ne peut qu'écrire des bytes dans le SSD1306, la libraire simplifiés OledTwi.h ne prend que 50 bytes. La librairie OledBB.h permet de se connecter sur n'importe queels pins, en adaptant le fichier de définition.
Affichage Oled SSD1306
Liens à nos application Oled
Exemples: TestOled, TestGencar dans le zip.

Caméra linéaire

Disponible en 2019

Potentiomètre

Le signal du pot peut se lire en 10 bits avec un analogWrite(A6) - A6 est une pin de l'AVR328 non connectée sur les cartes Arduino. La fonction 8 bits v8=GetPot(); existe dans Dixi.h
Exemple: TestPotOled dans le zip.

Codeur rotatif

Un codeur est très utile, mais il a 4 sorties. Le truc du Dixi est d'utiliser 5 résistances pour générer un signal analogique lu par adc7. Le décodage se fait par comparaison avec les 16 tensions possibles. La fonction à utiliser est cod= RotSw();
Exemple: TestRotOled dans le zip.

Récepteur infra-rouge

Le circuit Irm38 fournit l'enveloppe des trains d'impulsions à 30-40 kHz. Certains tubes néon le perturbe. Un logiciel simple, et intéressant pour comprendre le "temps réel" permet de décoder quelques ordres.
TelecommandeIrSimple.pdf     Télécommande IR simple     3p -1612/1811 Exemple: TestTelecDixi4Ordres dans le zip.

Lampe pour suivi

Une ampoule simple est nécessaire pour permettre la jolie démo qui montre plusieurs robots qui se suivent.

Commande des moteurs

Les moteurs du Xbot sont pilotés en tout ou rien ou en PFM. Les librairies Arduino PWM sont compatibles
Exemple: TestMotSimple, TestMotSimpleOled, TestMotPfm dans le zip.

Lecture des moustaches

Moustaches du Xbot
Les moustaches du robot sont prévues pour détecter les obstacles. Elle peuvent ausso servir de 2 poussoirs supplémentaires pour faire des exercices de programmation
Une Led est associée à chaque moustache. On peut, comme pour le poussoir, programmer des clignotements (bloqués si la moustache est pressée). Jolis exercices pour bien comprendre le partage de ressources.
Exemple: TestEviteObst dans le zip.

Capteurs Xsens pour Xbot

Deux modules capteurs mesurent la distance devant, un capteur permet de suivre une piste, et un capteur suit une lumière.
a href= "https://www.didel.com/xbot/Xsensors.pdf "> xbot/Xsensors.pdf

Connecteur A0A1A2

Trois signaux analogiques ou digitaux sont à disposition si un module capteur n'est pas utilisé. Pr exemple avec 2 LDR, 2 résistances et quelques soudures sur un strip 2.54, on programme un robot photovore, photophobe, ou piloté par lampe de poche.
suivi

Haut-parleur du Xbot

Le Haut-parleur partage la ligne Tx et un interrupteur permet de l'isoler, et couper le son.
Exemple: TestBeep dans le zip.

Testeur logique

Ce testeur indispensable pour le développement montre les signaux à 0, 1, flottants et oscillants. Il a besoin de 2 pins d'alimentation, largement distribuée sur la carte. Il est disponible en kit facile à souder, un bon complément de formation.
Logic tester LoPen – an easy and useful kit

Last modified 190110