Il existe une application Android « Apnea Lite » qui propose des tables hypoxiques et hypercapniques ainsi que des tables carrées. Pour chaque table, il y a un décompte possible et la possibilité de la configurer :
Il existe d'autres applications :
Dans un autre registre il est possible de modifier des compteurs de HIIT : http://minicoach.la-bnbox.fr/ ou http://howtommy.net/fitness/.
N'ayant pas trouvé de chrono qui me satisfait, j'ai codé un petit script python qui fait ça. Vous pouvez même le lancer sur le téléphone avec Qpython.
#!/usr/bin/python3 #-*- coding: utf-8 -*- import time # configuration apnée cycles = 10 insp = 4 plein = 3 exp = 8 vide = 3 # configuration script tempo = 1 terminal = "d" #d=desktop, m=mobile, u=ubuntu # import selon terminal if terminal == "m": # https://github.com/qpython-android/qpython3/releases import androidhelper droid = androidhelper.Android() if terminal == "u": # https://pypi.org/project/progress/ import sys sys.path.append("/usr/local/lib/python2.7/dist-packages") from progress.bar import Bar # fonction d'affichage compteur selon terminal def progression(message, duree): if terminal == "d": print("\n-------------") print(message, duree, "\t", end='') for temps in range(duree): print(temps +1, " ", end='', flush=True) time.sleep(tempo) if terminal == "m": droid.vibrate(duration=200) print("\n-------------") print(message, duree, "\t") for temps in range(duree): print(temps +1) time.sleep(tempo) if terminal == "u": bar = Bar(message, max=duree) for i in range(duree): time.sleep(tempo) bar.next() bar.finish() # fonction d'affichage de la configuration def configuration(): print("________________________", "\nConfiguration actuelle :", "\n", cycles, "cycles", "\n inspiration :", insp, "- plein :", plein, "\n expiration :", exp, "- vide :", vide) print("Temps total :", cycles*(insp+plein+exp+vide)*tempo) # bandeau présentation print( " O ‘'’ O \n" "/¯\ |¯| |\| |¯ /¯\ ¯|¯ | |\/| |¯ |¯| o o o \n" "|¯| |¯ | | |¯ |¯| | | | | |¯ |¯\ ° ° ° \n" " ¯ ¯ ° : ° \n" ) # présentation configuration et démarrage configuration() reponse = input(">>> Démarrer ? <<< " "Ou indiquer 5 nombres pour changer la configuration.\n") if reponse: # conversion chaine de caractere en liste reponse = reponse.replace("."," ").replace(","," ").split() # conversion liste de chaine en liste d'entier reponse = [int(i) for i in reponse] if len(reponse) == 5: cycles = reponse[0] insp = reponse[1] plein = reponse[2] exp = reponse[3] vide = reponse[4] configuration() else: print("Mauvaise entrée. Conservation configuration par défaut.") # lancement cycles for cycle in range(cycles): print("\n=============\nCycle", cycle+1, "sur", cycles, end='') if terminal == "m": droid.vibrate(duration=400) progression("Inspiration ", insp) if plein: progression("Plein ", plein) progression("Expiration ", exp) if vide: progression("Vide ", vide) # licence """ LICENCE PUBLIQUE RIEN À BRANLER Version 1, mars 2009 Copyright (C) 2009 Sam Hocevar 14 rue de Plaisance, 75014 Paris, France La copie et la distribution de copies exactes de cette licence sont autorisées, et toute modification est permise à condition de changer le nom de la licence. CONDITIONS DE COPIE, DISTRIBUTON ET MODIFICATION DE LA LICENCE PUBLIQUE RIEN À BRANLER 0. Faites ce que vous voulez, j’en ai RIEN À BRANLER. """ # auteur """ Créateur initial : Pierre Dubois http://pierre-dubois.org """
Les définitions suivantes sont inspirées de mes besoins, de ma tentative d'une première version de ApneaTimer, des tables d'exercices lues dans des livres, des exercices effectués à Apnée Attitude et aussi de l'utilisation de Apnea Lite.