Bienvenue sur le forum des amateurs et passionnés de poissons cichlidés du lac Malawi.
Même si vous n'êtes pas de Gironde, venez quand même, on ne vous jettera pas de pierres (on en a besoin pour nos aquariums :-)
|
Bienvenue sur le forum des amateurs et passionnés de poissons cichlidés du lac Malawi.
Même si vous n'êtes pas de Gironde, venez quand même, on ne vous jettera pas de pierres (on en a besoin pour nos aquariums :-)
Hello,,
Ce post a pour but de monter un des montages possible et l utilisations d'une régulation par Arduino. C est quoi un Arduino ? Arduino est un circuit imprimé prototypage en matériel libre (dont les plans de la carte elle-même sont publiés en licence libre mais dont certains composants sur la carte, comme le microcontrôleur par exemple, ne sont pas en licence libre) sur lequel se trouve un microcontrôleur qui peut être programmé. Plusieurs modèles de cartes existent, plus ou moins puissantes. Dans notre cas, nous allons utiliser le modèle : Arduino Mega2560 Il est équipé d'un ATmega2560 de type CMS, augmentant la mémoire totale disponible à 256 ko. Il est équipé aussi de la nouvelle puce USB ATmega8U2 Caractéristiques: Microcontrôleur ATmega2560 Tension de fonctionnement 5 V Tension d'alimentation (recommandée) 7- 12 V Tension d'alimentation (limites) 6 - 20V Nombre d'E/S 54 (dont 14 pouvant générer des signaux PWM) Nb ports "Analogique/Numérique" 16 Courant max. par E/S 40 mA Courant pour broches 3.3 V 50 mA Mémoire Flash 256 KB (ATmega328) dont 8 Kb utilisés par le bootloader SRAM 8 Kb (ATmega328) EEPROM 4 Kb (ATmega328) Vitesse horloge 16 MHz Cette carte qui, pour faire un parallèle avec un pc, serait la carte mère. Comme sur un pc, nous pouvons ajouter des cartes périphériques ( sur un pc ça serait une carte vidéo, carte son ......... ) Grâce à sa licence libre, une multitude de cartes additionnelles en tous genres existent pour l'Arduino. -Afficheurs : Module Shield afficheur tactile couleur TFT 2,8" V , Shield OpenSegment 4 digits , Module Shield afficheur LCD 2x16 caractères RVB , 3.2" TFT Touch LCD SD , 7" TFT Touch LCD SD........................... -GPS / GSM : Module "Shield GSM" , Module GPS I2C pour arduino , Module "Shield station météo" ................... -wifi et Ethernet : SainSmart 8 Channels WIFI , Ethernet Shield module .......................... -Capteurs : pression , niveau , ph , température , mouvement , IR , eau ................................. - Ampli : un ou plusieurs relais , carte amplificateur de signal ............... - Module de temps : horloge ............. Bref, on peut à peu près tout faire avec cette bébête ****1 Les prix : Comme la licence est libre on retrouve pas mal de marques qui proposent des copies de l'Arduino : SainSmart , Geeetech Iduino ............... Pour un vrai Aduino, compter 40 €, et pour une copie 15 € ................ Pour la partie des périphériques, les prix vont d un euros à un quarantaine d euros, mais en général un périphérique ne coute pas grand chose. Tout cela ce trouve sur ebay J ai recu ma carte !!!!!!!!!!!!! et après ? Comme nous avons vu l'Arduino est programmable sous licence libre. Il existe un multitude de programmes tout faits ou en partie déjà faits. Pour cela nous avons besoin d un compilateur ( soft qui injecte depuis un pc ou un mac le programme dans l arduino ) Dispo ici http://arduino.cc/en/Main/Software Après la présentation de la bête, revenons à nos moutons ou plutôt à nos poissons Matériel utilisé : - 1 Arduino Mega2560 - 1 ecran : 3.2" TFT Touch LCD SD Reader ou 7 Inch TFT LCD Display Module Font IC 800x480 - 1 TFT Shield Kit For Arduino ou TFT/SD Shield for Arduino DUE TFT LCD Module SD Card Adapter 2.8 3.2 inch Mega - 1 module horloge : DS1307 Arduino" ou "RTC arduino - 3 sondes de température : DS18B20 waterproof - 1 carte Mega Screw Shield ( pas obligation mais ca facilite la vie ) - 3 résistances de 4,7k - 1 alim 5 V stabilisé Partie horloge Partie Arduino + ecran + TFT Shield Kit For Arduino +carte Mega Screw Shield Au sujet du câblage j ai trouvé une alternative a la carte Mega Screw Shield qui rends les branchements simple cette alternative consiste a utiliser un peigne et de le souder sur la carte il suffis d utiliser des fiches de ce type Sur la carte ca donne ca tout les cables sont débrochable Cablage PWM Eclairage 1 : pin PWM9 Eclairage 2 : pin PWM10 Eclairage 3 : pin PWM11 Eclairage 4 : pin PWM12 Eclairage 5 : pin PWM13 Alimentation driver LED Eclairage 1: Analogique 3 Eclairage 2: Analogique 4 Eclairage 3: Analogique 5 Eclairage 4: Analogique 6 Eclairage 5: Analogique 7 Flotteur niveau réserve d'eau : Analogique 0 Refroidissement du bac : 43 Ecumeur : 44 Remontée : 45 Ventilation rampe : 46 Brassage : 47 Chauffage : 48 Sondes températures : 49 Horloge : Cote horloge Cote arduino VCC -> Sur le 5v GND -> Sur le GND SDA -> Sur la 20 SCL -> Sur la 21 Sonde de température Cote sonde cote arduino - Fil rouge -> le 5v - Fil noir -> GND - Fil restant -> borne 49 Placez la résistance de 4,7k entre le 5v et le fil qui va sur la borne 49 Il est possible de changer les consignes d alerte : dans le menu mesure void drawmesure(){ // Affichage de l'icone thermometre en fonction de la température if (tempbac>=22 && tempbac<24){myFiles.loadBitmap(2,20,24,24,"thermof.raw");} // Temperature trop basse if (tempbac>=24 && tempbac<=26){myFiles.loadBitmap(2,20,24,24,"thermo.raw");} // Température idéal if (tempbac>26 && tempbac<29){myFiles.loadBitmap(2,20,24,24,"thermoal.raw");} // Température trop haute if (tempbac<22||tempbac>=29){myFiles.loadBitmap(2,20,24,24,"death.raw");} remplace par ( en rouge les modifies ) void drawmesure(){ // Affichage de l'icone thermometre en fonction de la température if (tempbac>=16 && tempbac<20){myFiles.loadBitmap(2,20,24,24,"thermof.raw");} // Temperature trop basse if (tempbac>=20 && tempbac<=26){myFiles.loadBitmap(2,20,24,24,"thermo.raw");} // Température idéal if (tempbac>26 && tempbac<30){myFiles.loadBitmap(2,20,24,24,"thermoal.raw");} // Température trop haute if (tempbac<16||tempbac>=30){myFiles.loadBitmap(2,20,24,24,"death.raw");} Dans ma modif que j ai fait Température idéal entre 20 et 26 Alim arduino Plusieurs solutions sont possibles : - l alim classique de 6 à 12 v par la prise sur l arduino ( le gros problème est la limitation de courant des périphériques dû à la régulation par l arduino ) par exemple pour un écran 7" qui rend ce type de montage impossible par manque de puissance - l alim stabilisée 5 v à brancher ( 2 façons possibles le - de l alim sur le GND de larduino et le + de l alim sur le VIN de l arduino ou bien par un cable usb : fil rouge sur le + alim et fil noir sur le - alim ) le gros avantage est de passer après le limitateur de courant et donc même avec un ecran 7 " nous avons assez de puissance pour l alimenter Programme et instalation La partie programme développée par Sébastien présent sur http://www.ilot-recif.fr Sont disponibles ici https://onedrive.live.com/?cid=6405ee5f ... rPAuEFWW-A ( SebduinoPureEdition pour ecran 3.2" et SebduinoHD pour ecran 7" ) Voila les fonctions Éclairages - Gestion de 5 canaux d'éclairages indépendants - Gestion d'éclairage progressif ( maximum 240min pour la progression ) - Réglage puissance max pour chaque canaux - Possibilité de renommer chaque canaux ( 6 caractère max ) Pompes doseuses - Gestion de 8 pompes doseuses ( limité à 1 dose par jour/canal ) - Possibilité de renommer chaque canaux ( 6 caractères max ) Oscillateurs - Gestion de 2 oscillateurs - Réglages des butées d'angles pour chaque oscillo - Réglages vitesses pour chaque oscillo Mode Auto/ON/OFF ( raccourci sur l'écran principal ) - Éclairages - Écumeur - Brassage - Remontée Divers - Affichage de la température du bac - Affichage température pièce - Gestion ventilation bac ( dans mon cas cela va être utilisé pour mon coffret élec ) - Gestion chauffage du bac - Temporisation des menus ( retour sur l'écran principal au bout de 2min ) - Temporisation de l'écumeur au démarrage - Écran de veille au bout de 2 min d'inactivité ( désactivable ) Installation du compilateur : http://arduino.cc/en/Main/Software Une fois installé vient le moment de brancher la carte sur le PC qui devrait vous la reconnaître comme nouveau périphérique. Le pilote pour USB se trouve dans le dossier "arduino-1.0.3/drivers/FTDI USB Drivers Une fois l install finie il faut savoir sur quel port l arduimo s est mis Sous windows. aller dans Panneau de configuration/Gestionnaire de périphériques et Ports COM et LPT vous allez voir ça Important par la suite se rappeler sur quel port se trouve la carte lancer le logiciel Arduino : Allez dans outils / type de carte / et sélectionnez arduino Mega 2560 Définir le com (chez moi le com 7) Allez dans outils /port serie et sélectionnez celui trouvé dans le gestionnaire de périphériques Dans le programme de Sébastien , il fournit les librairies nécessaires au bon fonctionnement de l'automate . Il faut bien les copier dans le dossier "arduino-1.0.3/libraries" et remplacer celle de base par la sienne Fin de l install du compilateur Installation du programme de Sébastien Une fois dézippé ouvrir le fichier et double cliquer sur SebduinoPureEdition Le compilateur doit s ouvrir, reste à cliquer sur la fleche Le programme doit passer du pc à l arduino. Si tout va bien vous aurez un message de fin ****1 Calibrage de l écran tactile Allez dans arduino-1.0.3/libraries/Utouch/examples/Arduino/UTouch_Calibration" Double cliquer, ça va vous ouvrir le compilateur. Reste à transférer. Là vous allez avoir l écran noir, il va vous demander de toucher l écran pour continuer Nouvel écran avec 8 croix à toucher ( je vous conseille d utiliser un cure-dents par exemple ) Si tout va bien, nouvel écran Noter ces 3 valeurs et fermer le compilateur Aller dans arduino-1.0.3/libraries/Utouch/ et trouver le fichier UTouchCD.h , l ouvrir avec éditeur de texte par exemple notepad Remplace les 3 valeurs de ce fichier par les 3 valeurs que vous a donné le calibrage , sauvegardez et fermez Une fois fait, recompiler le programme de Sebastien Note : Parfois les modifications de calibrage ne se sauvegardent pas ou se perdent à la suite d un débranchement de l arduino. Si le cas se produit pour vous : Allez dans Utouch /harware/ave , là vous avez un fichier HV_AVR.inc Remplacez le par ça void UTouch::touch_WriteData(byte data) { byte temp; temp=data; cbi(P_CLK, B_CLK); for(byte count=0; count<8; count++) { if(temp & 0x80) sbi(P_DIN, B_DIN); else cbi(P_DIN, B_DIN); temp = temp << 1; cbi(P_CLK, B_CLK); sbi(P_CLK, B_CLK); } } word UTouch::touch_ReadData() { word data = 0; for(byte count=0; count<12; count++) { data <<= 1; sbi(P_CLK, B_CLK); cbi(P_CLK, B_CLK); delayMicroseconds(2); if (rbi(P_DOUT, B_DOUT)) data++; } return(data); } Une fois fait recompiler le programme de Sebarduino Partie carte SD Il vous faut absolument une carte 2GO Maxi Formatée en FAT , unité d'allocation 32ko Une fois fait allez dans le dossier SebduinoPureEdition ouvrir le dossier carte SD , copier et coller sur la carte SD Voilà, fin de l install Partie puissance câblages leds Partie alimentation : Une led est un semi-conducteur il est donc conseillé de limiter son courant !!!! Pour cela 2 solutions par des résistances si transfo simple ou par des driver" de LED. Comme nous l avons déjà vu notre aduino va nous envoyer un signal PWW. Mais au juste c est quoi un signal PWW ? En fait, c est tout bête. Ce sont des impultions de courant dans une période donnée Si je prends la première ligne du schéma pour une période le courant est présent à 20 %, le reste de la période pas de courant ( la led va s allumer faiblement ) Si je prends la deuxième ligne la période où il y a du courant est de 50 % la led va donc éclairer plus fort Si je prends la troisième ligne la période où le courant est là est de 80% la led va donc éclairer encore plus fort Seul pb, l arduino a une puissance très limitée et ne peut pas alimenter directement des leds. Nous avons donc besoin d une carte relai ou amplificateur dispo la http://www.ledsee.com/index.php?option= ... Itemid=101 Cette carte a 2 fonctions elle amplifie le signal et en plus elle limite le courant soit en 350 mA ou 700 mA ou 1A Principe de câblage A lire aussi : http://www.flossmanualsfr.net/arduino/_all |
|