Ma terminale S est bien loin, mais la votre est peut être en train de se dérouler.
Je vous met ici les cours de l'époque que j'avais sur ma TI89.
Vous pouvez les télécharger individuellement ou tout récupérer d'un coup en téléchargeant le zip.
Vous pouvez les lire avec votre lecteur préféré, par exemple HibView.
Heureux propriétaire d'une Clio 2.2 essence 1.2L, je me suis fabriqué un petit système audio sympathique et sans prétention.
J'aime écouter de la musique. J'ai plein de fichiers audio sur mon NAS. Lorsque je roule, j'aime avoir toute ma musique à disposition dans ma voiture.
Problèmes:
Pourquoi ne pas utiliser simplement un autoradio avec un disque dur externe branché dessus en USB?
J'avais déjà réalisé un prototype qui utilisait la liaison bluetooth pour envoyer la musique. La musique passait dans le profil A2DP et les commandes au volant étaient récupérées par le profil AVRCP.
Problème: je perds alors la possibilité de connecter mon téléphone à l'autoradio et ne peux plus passer ou recevoir des appels en roulant en utilisant le micro placé au dessus de mon rétroviseur.
Pour résoudre tous ces problèmes, j'ai décidé de monter les éléments suivants:
Le système en place est constitué des éléments suivant:
Une clio | Un autoradio Alpine CDE-133BT | Une interface commande au volant Alpine KCE-840B + le câble KWE-845E |
![]() |
![]() |
![]() ![]() |
Le commodo de commande au volant est relié par son connecteur exotique rouge au câble KWE-845E, qui se contente d'être un adaptateur pour le connecteur de l'interface KCE-840B. Cette interface est branchée sur un câble électrique bleu blanc; et par un jack 3.5 standard sur l'autoradio.
Une fois ouvert, le commodo de commande au volant se rélève être un morceau de plastique avec des interrupteurs dedans. Un petit tour à l'ohmmètre nous révèle qu'il s'agit d'une simple matrice d'interrupteurs.
Le connecteur d'arrivée du commodo | La correspondance des boutons |
![]() |
![]() |
La molette est composée de trois interrupteurs. On peut déterminer le sens de rotation en regardant leurs états courant et leurs états précédant. On retrouve les autres boutons: Volume plus, Volume moins, Dessous (Bot), Dessus 1 et Dessus 2 (Top1 et Top2).
On notera que cette disposition nous permettra d'utiliser d'autres combinaisons que la célèbre Vol Plus + Vol Moins.
Le connecteur est un jack 3.5 standard. On en trouve facilement, même en supermarché.
Pin n° | Contenu |
---|---|
1 | Masse |
2 | 5V |
3 | Données |
Le bus de données est assez particulier en son genre.
On y trouve:
Chaque bit est constitué d'un état haut ou bas de 0.5ms, et d'un état bas de 0.5ms. On pourra noter que dans aucune trame rencontrée ne se suivent deux zéros.
Les commandes associées que j'ai rencontré sont:
Commande | Valeurs |
---|---|
Volume plus | 1A FB 75 7B 7A DA A0 |
Volume moins | 1A FB 75 6D BE DA A0 |
Molette bas | 1A FB 75 75 7D EA A0 |
Molette haut | 1A FB 75 6A BF EA A0 |
Dessous | 1A FB 75 77 7B 5A A0 |
Dessus 1 | 1A FB 75 76 FB 6A A0 |
Dessus 2 | 1A FB 75 6D 7E EA A0 |
Mute (Volume plus + Volume moins) | 1A FB 75 75 BD DA A0 |
Parce que j'ai eu la flemme de fabriquer une carte électronique sur mesure, j'ai utilisé un kit de développement de chez Texas Instrument, le EK-LM4F120XL. Il comprend un CPU Cortex M4 LM4F120, qui suffit largement pour ce qu'on souhaite faire avec. Il est largement sur-dimensionné pour l'instant, mais pourra servir plus tard pour s'interfacer avec d'autres éléments de la voiture.
Le kit a aussi l'avantage de disposer d'une liaison série qui transite par le port USB (qui d'ailleurs sert à alimenter la carte), qui pourra être relié au PC.
Le code utilise 3 GPIO en sortie pour alimenter la matrice d'interrupteurs, et 3 autres en entrée pour lire les valeurs.
Un autre GPIO sert à émuler le BUS Alpine montré précédemment.
Le circuit se comportera exactement comme l'interface Alpine si il est tout seul, et enverra certaines commandes au PC lorsque celui ci manifestera sa présence.
Les autres éléments de l'interface sont:
Pour lire l'audio, j'ai choisi de monter un ordinateur en architecture PC. J'aurais pu préparer une carte embarquée avec un coeur ARM et un Linux embarqué mais avec un PC je n'ai pas à me prendre la tête avec tous les drivers (SATA, Bluetooth, WiFi, etc.).
Élément | Modèle | Commentaire |
---|---|---|
Carte mère | Intel D525MW | J'ai pris celle là parce qu'elle était en solde. N'oubliez pas de rajouter de la RAM |
Alimentation | M3-ATX | S'occupe de gérer les problématiques liées à la batterie de la voiture |
Disque dur | Un 600GB 2.5" SATA standard | Plein de place pour plein de musique |
Boitier | Un vieux boitier mini ITX qu'il me restait | Pas cher ^^ |
L'alimentation M3-ATX, conçue spécialement pour ce genre de projet, permet de sortir tous les connecteurs nécessaire au fonctionnement d'un PC (Alim ATX, Alim 12V pour CPU, Molex/SATA) à partir d'une batterie dégueulasse (6-24V). Elle démarre automatique le PC dès la présence confirmée d'un signal moteur; et une fois ce dernier confirmé éteint (5s), elle éteint proprement le PC avant de couper l'alimentation au bout d'une minute. Aussi, si la tension batterie est trop faible, elle ne fait rien, ce qui évite de se retrouver vidé bêtement.
On trouve toutes les entrées nécessaires sur le connecteur ISO du système audio de la voiture (12V => Jaune, Masse => Noir, Signal moteur => Rouge).
Le choix du système d'exploitation est entièrement personnel. La plupart des systèmes habituels (UNIX, Windows) fonctionnent (tant qu'ils arrivent à faire fonctionner une liaison série).
J'ai choisi un FreeBSD 9.1 Release, dernière version en date. Ceci me permet de synchroniser facilement le pool ZFS contenant ma musique de mon NAS vers le système grâce au système de snapshots.
Le système utilise pour lire la musique est un Music Player Daemon, qui présente les avantage suivant:
Le contrôle local (suivant, précédant, pause, etc.) est effectué avec les commandes au volant, grâce à la carte embarquée et à sa liaison série.
Le contrôle avancé (gestion des playlists, sélection de la liste de lecture courante, etc.) est effectué avec un ordinateur ou un téléphone.
Le système réalisé a les caractéristiques suivantes:
Le code source de tout ce bazar est disponible ici:
ZeWaren/nuclear-muse on GitHub.
Création d'un programme de générarion de mosaique de texte en dotNET. (2005)
French
Hosted by developpez.com
http://zewaren.developpez.com/dotnet/textmosaic/
Microsoft Agent sous Delphi. (2004)
French
Hosted by developpez.com
http://zewaren.developpez.com/delphi/ms-agents/
Les régions sous Delphi. (2004)
French
Hosted by developpez.com
http://zewaren.developpez.com/delphi/regions/