Connexion
·
INSCRIPTION
·
Site
Recevoir à nouveau l'e-mail de validation
Forum Cooling-Masters
>
Electronique
>
Réalisations diverses
[Arduino] Gestion auto niveau puits
Ajouter ou retirer ce sujet de vos favoris
·
Suivre ce sujet
·
Imprimer ce sujet
Bas de page
Pages :
1
2
3
4
Page précédente
Page suivante
OrOoX
AFK ? Késako ? :D
Messages : 9889
mercredi 20 décembre 2017 à 23:34:30
Salut salut !
Comme le sujet a été commencé sur le Blabla, je le continue ici, j'ai donc reçu tous les éléments, à savoir :
- Carte Elegoo Uno R3 ( chinoise mais très bon feedback )
- Carte 4 relais
- Capteur MPX5100AP
- Afficheur LCD 4 Ligne en I²C
- Electrovanne 230V en 3/4"
Du coup j'ai commencé à coder tout ça y'a deux jours ce qui donne ceci pour l'instant ( et ça fonctionne ), j'ai juste
un problème de parasitage sur la carte quand j'alimente une des entrées, ça m'alimente l'autre aussi mais ça vient surement
du fait que je l'alimente à partir d'une sortie et non du +5V
CODE :
////////////////////////////////
// Initialisation des valeurs //
////////////////////////////////
int Niveau_mini = 20; // Seuil de coupure niveau bas ( % )
int Niveau_mini_tp = 90; // Seuil de coupure vidange auto ( % )
int Niveau_maxi_tp = 100; // Seuil de déclenchement vidange auto ( % )
int Offset_pression_abs = 100; // Offset hauteur réelle
int relai_1 = 2;
int relai_2 = 3;
int relai_3 = 4;
int relai_4 = 5;
int entree_1 = 7;
int entree_2 = 8;
int defaut = 0;
int Timer_1;
void setup() {
Serial.begin(9600);
pinMode(relai_1, OUTPUT); // Relai 1 = pompe
pinMode(relai_2, OUTPUT); // Relai 2 = electrovanne
pinMode(relai_3, OUTPUT); // Relai 3 = coupure 230V
pinMode(relai_4, OUTPUT); // Relai 4 = Non attribué
// pinMode(entree_1, INPUT); // Pressostat
// pinMode(entree_2, INPUT); // Pressostat différentiel
digitalWrite(relai_1, LOW);
digitalWrite(relai_2, LOW);
digitalWrite(relai_3, HIGH);
digitalWrite(relai_4, LOW);
}
void loop(){
float pressure = readPressure(A1);
float millibars = pressure/100;
Serial.println();
Serial.print("Pression = ");
Serial.print(millibars);
Serial.println(" mBars");
// Calcul niveau remplissage
int Pourcentage = (100*millibars)/(1150-Offset_pression_abs);
Serial.println();
Serial.print("Pourcentage : ");
Serial.print(Pourcentage);
Serial.println();
//////////////////////////////////////////////////////
// Contrôle automatique pression & niveau haut puit //
//////////////////////////////////////////////////////
Serial.println(digitalRead(entree_1));
Serial.println(digitalRead(entree_2));
Serial.println(digitalRead(relai_1));
Serial.println(digitalRead(relai_2));
Serial.println(digitalRead(relai_3));
Serial.println(defaut);
if (((digitalRead(entree_1) == 1 && Pourcentage > Niveau_mini) || (Pourcentage >= Niveau_maxi_tp)) && digitalRead(relai_1) == 0 && defaut == 0)
{
Timer_1 = millis() + 5000; // Définition d'un temps d'attente
digitalWrite(relai_1, HIGH); // On allume la pompe
Serial.println("Pompe ON");
if (Pourcentage >= Niveau_maxi_tp)
{
digitalWrite(relai_2, HIGH); // On allume l'électrovanne de vidange
Serial.println("Electrovanne ON");
}
}
else if (millis() >= Timer_1 && digitalRead(relai_1) == 1 && digitalRead(entree_2) == 0) // Contrôle si débit
{
digitalWrite(relai_1, LOW); // Coupure pompe pour absence débit
digitalWrite(relai_2, LOW); // Coupure électrovanne de vidange
digitalWrite(relai_2, LOW); // COupure alimentation 230V ( sécurité )
Serial.println("Pompe OFF");
Serial.println("Electrovanne OFF");
Serial.println("Alim 230V OFF");
defaut = 1; // Activation du défaut
}
else if ((digitalRead(entree_1) == 0 && Pourcentage <= Niveau_mini_tp) && defaut == 0 && digitalRead(relai_1) == 1)
{
digitalWrite(relai_1, LOW); // Coupure pompe
digitalWrite(relai_2, LOW); // Coupure électrovanne de vidange
Serial.println("Pompe/Electrovanne OFF");
}
delay(1000);
}
float readPressure(int pin){
int pressureValue = analogRead(pin);
float pressure=((pressureValue/1023.0)+0.095)/0.000009;
return pressure;
}
Message édité par
OrOoX
le mercredi 20 décembre 2017 à 23:35:27
Google
Biduleohm
Membre
Messages : 906
jeudi 21 décembre 2017 à 00:07:23
Le code est horrible :
- on code en anglais
- on choisi soit du camel case (préféré en général car plus court et plus facile à lire) soit de l'underscore case mais pas les deux en même temps, c'est illisible sinon (et les variables ne commencent jamais avec une majuscule en principe, c'est réservé aux noms de classe entre autres)
- digitalRead est censé être comparé à HIGH ou LOW, pas 0 et 1
- on fait des fonctions sinon c'est illisible et on ne peut pas réutiliser le code à plusieurs endroits
- on utilise des defines pour les constantes (Offset_pression_abs par ex) qu'on écrit tout en majuscule avec des underscores
- les conditions des if/else if sont longues et peu claires, et peuvent probablement être optimisées
- y'a beaucoup de if/else if pour une simple gestion de niveau et la structure globale me fait penser à une state machine et doit donc probablement être cleanable en utilisant un switch case
- le calcul "((pressureValue/1023.0)+0.095)/0.000009;" est super moche et
peut
doit être optimisé (et les constantes sont censées être des defines d'ailleurs) --> EDIT: par curiosité je l'ai fait et ça donne (109 * pressure) + 10555 et accessoirement tu ne devrais pas utiliser un int pour stocker une valeur aussi grande car y'a de grande chances qu'il overflow (int max = 32767) (en fait je suis quasi sûr qu'il overflow ce qui expliquerait les coefs super élevés...) donc prends plutôt un long (ou mieux, un unsigned long vu que tu comptes pas avoir de valeur négative visiblement).
- probablement d'autre trucs que j'ai pas vu...
Message édité par
Biduleohm
le jeudi 21 décembre 2017 à 00:16:55
OrOoX
AFK ? Késako ? :D
Messages : 9889
jeudi 21 décembre 2017 à 20:22:40
Mais ... Mais ... Mais ... Je t'ai fait un truc Biduleohm, tu m'en veux à ce point ?
Alors déjà excuse moi, mais le "on code en anglais", j'en ai rien à foutre, je suis le seul à bosser sur le code et moi être français !
Même remarque pour le style d'écriture ...
Le censé n'est pas généralisé visiblement, mes digitalRead me retourne 0 ou 1 et non HIGH ou LOW, donc je compare au résultat lu.
Et puis merde, j'ai même pas envie de répondre au reste, tu te prend trop le choux sérieux, et au passage le calcul à la fin il n'est pas de moi
msneob
Membre
Messages : 1833
jeudi 21 décembre 2017 à 21:24:38
Rageux
SPOILER :
Message édité par
msneob
le jeudi 21 décembre 2017 à 21:25:34
Biduleohm
Membre
Messages : 906
jeudi 21 décembre 2017 à 21:35:15
C'est juste que j'aime pas voir du code moche tout comme en tant qu'usineur tu n'aimerais pas voir quelqu'un tarauder avec une visseuse ou en tant que frigoriste tu n'aimerais pas voir quelqu'un souder à l'étain et remplir sans tirer au vide par ex...
Tu fais comment pour les accents ? tu fais comment si tu demande de l'aide pour le code ?
Sauf que HIGH et LOW sont des defines et, en plus d'être plus clair que 1 et 0, ils peuvent changer (si demain HIGH est défini sur -1 et LOW sur 0 par ex ton code ne marchera plus) même si je te l'accorde en principe ça ne change pas.
Y'a une/des raisons pour chaque remarque, spa pour être méchant. La raison générale étant surtout d'avoir un code clair et facilement maintenable et debuggable (ton futur toi te remerciera quand tu devras résoudre un bug dans 6 mois et que tu devra relire le code 15 fois pour comprendre ce qu'il fait...) sans compte que les bugs se voient moins facilement avec un code bordélique (c'est comme en élec, si tu jettes tous les fils en vrac dans une armoire sans rien attacher et catégoriser tu vas passer un paquet de temps à identifier et résoudre les problèmes par la suite).
OrOoX
AFK ? Késako ? :D
Messages : 9889
jeudi 21 décembre 2017 à 22:10:46
Perso je taraude aussi à la visseuse, c'est tellement plus rapide avec du tarauds machine
Sachant que c'est de l'arduino et que les accents sont mal gérés par les LCD, bah j'en met pas, ça règle le problème et ça reste
tout autant lisible, en plus dans mon cas c'est vraiment à titre informatif, c'est tout.
Et pour la question de l'aide, excuse moi mais j'ai déjà vu plus dégueulasse ... La tu me rentre dedans sur un code que je viens de
faire et tester un soir à tête reposée
Maintenant tu juge qu'il y a trop de If, Else, la question est plutôt, a tu remarqué que le code comporte une double fonction ?
kissagogo27
Méchant Vieux Râleur
Messages : 28148
jeudi 21 décembre 2017 à 22:24:13
< a nettoyé quelques filetages a la visseuses, et même du 10x150
Sk_rmouche
Apprenti Aigri
Messages : 17926
jeudi 21 décembre 2017 à 22:31:22
Oui j'avoue j'ai déjà fait des tarauds dans du plexi avec ma visseuse
Mais sinon je vais me mettre du côté de BiduleOhm car lolox a toujours tort
OrOoX
AFK ? Késako ? :D
Messages : 9889
jeudi 21 décembre 2017 à 22:59:56
Toi dépêche toi de retourner en NZ avant que je me serve de ta peau comme papier cadeau
Biduleohm
Membre
Messages : 906
vendredi 22 décembre 2017 à 00:25:24
Je parlais des accents dans le code lui-même, l'affichage tu peux le faire dans la langue que tu veux (dans les limites du LCD bien-sûr) c'est pas un pb.
Spa une raison. Bah t'façon tu verras bien le jour où t'auras besoin d'y retoucher que j'avais raison
Non parce que justement il est trop bordélique pour comprendre en une seule lecture ce qu'il fait exactement. Genre par ex le "defaut" c'est quoi ? un cas par défaut ? une indication qu'il y a un défaut ? ... ?
OrOoX
AFK ? Késako ? :D
Messages : 9889
vendredi 22 décembre 2017 à 16:12:25
C'est quoi le "defaut" ? T'aurais su si tu avais tout lu avant de critiqué, surtout qu'il n'est activé que par un seul truc
kissagogo27
Méchant Vieux Râleur
Messages : 28148
vendredi 22 décembre 2017 à 18:44:29
fait pas ton wesh rorox sinon j'te marave
OrOoX
AFK ? Késako ? :D
Messages : 9889
vendredi 22 décembre 2017 à 19:26:30
Biduleohm
Membre
Messages : 906
vendredi 22 décembre 2017 à 22:47:53
Wé alors vu la condition "(millis() >= Timer_1 && digitalRead(relai_1) == 1 && digitalRead(entree_2) == 0)" excuse moi de pas comprendre au premier coup d'oeil (c'est quoi timer 1 ? relai 1 ? entree 2 ? ça serait bien de nommer les variables clairement, genre relais pompe, entrée flotteur, etc...) et le commentaire "// Activation du défaut" est complètement useless, on voit bien qu'on met defaut à 1 vu que juste avant on a littéralement defaut = 1
OrOoX
AFK ? Késako ? :D
Messages : 9889
vendredi 22 décembre 2017 à 23:01:59
La correspondance est marqué en haut du code, c'est pas sorcier pourtant
Tu fais pas beaucoup d’efforts pour quelqu'un d'aussi tatillon Biduleohm ou tu as déjà oublié que c'est une ébauche ?
Edit : Tiens, t'es un peu plus content ?
SPOILER :
CODE :
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x3F
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
////////////////////////////////
// Initialisation des valeurs //
////////////////////////////////
int Niveau_mini = 20; // Seuil de coupure niveau bas ( % )
int Niveau_mini_tp = 90; // Seuil de coupure vidange auto ( % )
int Niveau_maxi_tp = 100; // Seuil de déclenchement vidange auto ( % )
int Offset_pression_abs = 150; // Offset hauteur réelle
int relai_1 = 2;
int relai_2 = 3;
int relai_3 = 4;
int relai_4 = 5;
int entree_1 = 7;
int entree_2 = 8;
int defaut = 0;
int Timer_1;
void setup() {
lcd.begin(16,4);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home();
Serial.begin(9600);
pinMode(relai_1, OUTPUT); // Relai 1 = pompe
pinMode(relai_2, OUTPUT); // Relai 2 = electrovanne
pinMode(relai_3, OUTPUT); // Relai 3 = coupure 230V
pinMode(relai_4, OUTPUT); // Relai 4 = Non attribué
// pinMode(entree_1, INPUT); // Pressostat
// pinMode(entree_2, INPUT); // Pressostat différentiel
digitalWrite(relai_1, HIGH);
digitalWrite(relai_2, HIGH);
digitalWrite(relai_3, LOW);
digitalWrite(relai_4, HIGH);
}
void loop(){
float pressure = readPressure(A1);
float millibars = pressure/100;
// Calcul niveau remplissage
int Pourcentage = (100*millibars)/(1150-Offset_pression_abs);
// DEBUG - MONITEUR
Serial.println();
Serial.print("Pression = ");
Serial.print(millibars);
Serial.println(" mBars");
Serial.println();
Serial.print("Pourcentage : ");
Serial.print(Pourcentage);
Serial.println();
Serial.println(digitalRead(entree_1));
Serial.println(digitalRead(entree_2));
Serial.println(digitalRead(relai_1));
Serial.println(digitalRead(relai_2));
Serial.println(digitalRead(relai_3));
Serial.println(defaut);
//////////////////////////////////////////////////////
// Contrôle automatique pression & niveau haut puit //
//////////////////////////////////////////////////////
if (millis() >= 5000) // Temps avant démarrage
{
if (((digitalRead(entree_1) == LOW && Pourcentage > Niveau_mini) || (Pourcentage >= Niveau_maxi_tp)) && digitalRead(relai_1) == HIGH && defaut == 0)
{
Timer_1 = millis() + 5000; // Définition d'un temps d'attente
digitalWrite(relai_1, LOW); // On allume la pompe
Serial.println("Pompe ON");
if (Pourcentage >= Niveau_maxi_tp)
{
digitalWrite(relai_2, LOW); // On allume l'électrovanne de vidange
Serial.println("Electrovanne ON");
}
}
else if (millis() >= Timer_1 && digitalRead(relai_1) == LOW && digitalRead(entree_2) == HIGH) // Contrôle débit
{
digitalWrite(relai_1, HIGH); // Coupure pompe pour absence débit
digitalWrite(relai_2, HIGH); // Coupure électrovanne de vidange
digitalWrite(relai_3, HIGH); // COupure alimentation 230V ( sécurité )
Serial.println("Pompe/Electrovanne/Alim 230V OFF");
defaut = 1; // Activation du défaut
// format C:\Budington /y
}
else if ((digitalRead(entree_1) == LOW || Pourcentage <= Niveau_mini_tp) && defaut == 0 && digitalRead(relai_1) == LOW)
{
digitalWrite(relai_1, HIGH); // Coupure pompe
digitalWrite(relai_2, HIGH); // Coupure électrovanne de vidange
Serial.println("Pompe/Electrovanne OFF");
}
}
delay(1000);
}
float readPressure(int pin){
int pressureValue = analogRead(pin);
float pressure=((pressureValue/1023.0)+0.095)/0.000009;
return pressure;
}
Message édité par
OrOoX
le samedi 23 décembre 2017 à 09:56:06
kissagogo27
Méchant Vieux Râleur
Messages : 28148
vendredi 22 décembre 2017 à 23:18:10
QUOTE (OrOoX) :
Tu fais pas beaucoup d’efforts pour quelqu'un d'aussi tatillon Budington ou tu as déjà oublié que c'est une ébauche ?
Qui ça ?
OrOoX
AFK ? Késako ? :D
Messages : 9889
vendredi 22 décembre 2017 à 23:33:05
A ton avis ?
Biduleohm
Membre
Messages : 906
samedi 23 décembre 2017 à 01:08:08
Je comprends pas là, tu parles à lui ou à moi ? mais dans le second cas qu'est-ce que son nom vient faire ici ?
OrOoX
AFK ? Késako ? :D
Messages : 9889
samedi 23 décembre 2017 à 02:57:32
Je répondais à ton dernier message avant que Kissa ne vienne troller ( comme d'hab
).
Ton nom ? C'était juste pour voir si tu avais pris la peine de tout lire cette fois
Edit : le con, je viens juste de capter que je me suis trompé de pseudo, j'ai marqué Budington à la place de Biduleohm,
le rhume m'a bouché les neurones
Message édité par
OrOoX
le samedi 23 décembre 2017 à 09:55:22
kissagogo27
Méchant Vieux Râleur
Messages : 28148
samedi 23 décembre 2017 à 11:17:14
si seulement
OrOoX
AFK ? Késako ? :D
Messages : 9889
samedi 30 décembre 2017 à 23:22:31
Bon bon bon, me voilà avec un problème bien embêtant ... Après avoir réglé mon problème de boutons qui s'activaient
tout seuls à cause des parasites, j'ai fais l'intégration du LCD et amélioré le code en compartimentant les scripts avec
différentes tempos mais sans utiliser le fameux delay() qui bloque toute la carte.
En soit ça marche, le hic c'est que la carte fini par .... freezer, j'ai l'impression que le LCD tire trop dessus et vu que c'est
pas une UNO officiel, elle apprécie peut être pas mais pour l'instant j'ai pas d'alim 5V sous la main ...
Perso j'opte plus pour un problème d'alim que de liaison I2C que "j'actualiserai" trop rapidement, si jamais vous voyez un truc ^^'
CODE :
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7);
////////////////////////////////
// Initialisation des valeurs //
////////////////////////////////
int Niveau_mini = 20.0; // Seuil de coupure niveau bas ( % )
int Niveau_mini_tp = 90.0; // Seuil de coupure vidange auto ( % )
int Niveau_maxi_tp = 100.0; // Seuil de déclenchement vidange auto ( % )
int Offset_pression_abs = 150; // Offset hauteur réelle
int relai_1 = 2;
int relai_2 = 3;
int relai_3 = 4;
int relai_4 = 5;
int entree_1 = 7;
int entree_2 = 8;
int defaut = 0;
int Timer_1;
int stat_230 = 0;
int tempo_lcd;
int tempo_script;
int tempo_mesure;
float Pourcentage = 0;
float millibars = 0;
void setup() {
lcd.begin(20,4);
lcd.noAutoscroll();
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home();
lcd.setCursor(0,0);
lcd.print("Pompe:OFF");
lcd.setCursor(0,1);
lcd.print("EV Purge:OFF");
lcd.setCursor(0,2);
lcd.print("230V:OFF");
lcd.setCursor(0,3);
lcd.print("Defaut:OFF");
pinMode(relai_1, OUTPUT); // Relai 1 = pompe
pinMode(relai_2, OUTPUT); // Relai 2 = electrovanne
pinMode(relai_3, OUTPUT); // Relai 3 = coupure 230V
pinMode(relai_4, OUTPUT); // Relai 4 = Défaut
pinMode(entree_1, INPUT_PULLUP); // Pressostat
pinMode(entree_2, INPUT_PULLUP); // Pressostat différentiel
digitalWrite(relai_1, HIGH);
digitalWrite(relai_2, HIGH);
digitalWrite(relai_3, HIGH);
digitalWrite(relai_4, HIGH);
}
void loop()
{
//////////////////////////////////////////////////////
// Contrôle automatique pression & niveau haut puit //
//////////////////////////////////////////////////////
if (millis() >= 4000 && stat_230 == 0) // Attente 4 secondes avant allumage 230V
{
digitalWrite(relai_3, LOW);
stat_230 = 1;
}
if (millis() >= tempo_mesure) // Mesure toutes les secondes
{
millibars = readPressure(A1)/100;
// Calcul niveau remplissage
Pourcentage = (100*millibars)/(1150-Offset_pression_abs);
tempo_mesure = millis()+1000;
}
if (millis() >= 8000) // Attente de 8 secondes avant début du script
{
if (millis() >= tempo_script && defaut == 0) // Tempo de 500ms entre chaque execution
{
if (((digitalRead(entree_1) == LOW && Pourcentage > Niveau_mini) || (Pourcentage >= Niveau_maxi_tp)) && digitalRead(relai_1) == HIGH)
{
Timer_1 = millis() + 5000; // Définition d'un temps d'attente pour la détection manque débit
digitalWrite(relai_1, LOW); // On allume la pompe
lcd.setCursor(6,0);
lcd.print("ON ");
if (Pourcentage >= Niveau_maxi_tp)
{
digitalWrite(relai_2, LOW); // On allume l'électrovanne de vidange
lcd.setCursor(9,1);
lcd.print("ON ");
}
}
if (millis() >= Timer_1 && digitalRead(relai_1) == LOW && digitalRead(entree_2) == HIGH) // Contrôle débit
{
digitalWrite(relai_1, HIGH); // Coupure pompe pour absence débit
digitalWrite(relai_2, HIGH); // Coupure électrovanne de vidange
digitalWrite(relai_3, HIGH); // COupure alimentation 230V ( sécurité )
digitalWrite(relai_4, LOW); // COupure alimentation 230V ( sécurité )
lcd.setCursor(6,0);
lcd.print("OFF");
lcd.setCursor(9,1);
lcd.print("OFF");
lcd.setCursor(5,2);
lcd.print("OFF");
lcd.setCursor(7,3);
lcd.print("ON ");
defaut = 1; // Activation du défaut
}
if ((digitalRead(entree_1) == HIGH || Pourcentage <= Niveau_mini_tp) && digitalRead(relai_1) == LOW)
{
digitalWrite(relai_1, HIGH); // Coupure pompe
digitalWrite(relai_2, HIGH); // Coupure électrovanne de vidange
lcd.setCursor(6,0);
lcd.print("OFF");
lcd.setCursor(9,1);
lcd.print("OFF");
}
tempo_script = millis()+500;
}
}
if (millis() >= tempo_lcd)
{
lcd.setCursor(12,0);
lcd.print(digitalRead(relai_1));
lcd.setCursor(12,1);
lcd.print(digitalRead(relai_2));
lcd.setCursor(12,2);
lcd.print(digitalRead(relai_3));
lcd.setCursor(12,3);
lcd.print(digitalRead(relai_4));
lcd.setCursor(14,0);
lcd.print(digitalRead(entree_1));
lcd.setCursor(14,1);
lcd.print(digitalRead(entree_2));
lcd.setCursor(14,2);
lcd.print(Pourcentage,1);
lcd.setCursor(14,3);
lcd.print(millibars,1);
tempo_lcd = millis()+500;
}
}
float readPressure(int pin){
int pressureValue = analogRead(pin);
float pressure=((pressureValue/1023.0)+0.095)/0.000009;
return pressure;
}
Biduleohm
Membre
Messages : 906
dimanche 31 décembre 2017 à 01:20:51
Laisse-moi deviner: ça le fait toujours au bout d'un certain temps ? Au hasard une trentaine de secondes ou une minute ?
OrOoX
AFK ? Késako ? :D
Messages : 9889
dimanche 31 décembre 2017 à 01:31:21
Presque, en moyenne c'est de 15 à 30 secondes
kissagogo27
Méchant Vieux Râleur
Messages : 28148
dimanche 31 décembre 2017 à 01:52:27
mémoire pleine ?
OrOoX
AFK ? Késako ? :D
Messages : 9889
dimanche 31 décembre 2017 à 02:02:30
J'y ai pensé mais j'ai exclus la possibilité avec la mise en place des tempos, en plus j'ai déjà fait des scripts plus "gourmand"
mais c'était sur une mega donc va savoir ...
Google
Haut de page
Pages :
1
2
3
4
Page précédente
Page suivante
Forum Cooling-Masters
>
Electronique
>
Réalisations diverses
Page générée en 0.021 secondes