DIY: Automatisation de la cafetière

Ma cafetière a récemment arrêté de faire du café filtre : l’eau ne chauffait plus et ne passait du coup plus dans le filtre. La partie expresso fonctionnant toujours, j’avais pas super envie de la jeter du coup, car c’est une chouette cafetière qui fait du bon café.

Après une analyse technique, principalement un démontage de la cafetière pour réaliser que la résistance chauffante au fond n’était plus alimentée, j’ai trouvé que le relais commandé par le petit bouton était mort. J’ai commencé par brancher un fil électrique normal à la résistance, et vérifier que tout fonctionnait parfaitement quand on branchait ça.

Par contre, fallait pas oublier de débrancher la cafetière après usage, mon montage hyper simple étant, donc, « always on ».

Je me suis dit qu’en branchant la prise directement sur une prise domotique, j’avais moyen d’allumer et d’éteindre la cafetière sans débrancher la fiche, et même de déclencher l’allumage automatiquement à 7h du matin ! (j’ai commencé à domotiser la maison, j’en ferai un post à l’occasion).

Avantages :

  • Plus besoin de brancher/débrancher la prise du mur
  • Plus besoin de bricoler la cafetière, on pouvait la considérer suffisamment fonctionnelle
  • Le café automagique le matin !

Par contre il y avait aussi des inconvénients :

  • Déclenchement « magique » du café le matin,… même si on oublie de préparer le café le soir !
  • Obligation d’aller sur l’interface domotique (via smartphone ou sur le contrôleur du mur de l’entrée) pour allumer la cafetière à un autre moment de la journée
  • Obligation de penser à retourner l’éteindre par l’interface une fois le café coulé.

J’ai donc commencé à réfléchir à ce que je voulais pouvoir faire, et voici la liste des fonctionnalités voulues :

  • Allumage automatique du café le matin, mais seulement s’il est préparé
  • Extinction automatique une heure après l’allumage, pour éviter de l’oublier des heures et des heures
  • Utilisation aussi simple qu’avant : ne pas avoir besoin de dégainer une interface web pour refaire une cafetière pendant la journée

Pour cela, je me suis attelé au câblage et à la programmation d’un Arduino doté de :

  • Un adaptateur secteur USB démonté, pour alimenter l’Arduino
  • Un relais pour commander la cafetière
  • Un interrupteur pour commander l’allumage / extinction du relais
  • Une LED indicatrice de l’opération en cours
  • Un détecteur de niveau d’eau

Ce petit montage serait ensuite branché sur une prise domotique, allumable et éteignable sur commande ou à des heures pré-indiquées dans mon interface domotique.

L’algorithme de cet Arduino est assez simple, voici sa fonction principale :

  • Au démarrage (c’est à dire lorsque la prise domotique lui donne du courant)
    • il lance la fonction [essayer de faire du café]
  • Puis, tant que l’Arduino fonctionne :
    • Si on touche à l’interrupteur
      • si le café était en cours
        • il lance [arrêter de faire du café]
      • sinon
        • il lance [essayer de faire du café]
    • Sinon
      • si le café est en cours et que ça fait une heure
        • [arrêter de faire du café]

Ses sous-fonctions sont donc [essayer de faire du café], et [arrêter de faire du café].

La fonction [essayer de faire du café] doit juste :

  • Vérifier s’il y a de l’eau. Si oui,
    • allumer le relais pour alimenter la cafetière
    • allumer la LED pour indiquer qu’on fait du café
  • Sinon,
    • faire clignoter la LED quatre fois pour indiquer que ça ne sert à rien d’allumer la cafetière vide.

La fonction [arrêter de faire du café] est encore plus simple :

  • éteindre le relais pour arrêter d’alimenter la cafetière
  • éteindre la LED.

Les branchements électriques, eux aussi sont assez simples (à part qu’il faut pas mal de fil pour atteindre les différents endroits de la cafetière) :

  • Une prise électrique trois broches normale (phase, neutre et terre)
  • La phase et le neutre alimentent l’adaptateur USB, puis
  • Le neutre et la terre vont directement à la résistance chauffante de la cafetière, tandis que
  • La phase fait un détour par les broches NO (« Normalement Ouvert ») du relais, ce qui permet de couper le courant vers la cafetière
  • Et enfin, le côté USB (+5V) de l’adaptateur va aller alimenter l’Arduino ainsi que le relais et le capteur de niveau d’eau.

Il reste les branchements électroniques :

  • La patte « Signal » du capteur de niveau d’eau va sur une broche analogique de l’Arduino (A1 dans mon cas, configurée en INPUT)
  • La LED, en série avec une résistance de 220Ω est branchée à la masse et à une broche numérique de l’Arduino (D2, configurée en OUTPUT)
  • L’interrupteur est branché à la masse et à la broche D6 de l’Arduino, configurée en INPUT_PULLUP, ce qui évite d’avoir besoin d’utiliser une résistance et une alimentation
  •  La patte « Signal » du relais, sur la broche D10 de l’Arduino, configurée en OUTPUT aussi.

Le schéma de câblage

Vous pouvez retrouver le schéma de câblage au format Fritzing ici, et le code source Arduino là.

Après il ne restait plus qu’à souder, tester :

J’ai mis beaucoup plus de temps que je n’aurais voulu à souder, parce que je me suis gourré de soudure et j’ai pris la pourrie. C’est incroyable à quel point ça complique des choses qui sont censées être simples.

Bref, après un peu de travail supplémentaire d’assemblage, ça donne ça :

Vue de l’avant

Et voici une petite démonstration de l’allumage automatique (sans eau : ça clignote puis se rééteint) puis manuel (idem).