bonsoir,
au niveau du programme je suis du même avis que esso, le mieux est de faire son propre programme, le miens je l'ai écris, pour moi, pour mon fat, pour mon câblage de l'arduino, donc c'est conçus pour l'application que j'en fais moi
c'est sur que le programme est un peu effrayant mais en fait il est très simple, il est surtout long ! surtout à cause des lignes de codes pour les affichages ! mais pourtant je suis débutant, il faut faire par étapes, commencer par faire les fonctions de base d'un fat, allumer un moteur, éteindre, puis développer petit à petit
pour la sécurité c'est possible, j'aurait pu ajouter à partir de la ligne 351 une condition de plus, par exemple :
Code : Tout sélectionner
if(derniercycle < 10)
{
while(1)
{
analogWrite(10,0);
analogWrite(9,0);
delay(10000);
// puis par exemple afficher "sécurité" sur l'ecran
}
}
à partir de la ligne 351 c'est un rinçage, avant de le faire, cette ligne de code vérifierait que le dernier cycle d'encrassement du tamis n'a pas été trop court, si il a duré moins de 10 secondes, la pompe et le tambour est stoppé, ensuite tout est possible, je peux afficher quelque chose à l'écran, attendre qu'un bouton soit appuyé ou simplement que l'arduino soit réinitialisé avec le petit bouton reset
je n'ai pas fais cela car j'ai un bypass de sécurité qui s'ouvre si jamais le FAT a un problème, une fois qu'il est ouvert il ne peux se refermer que par mon intervention et également il fait remonter le niveau d'eau fat et donc le FAT ne fait plus rien une fois le bypass ouvert
j'ai présenté mon bypass ici :
viewtopic.php?f=80&t=2235
j'ai opté pour cette solution car il est infaible, il n'y aucun capteurs ni quoi que ce soit
pour éviter que des rinçages répété soit fait entre la panne du fat, l'encrassement total du tamis, et le déclanchement du bypass, j'ai mis des temporisations, par exemple si je tiens le flotteur bloqué, il faut 2s avant que l'arduino prenne l'info, ensuite il fait tourner le tambour, et temporise ce que j'ai réglé sur le paramètre temporisation, donc il attends 5s de plus, ensuite 2s pour reprendre l'info du flotteur, il va faire ça 3 fois puis après un rinçage, la tempo est doublée.... du coup on tombe sur un rincage toutes les 31s, je peux augmenter la tempo mais avec mon bypass ce n'est pas nécessaire !
j'avais pensé aussi à enclencher un rinçage directement sans faire 3-4 rotations avant, si lorsque une rotation est faite, le niveau d'eau ne remonte pas dans les 2s mais j'ai trouvé cela dangereux en cas de pannes
pour les librairies ça se trouve facilement sur internet, par contre c'est bizarre qu'il te manque la SPI car elle est incluse au logiciel de programmation arduino
adafruitGFX :
https://github.com/adafruit/Adafruit-GFX-Library
SSD1306 :
https://github.com/adafruit/Adafruit_SSD1306
dans chaque librairies tu a des exemples de codes, surtout le SSD1306 qui est la librairie pour l'ecran OLED 0.96 pouces, une fois la librairie copiée dans le dossier de l'arduino, tu va dans fichier > exemples > adafruit ssd1306
par contre attention dans les exemple il y a une lettre à changer dans le code pour que l'écran fonctionne !!! y a de quoi rester bloquer des heures à chercher pourquoi ça ne fonctionne pas
ligne de code à modifier :
à modifier par :
pour les mosfets j'utilise le schéma du bas :
http://boutique.semageek.com/119-252-th ... irf540.jpg
le moteur à essuie glace est à la place de 'load'
encore une fois, je te conseille de te faire ton propre programme, ce n'est pas si compliqué que ca en a l'air