Ces jours-ci, je n'écris (toujours) pas des tas...
Par Petaramesh le vendredi 2 octobre 2009, 07:52 - Chienne de vie - Lien permanent
Car voici à quoi Ma Sainteté occupe ses soirées jusqu'à des heures assez honteusement avancées, coiffée façon Doc Brown : Deux virgule vingt-et-un gigowatts !
On peut dire en quelques sorte que chacune des photos ci-dessous représente au moins un billet auquel vous avez échappé ;-)
...Enfin plus, parce qu'il faut réfléchir avant.
C'est marrant, ça fait un peu évolution d'un chantier de construction...





Dans le grand trou qui reste (work in progress), y'a la place pour un bon gros PIC.
Un grand classique du genre : après avoir chiadé des soirées entières le schéma du circuit à base de portes 74HC que je ne réaliserai jamais, je réalise de tête sans le moindre schéma la même chose mais à base de PIC :-}
(Et puis non, je n'ai même pas honte de câbler sur une plaque de Vero, à l'ancienne, roulé à la main sous les aisselles ;-)
Addendum 04/10/2009 : Fini !

Addendum 27/11/2009 : Le programme en langage C qui fait fonctionner cette chose (sous licence GNU/GPL comme de bien entendu) est ici.










Commentaires
Euh, excuse ma nullité crasse en électronique, mais ça va servir à quoi ce beau chantier ? C'est quoi le résultat final attendu ?
! Et quel type de robot ménager Sa Sainteté est-elle en train de construire !
M'a l'air pas clair ce montage. Encore un truc de terroriss' gauchiss'.
Je fais un signalement illico à la police politique des montages pas clairs-clairs.
C'est un RDPPPP (Rectificateur de Politicien et de Patron Programmable et Portable), destiné à remplacer le bracelet électronique sur les politiciens et patrons du Caca-rente condamnés.
Les connecteurs de droite servent au branchement des capteurs du polygraphe incoporé (de haut en bas, électroencéphalogramme, électrocardiogramme, électromyogramme), à partir de quoi le microprocesseur peut détecter certaines pensées particulières (mensonge, corruption, prévarication, trahison des engagements pris, copinage, flatterie, utilisation d'autrui, prise illégale de bénéfices, délit d'initié, évasion fiscale, choix de l'intérêt personnel au détriment de la collectivité, etc...) et les connecteurs de gauche servent au branchement des tasers connectés à certaines régions spécifiques du corps (dont, oui, en effet, bien sûr...). Deux virgule vingt-et-un Gigowatts !
Grâce à l'extaordinaire efficacité de cet appareil, on peut enfin espérer réinsérer les politiciens et le patronat dans la société civile, et même les lâcher en liberté équipés de leur petit appareil !
Nan. Je déconne. Hélas. Mais la prochaine fois, j'invente ça, et ça me vaudra un prix Nobel.
Sauf que si on veut des politiciens condamnés à l'appareil, faut d'abord inventer un rectificateur de juges... J'y travaille :-}
Le "Traco Power" c'est plus fort que le C4 ?
Comme dit mon oncle, un sacré bricoleur, ce n'est pas la puissance de la bombe qui est importante, c'est là où elle est posée.
Ouais... et ... euh... ça fait le café ?
De combien de billets va nous priver l'implémentation de Linux sur ce gros PIC ?
@pj : Oh, je crois que je n'irai même pas jusqu'à mettre FreeRTOS dessus, mais que je me contenterai de le programmer sous Linux avec Piklab, j'hésite encore à savoir si j'en ai une assez grosse pour le faire en assembleur ;-) ou si je le ferai plutôt en C avec sdcc, ce qui me semble en fin de compte le plus raisonnable :-}
"ou si je le ferai plutôt en C avec sdcc, ce qui me semble en fin de compte le plus raisonnable"
Clairement :-D sauf si tu t'emmerdes et que tu n'as rigoureusement rien d'autre à foutre. Ecrire un billet de temps en temps peut-être ;-)
C'est assez rigolo, on a l'impression que seuls ceux qui n'y connaissent strictement RIEN ont commenté ce billet.
Si le message n'est pas clair...
Ma solution pour ce genre de binz:
- Une carte d'interface 24 port I/O vers Ethernet (selectronic). Il existe des extensions vers relais.
- Un PC EEE (genre AMILO) à moins de 200 roros
- Un programme sous codeblocks+wxWidgets
Bon courage dans des expérimentations....
@Alex : Oui mais c'est beaucoup moins drôle que de faire le machin so-même ! Et puis, celui-ci est prévu pour fonctionner seul, dans un environnement hostile à contraintes diverses où il n'y a ni PC ni Ethernet mais plutôt une grosse armoire industrielle avec de gros boutons dessus :-}
P.S.: Image finale ajoutée, là-haut...
Oh ! C'est pas trop mal...
Félicitations !
Reste à savoir si ça fonctionne ... correctement ;-)
Ben déjà, il passe les tests électriques, quand je branche le courant la LED correspondante s'allume (et rien ne fait Boum !) et quand je branche le programmateur sur le connecteur ICSP, mon PC dit qu'il voit le PIC et que le PIC est content. C'est déjà un bon début ;-)
Ah, les bons vieux démons de l'électronique 'à faire soit même' t'ont repris :-)
Tout ça pour tes pompes à cosmogol j'imagine...
Bon si c'est en milieux hostile, n'oublie pas de noyer le tout dans une résine étanche à la fin... quoi, j'ai dit une connerie ?
Enfin, t'as sans doute raison d'occuper tes soirées à ça, c'est sans doute bien mieux que de rester devant 'la boite à cons' où de toute manière il n'y a rien d'intéressant.
Est-ce qu'on aura le droit d'assister à la mise à feu de l'engin ? j'aime bien les feux d'arfitice :-))
C'est quoi c'est à quoi ça sert comme Schmilblick ?
Euh... à rien, c'est pour faire avancer le schimilibilibili le schmilibili.....
@pla :
L'engin fonctionne à 100%, j'ai même pu lui faire avaler un petit programme de test de toutes ses I/O qui le transforme en sapin de Noël ;-)
Hmm... Sa sainteté aurait-ellle un faible pour les condensateurs bleus? Je n'en dénombre pas moins de 14... Sinon, pour l'utilité finale, je rique une supposition : domotique?
@Micemaster : Ce ne sont pas des condensateurs, ce sont des varistances... Et recompte : il y en a quinze :-}
Non, Ma Sainteté a un faible pour les condensateurs jaunes ;-)
Et sinon, Ma Sainteté est toute contente : elle a découvert que comme Monsieur Jourdain, elle sait programmer en C, même des trucs bizarres, mais ne savait pas qu'elle le savait :-}
...Pis vaut mieux, parce que Quand Ma Sainteté essaie de lire le code assembleur généré par le compilateur, Ma Sainteté se dit qu'elle a vraiment bien fait d'écrire plutôt en C ;-)
Ni pentode, ni triode-hexode ?
...
Moins on pédale davantage, plus on avance moins vite.
Je crois que c'est le divin Gracchus Pleindastus (ou était-ce Caïus Sacapus ?) qui disait :
"Je me sens las, las las ..."
....
Pareil, je me sens tout soudain si profondément vieux ...
...
Laisse une lumière, en partant,
pour les gosses, quoi ...
Oh mais j'écris toujours... juste dans des langues barbares :-}
BANKSEL r0x1007 MOVWF r0x1007 MOVF STK00,W MOVWF r0x1008 MOVF STK01,W MOVWF r0x1009 MOVWF STK01 MOVF r0x1008,W MOVWF STK00 MOVF r0x1007,W PAGESEL __gptrget2 CALL __gptrget2 PAGESEL $ BANKSEL r0x100A MOVWF r0x100A MOVF STK00,W MOVWF r0x100B INCF r0x100B,F BTFSC STATUS,2 INCF r0x100A,F MOVF r0x100A,W MOVWF STK02 MOVF r0x100B,W MOVWF STK03 MOVF r0x1009,W MOVWF STK01 MOVF r0x1008,W MOVWF STK00 MOVF r0x1007,W PAGESEL __gptrput2 CALL __gptrput2 PAGESEL $ BANKSEL r0x100D CLRF r0x100D MOVF r0x1009,W MOVWF r0x100B MOVWF STK01 MOVF r0x1008,W MOVWF r0x100A MOVWF STK00 MOVF r0x1007,W PAGESEL __gptrget1 CALL __gptrget1 PAGESEL $ ANDLW 0x01 BTFSC STATUS,2 GOTO _00004_DS_...
Ah, je me demandais aussi c'était quoi ces trucs jaunes, partout...Et les cylindres rouges à gauche, près des relais, c'est quoi?
Au fait, chapeau! Câbler tout ça, de tête, sans se mélanger les pinceaux, faut le faire!
P.S. une dernière faveur... Sa sainteté daignerait-elle m'éclairer sur la nature de la seconde puce en haut à droite du PIC? J'irais bien chercher la datasheet, mais je ne peux pas lire la marque ni le numéro, la photo est trop petite.
ULN2803A : Darlington transistor array (x8) : Autrement dit un réseau de transistors de puissance pour commander les relais et autres sorties avec davantage de courant que ce que le PÏC16F886 est capable de fournir.
Les cylindres rouges près des relais, et noirs aux deux coins de droite, sont des fusibles :-}
Alors je recompte: 15 varistances et 6 fusibles. Sa Sainteté prend ses précautions, on dirait! Quoique je comprends: se faire gâcher des "soirées jusqu'à des heures assez honteusement avancées" par une surtension ou un bête court-circuit, c'est un peu chiant. En passant, merci à Sa Sainteté de bien vouloir s'abaisser à faire mon éducation électronique, j'apprécie beaucuop.
J'ai un petit côté ceinture et bretelles ;-))
...pis dans l'environnement où va la chose, la foudre a déjà fumé une Livebox, un décodeur satellite et un groupe moteur triphasé au cours des derniers mois...
Alors, vous reprendrez bien deux varistances avec un petit fusible, madame la baronne ?
Monsieur,
Ceci sera le seul avertissement du pôle.
Soit vous nous dites exactement de quoi votre bidule est capable, soit nous enverrons le SWAT, la DGSE, la CIA, le FBI et Valérie Damido matutinalement afin de vous refaire la décoration de votre laboratoire.
A bon entendeur.......
tain ... j'adore toujours autant quand y cause bas-moldave pré-médiéval, le swämi ...
reste que , faut pas qu'y s'étonne si on est tous sur le palier le jour ou "le SWAT, la DGSE, la CIA, le FBI et Valérie Damido" lui défonceront la porte ... même quon chantonnera "allez les bleus, allez les bleus" ... bien fait na !!!
Aïe !!! vache, tu t'es remis à l'assembleur ?
Top respect... passe que si déjà je dois me souvenir de la dernière fois où j'ai programmé... non en fait c'était il n'y a pas si longtemps, en 2005, mais c'était sous la torture et du Java ! Sinon, l'assembleur, ça devait être en février 1986 !!! et encore, c'était juste pour voir, ensuite on est bien vite passé au Cobol, que nous abandonnâmes aussi vite pour passer au RPG/GAP II :-)
C'est là qu'on se rend compte du temps qui passe, hein mon vieux Swâmi.
Là, j'en suis à 972 lignes de code en bas moldave mixé à 75% de C et 25% d'assembleur, et qui marche, j'ai même appris au bestiau à jouer quelques petits morceaux de musique :-}
...et la musique, en assembleur... Tu commences par calculer la fréquence de chaque note en Hertz que tu multiplies par deux, puis tu l'affectes à un timer puis tu calcules le prescaler du Timer qui doit être 1, 4 ou 16, un postcaler de 0 à 15 et un registre comparateur arbitraire, tu divises par la fréquence d'horloge à 8 MHz et tu ajoutes l'âge du programmeur... Tu utilises alors une interruption matérielle calée sur le Timer scalé par devant et par derrière pour inverser le signal et à la fin tu as des notes que l'accordeur de mademoiselle Patâpatî juge parfaitement justes tandis que mes calculs tablent sur un écart maximal de 0,4%, le huitième de ton tournant autour de 1,5%...
Quelques bonnes soirées de calculs sur un tableur OpenOffice rien que pour démerder ça :-\
Bon enfin, le fichier en code machine qui sort de ce bordel pèse actuellement dans les 4 Ko en mémoire flash plus une centaine d'octets en EEPROM :-}
...Sinon, je crois bien que j'ai la grippe.
ceinture, bretelles et préservatif oui!
Ouais enfin des notes justes, c'est pas comme si on multipliait tout par 2^(n/12) avec un la à 440 Hz hein ... avec donc tous les demi-tons égaux (géométriquement parlant bien sûr) sinon c'est tout sauf juste.
C'est un peu plus flagrant si tu fais de la polyphonie.
Cet homme n'est pas dans son état normal...
Oui, la fièvre, l'Agrippa !!! aaaaaaaaaaaaaahhhhhhhhhhhh
Alors ?
Ça a pas tout fait cramé, j'espère !
L'ordinateur avec, et ce n'est plus possible d'écrire le moindre billet...
Faut être prudent, quand même !
...
À moins que ça soit la grippe A (H1N1) ?
;-)
Alors, l'engin sait déjà admirablement jouer le thème de Darth Vader et clignoter comme un sapin de Noël ;-)
// Valeurs comparateur PR2 pour utilisation //Timer2 comme générateur fréq. #define DO_T2 238 #define DOZ_T2 224 #define RE_T2 212 #define REZ_T2 200 #define MI_T2 189 #define FA_T2 178 #define FAZ_T2 168 #define SOL_T2 158 #define SOLZ_T2 149 #define LA_T2 141 #define LAZ_T2 133 #define SI_T2 126 // Darth Vader (8) __code unsigned char __at(EEAD_TUNES) EE_TUNES[]={ \ SOL_T2, 0x17, 0x00, 0x01, SOL_T2, 0x17, 0x00, 0x01, SOL_T2, 0x18, \ REZ_T2, 0X16, LAZ_T2, 0x12, SOL_T2, 0x18, REZ_T2, 0X16, LAZ_T2, 0x12, \ SOL_T2, 0x18, SOL_T2, 0x18, RE_T2, 0x27, 0x00, 0x01, RE_T2, 0x27, \ 0x00, 0x01, RE_T2, 0x28, REZ_T2, 0x26, LAZ_T2, 0x12, FAZ_T2, 0x18, \ REZ_T2, 0x16, LAZ_T2, 0x12, SOL_T2, 0x18, SOL_T2, 0x18, \ 0x00, 0x00 };Bon, là, j'en suis à euh... 4 fichiers .h, 3 fichiers .c, pour un total d'environ 1200 lignes de code dont l'essentiel fonctionne, mais je me fais transpirer veugra à débugger des expressions du genre :
etat.octet=0xff; for (i=1; i<=imax; i++) { switch (0b00000011&(blinkLed.octet>>(i*2))) { (...) case 3: { if ((0b11100000|qzTimer.byte0)==0xff) etat.bit0=1; else etat.bit0=0; break; } } LED.octet=LED.octet&(etat.octet>>i); } blinkLed.octet<<(i*2); (...)...Comme quoi j'ai encore de longues soirées d'hiver devant moi :-\
J'estime que j'ai écrit et débuggué environ 60% du code nécessaire, en commençant par les routines de service de bas niveau les plus chiantes à faire, pis vaudrait mieux que j'en aie déjà pondu au moins 60%, vu que j'occupe déjà environ 60% de la mémoire flash programme disponible sur la bestiole, et au moins 80% de la RAM et de l'EEPROM :-\
Ce qui explique qu'en tant que bloggeur, j'ai pris un congé sabbatique :-}
Je ne sais pourquoi, a lire tes histoires de Darth Vader dans une armoire industrielle, je t'imagine avec une tete de 'Doc Brown' (de 'retour vers le futur').
Enfin, l'essentiel c'est que ca te plaise, hein :)
Mouarf, Doc Brown, après l'accident, ces jours-ci :-}
Alors ? toujours en train de bricoler ton Tricorder ? Tu pense pas qu'il serait temps de faire une pause billetpourlesdisciplesquiattendentdevant la televisiondebranchée ?
ouai, y pourrait nous causer de la vraie vie, du NPA, des zélections régionales , enfin ce genre de trucs ....
la question qui tue : (je me suis trompée de bouton ;)) ) Et ça sert à qui ou à quoi si ça marche? en cas de pépin, je te conseille :http://thereifixedit.com/
Demain je vais aux cèpes sur mes terres. Il y en a, si tu savais, tu sortirais ton opinel ou ton laguiole....
oueeeee :)
Bon, ça y est, on va pouvoir parler d'autre chose?
Là, je crois que Ma Sainteté est vraiment en mode gros interlude.
Ces derniers jours, je faisais de l'électricité avec du câble un peu plus gros que celui qu'on voit plus haut. Du 20mm² : celui qui se coupe non pas à la pince, mais à la scie à métaux avec une grosse dose d'huile de coude, et qu'il faut se mettre à deux pour plier. J'ai aussi planté 3 piquets de terre à 1m80 sous la surface d'un sol rocailleux (enfin, il devient rocailleux dès qu'on se met dans l'idée d'aller 6 pieds sous terre...). À la masse. J'ai quelques monstrueuses ampoules aux mains et des douleurs dans les doigts qui me gênent un peu pour écrire... ;-)
Ah oui, du 20 mm² ça fait dans le gros... oeuvre !
T'es dans le BTP maintenant ?
ah, ben oui, ça aussi ça le fait, c'est les gens de la ville qui veulent jouer avec les outils des vrais hommes, ça fait toujours comme ça au début; suffit d'insister un peu, ensuite tu auras de belles callosités qui te protégeront définitivement de ce genre d'ennui... mais ça sera un peu moins doux pour ta copine :-(
tain qu'est ce qui faut pas faire pour être prés du peuple !
Le retour à la terre dans tous les sens du terme? Bravo, Swâmi, on dirait que le discours en stéréo de notre majesté des mouches t'a convaincu.
La terre ne ment pas... surtout quand c'est de la pierre.
Je ne suis pas sure qu'il soit, le Grand Maître , en train de tripatouiller son monstre, vues les quanités de cèpes qui ont fait une sauvage apparition dans les bois alentoours de (...) depuis quelques jours.
Faut savoir choisir. Tu les fais à l'Opinel ou au Laguiole? non, pas la scie à métaux!
Non, chuis pas trop cèpes, c'est gras ;-)
...et chuis pas trop bois non plus en cet instant hélas, je suis au (putain de) bureau où je prostitue un peu de mon intelligence et beaucoup de mon temps...
Pour les discours de sa majesté des mouches et de ses séïdes, acolytes, courtisans et pompe-dard j'ai atteint la phase ultime du dégoût et de l'écoeurement, je pense. Celui à partir duquel la simple idée d'y penser, d'y répondre ou de s'exprimer à leur propos est déjà leur faire beaucoup trop d'honneur, et nous faire beaucoup trop de tort à commencer par celui de laisser leur fétidité, puanteur et nauséabondesquerie occuper, donc infecter, notre esprit.
En quelque sorte, je me désinfecte l'esprit, autant que faire se peut. Je pratique l'aération délibérée des parties supérieures et l'exercice intensif des parties méridiennes de mon individu, toutes choses tantriquement excellentes.
Désolée d'avoir pollué ton blog avec des évocations putrides. Je suis bien d'accord avec toi, y penser même c'est leur faire trop d'honneur.
"On ne peut pas empêcher les oiseaux noirs de voler au dessus de nos têtes, mais on peut (on doit?) les empêcher d'y faire leur nid".
Pas facile, parfois...
T'en fais pas Jardin pour la "pollution", ce modeste ashram brille surtout ces temps derniers par la persistante absence de son Divin Guru ;-)
Pis pour les vilains coucous, si on ne peut pas toujours les empêcher de nider, voire même de pondre dans nos malheureuses têtes qui n'en demandaient pas tant, on peut toujours prendre un malin plaisir à écrabouiller les oeufs, même si on n'a aucune intention d'avaler l'omelette :-}
Du 20mm² qu'on coupe à la scie à métaux...
Les photos du circuit électronique...
Je me mêle de ce qui ne me regarde pas, mais j'ai l'impression que ça ne va pas ensemble.
Et, je me mêle encore de ce qui ne me regarde pas, mais on a le droit d'installer comme ça une ligne électrique aérienne ?
Et puis ça n'aurait pas été mieux d'enterrer la ligne électrique ?
Et tout ça pour éclairer le sapin de Noël...
C'est pas un peu disproportionné ?
;-)
...et puis je programme en C tellement comme un sauvage que je me suis cassé le nez sur un bug du compilo - après avoir passé genre 2 jours et une nuit à tenter de faire la part des choses entre un bug du compilo et un bug de mon cerveau :-/
Gloire au Logiciel Libre ! Il aura fallu 3 jours entre le moment où j'ai rapporté mon probable trouvage de bug dans sdcc et la correction de ce bug par un des développeurs... Espérez donc voir corriger aussi vite et gratos un bug dans n'importe quel logiciel commercial...
Bon en attendant, j'ai explosé les pauvres capacités cérébrales du PIC16F886 qui est sur le montage là-haut, alors mardi soir, j'ai ressorti le fer à souder et monté un PIC18F2550 à la place. J'ai donc encore de longues heures d'amusement devant moi...
Ben oui, quand je n'écris pas des billets en français, j'écris du code en C :-\
Quelques milliers de lignes même, et sous licence GNU/GPL bien sûr :-}
Ouais ben fais nous un billet avec du code. Au point ou en sont tes disciples à force de se languir de la divine parole, ils finiront par lire n'importe quoi, meme un script en C...
Tiens, ce matin, j'ai presque failli écrire un billet :-}
des mots !
;)
...mais comme j'ai passé le week-end à faire (divinement) l'amour, à me balader sous les chataîgniers avec la main de ma compagne dans la mienne, à rebrancher les sources qui coulent de nouveau parce qu'enfin, il pleut, à alimenter la cheminée, à griller les saucisses sur le feu, à jouer aux échecs, à dormir, aussi, très tard, et à me lever encore plus tard, en fait, je n'ai pas écrit de billet.
"mais comme j'ai passé le week-end à faire (divinement) l'amour ... , je n'ai pas écrit de billet."
Alors Swâmi je te souhaite sincèrement de ne plus commettre de billet que on ne peut plus rarement. :-)
Tu étais absolument passionnant dans tes périodes de galère mais être heureux ça le fait bien aussi, ne serait-ce que pour l'exemple. Quand même, si tu avais une once de divinité, tu sacrifierais joyeusement ton temps à l'édification de tes disciples. Egoïste qui ne ne pense pas à nous !
A te lire le plus rarement possible ;-))
Au fait, n'oublie de te faire H1N1-piquouser, on voudrait pas te perdre juste avant que tu ne publies un nouveau billet entre 2 siestes crapuleuses.
Hein?