a-faire:pensebete
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
a-faire:pensebete [2022/03/30 17:46] – gerardadmin | a-faire:pensebete [2023/02/11 16:18] (Version actuelle) – [Installer windows 11 dans virtualbox sans TPM2] gerardadmin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ======== Commandes linux ======== | ||
+ | |||
+ | [[start: | ||
+ | |||
+ | |||
+ | ======== Boutons Arduino ======== | ||
+ | |||
+ | [[Start: | ||
+ | |||
+ | |||
+ | ==== exemple 2 ==== | ||
+ | Anti-rebonds logiciel : approche simple | ||
+ | |||
+ | La solution la plus simple, est d’attendre quelques millisecondes avant de relire l’état du bouton : | ||
+ | |||
+ | <code c> | ||
+ | if( le bouton vient d être appuyé){ | ||
+ | effectuer l action nécessaire | ||
+ | attendre quelques millisecondes | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Cependant, cette solution possède plusieurs inconvénients : il faut tout d’abord suivre l’état du bouton en permanence pour détecter le moment où le bouton vient d’être appuyé ( front descendant du signal ), sans quoi l’action se répétera tant que le bouton est maintenu appuyé. De plus, on ne différencie par un appui bref d’un appui maintenu. Je vous propose donc une autre solution bien plus complète, mais également un peu plus complexe. | ||
+ | Anti-rebonds logiciel : approche complète avec détection d’appui long | ||
+ | |||
+ | Le code ci-dessous a été écrit en C pour un microcontrôleurs PIC avec le compilateur PICC de hi-tech, mais il est portable très facilement vers tout autre système programmable en C : | ||
+ | |||
+ | <code c test1.ino> | ||
+ | #define BUTTON_POLLING_INTERVAL 20 // | ||
+ | #define COUNT_DEBOUNCE 10 // | ||
+ | #define COUNT_SHORT_PRESS 5 // | ||
+ | #define COUNT_LONG_PRESS 50 // | ||
+ | |||
+ | unsigned int releasedCount = 0; | ||
+ | unsigned totalCount = 0; | ||
+ | |||
+ | //comptage du temps d appui et anti-rebonds | ||
+ | while(totalCount< | ||
+ | tempo(BUTTON_POLLING_INTERVAL); | ||
+ | if(BUTTONPIN){ | ||
+ | releasedCount=0; | ||
+ | totalCount++; | ||
+ | } | ||
+ | else{ | ||
+ | releasedCount++; | ||
+ | } | ||
+ | if(releasedCount> | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | //execution des actions apres appui | ||
+ | if(totalCount==COUNT_LONG_PRESS){ | ||
+ | //inserer ici action appui long | ||
+ | while(BUTTONPIN); | ||
+ | } | ||
+ | else if(totalCount> | ||
+ | //inserer ici action appui bref | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | *BUTTONPIN correspond au nom de la broche du microcontrôleur à laquelle le bouton est connecté. | ||
+ | |||
+ | *BUTTON_POLLING_INTERVAL correspond à intervalle de temps séparant 2 lectures de l’état du bouton ( en ms ). | ||
+ | |||
+ | *COUNT_DEBOUNCE permet l’anti-rebonds. Multiplié par BUTTON_POLLING_INTERVAL, | ||
+ | |||
+ | *COUNT_SHORT_PRESS multiplié par BUTTON_POLLING_INTERVAL indique la durée minimum de l’appui sur le bouton avant de déclencher l’action « appui bref ». | ||
+ | |||
+ | *COUNT_LONG_PRESS multiplié par BUTTON_POLLING_INTERVAL indique la durée d’appui sur le bouton après laquelle l’action « appui long » est effectuée. | ||
+ | |||
+ | ===Explication du fonctionnement=== | ||
+ | |||
+ | La partie majeure du code se situe dans la boucle « while » qui lit régulièrement l’état du bouton. Le programme quitte la boucle si | ||
+ | |||
+ | *Le bouton est lu « relâché » un nombre COUNT_DEBOUNCE de fois consécutives. On considère alors que le bouton est bien relâché. | ||
+ | *Le bouton est resté appuyé un nombre COUNT_LONG_PRESS de fois. On a alors atteint la durée de l’appui long. | ||
+ | |||
+ | Une fois cette boucle quittée, le programme regarde combien de fois le bouton a été lu comme appuyé : | ||
+ | |||
+ | *Si le bouton a été lu appuyé un nombre COUNT_LONG_PRESS de fois, qui correspond à un appui long, il effectue l’action correspondante à un appui long. | ||
+ | *Sinon, si le bouton a été appuyé assez longtemps ( cette valeur est définie par COUNT_SHORT_PRESS ), il effectue l’action correspondante à un appui bref. | ||
+ | *Sinon, c’est que le bouton n’a pas été appuyé, ou appuyés de façon très ponctuelle, alors le programme ne fait rien. | ||
+ | |||
+ | Après un appui long, le programme attend que le bouton soit relâché avant de continuer. | ||
+ | |||
+ | On a donc un système qui intègre un anti-rebonds, | ||
+ | |||
+ | *BUTTON_POLLING_INTERVAL = 20 | ||
+ | *COUNT_DEBOUNCE = 10 | ||
+ | *COUNT_SHORT_PRESS = 5 | ||
+ | *COUNT_LONG_PRESS = 50 | ||
+ | |||
+ | |||
+ | |||
+ | ======== Visieres ========= | ||
+ | |||
+ | * [[start: | ||
+ | |||
+ | |||
+ | |||
+ | |||
======== Changer mot de passe windows 10 ======== | ======== Changer mot de passe windows 10 ======== | ||
Ligne 17: | Ligne 122: | ||
utilisez la combinaison de touches suivantes s’il n’y a pas Bitlocker sur la machine : | utilisez la combinaison de touches suivantes s’il n’y a pas Bitlocker sur la machine : | ||
- | MAJ + F10 | + | **MAJ + F10** |
Cela aura pour effet d’ouvrir une invite de commande (un terminal quoi) en mode Administrateur. | Cela aura pour effet d’ouvrir une invite de commande (un terminal quoi) en mode Administrateur. | ||
Ligne 24: | Ligne 129: | ||
Étape 3 : Les commandes | Étape 3 : Les commandes | ||
- | Une fois sur l’invite de commande, placez vous dans le dossier D: | + | Une fois sur l’invite de commande, placez vous dans le dossier |
- | + | ** D: | |
- | d: | + | d: ou e: |
cd windows\system32 | cd windows\system32 | ||
Ligne 32: | Ligne 137: | ||
Puis faites une copie de sauvegarde de sethc.exe qui est le programme permettant d’utiliser les « Sticky Keys » ou en français les touches rémanentes. | Puis faites une copie de sauvegarde de sethc.exe qui est le programme permettant d’utiliser les « Sticky Keys » ou en français les touches rémanentes. | ||
- | copy sethc.exe .. | + | **copy sethc.exe .. |
+ | ** | ||
Ensuite, il faut écraser sethc.exe avec le programme cmd.exe (l’invite de commande). | Ensuite, il faut écraser sethc.exe avec le programme cmd.exe (l’invite de commande). | ||
- | copy cmd.exe sethc.exe | + | **copy cmd.exe sethc.exe** |
Étape 4 : Second boot | Étape 4 : Second boot | ||
Ligne 42: | Ligne 147: | ||
Ensuite, il faut rebooter mais ne pas démarrer sur le DVD. Laissez votre ordinateur démarrer normalement, | Ensuite, il faut rebooter mais ne pas démarrer sur le DVD. Laissez votre ordinateur démarrer normalement, | ||
- | Ensuite, maintenez la touche MAJ enfoncée et cliquez sur le bouton Redémarrer en bas à droite | + | Ensuite, |
Cela aura pour effet de vous envoyer sur un écran utilisé pour le dépannage de Windows. | Cela aura pour effet de vous envoyer sur un écran utilisé pour le dépannage de Windows. | ||
Ligne 99: | Ligne 203: | ||
======== Installer windows 11 dans virtualbox | ======== Installer windows 11 dans virtualbox | ||
+ | |||
+ | [[https:// | ||
Voici un guide étape par étape pour créer une machine virtuelle Windows 11 dans VirtualBox, y compris en contournant les restrictions TPM et le démarrage sécurisé. | Voici un guide étape par étape pour créer une machine virtuelle Windows 11 dans VirtualBox, y compris en contournant les restrictions TPM et le démarrage sécurisé. |
/home/chanteri/www/fablab37110/data/pages/a-faire/pensebete.txt · Dernière modification : 2023/02/11 16:18 de gerardadmin