Show Posts
Pages: 1 2 [3] 4 5 ... 15
31  International / Français / Re: Questions sur le pilotage d'une carte Arduino, par une tablette on: October 02, 2012, 07:14:38 pm
http://anettosoftware.co.uk/ac.php

ceci devrais t'aider.. enfin.. l'application coté tablette existe.. a tester..

http://arduino.cc/forum/index.php/topic,91261.msg875134.html#msg875134 <== sur le forum..
32  International / Français / Re: delays d'affichage et gestion temps on: September 16, 2012, 01:28:36 pm
ben sa reste pareil.. tu garde mon code.. et tu rajoute juste

Code:
heure = RTC.get(DS1307_HR,true); 
  minut = RTC.get(DS1307_MIN,false);
  seconde = RTC.get(DS1307_SEC,false);
  date = RTC.get(DS1307_DATE,false);
  mois = RTC.get(DS1307_MTH,false);
  annee = RTC.get(DS1307_YR,false);
  temps_perso = (heure * 100) + minut; 

dans la fonction getTemps();
sans oublie les déclaration avant..

puis apres dans les fonctions d'allumage led tu remplace RTC.hour par heure et RTC.minute par minute.. 

 

33  International / Français / Re: delays d'affichage et gestion temps on: September 16, 2012, 12:45:55 pm
bizarre.. sinon ben remet la lib ds1307 et rechange comme tu l'avais fais ..
34  International / Français / Re: delays d'affichage et gestion temps on: September 16, 2012, 06:32:00 am
alors.. la bizarre... j'ai tester l'affichage.. sa fonctionner .. ton branchement avec le ds1307 et bon? pas inverser? (sa met arrivé hier.. lol)..
35  International / Français / Re: delays d'affichage et gestion temps on: September 15, 2012, 08:58:45 am
Tien voilà une p'tite version que j'ai fais .. j'ai organiser le code .. tester sur mon afficheur .. pas de blocage..

Code:
#include <LiquidCrystal.h>
#include <Wire.h>
#include <DS1307new.h>

/*
 sorti /entre Arduino
 Analog Pin 0 = Température Sensor
 Analog Pin 4 = SDA pour ds1307
 Analog Pin 5 = SCL pour ds1307
 Digital Pin 2 = LCD
 Digital Pin 3 = LCD
 Digital Pin 4 = LCD
 Digital Pin 5 = LCD
 Digital Pin 6 = power led
 Digital Pin 7 = ventilateur
 Digital pin 9 = rouge
 Digital pin 10 = blanc
 Digital Pin 11 = LCD
 Digital Pin 12 = LCD
 Digital Pin 8 = bleu uv
 */

//Configuration des Pin de cablage**********************

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int sensorPin          = 0;
int power_led          = 6;
int bleu_uv            = 8;
int rouge              = 10;
int blanc              = 9;
int ventilateur        = 7;

// variable
int timerPWM           = 0;
int valeurPWM          = 0;
float GAMMA_CORRECTION = 2.2;
float PWMStep          = 0;
int SeuilMini          = 15;
int temp               = 0;
//Configuration des heures allumage/extinction ( format HHMM )**********************

int bleu_uv_on_time      = 1930; //allume la pompe à cette heure
int bleu_uv_off_time     = 2359; //éteint la pompe à cette heure
int ventilateur_on_temp  = 27;   //allume chauffage à cette température
int ventilateur_off_temp = 26.3; //éteint le chauffage à cette température


int temps;         // plus d'utilité d'avoir les autres avec le ds1307new.. exemple: RTC.hour est une variable..
int oldMinute = 0; // pour eviter de faire la boucle tout le temps.

//Configuration de l'heure ( pour modifier l'heure de votre Arduino, enlevez les /* et */ puis une foi le programe envoyé, remettez les )**********************

void setup(void) {
  Serial.begin(9600);
 
  /* Reglage horloge */
  /*RTC.stopClock();
  RTC.fillByYMD(2012,9,10); // Annéé, mois, jour
  RTC.fillByHMS(8,29,50);   // heure, minute, seconde
  RTC.setTime();
  RTC.startClock();
  */
  //Configuration des entrées/sorties**********************
 
  pinMode(ventilateur, OUTPUT);  // digital pin ventilateur 1
  pinMode(bleu_uv,     OUTPUT);  // digital pin pour bleu uv
  pinMode(blanc,       OUTPUT);  // digital pin pour blanc
  pinMode(rouge,       OUTPUT);  // digital pin pour rouge
  pinMode(power_led,   OUTPUT);  // digital pin pour power led
 
  /* Reglage lcd */
  lcd.begin(16, 2);
}

void loop(void){
  getTemps();
  getTempAndVent();
 
  //****Gestion de l'Affichage Sur l'écran ********
  afficheTemperature();
  afficheVentilation();
 
  if(RTC.minute != oldMinute) { // petite astuce qui permet de faire les calcule et l'affichage qu'une fois par minute.
    //**** Affiche l'heure et minute
    afficheHorloge();
   
    //*****Controle des sorties eclairage *********
    lumiereBleu();
    lumiereRouge();
    powerLed();
    oldMinute = RTC.minute;
  }
}

void getTemps(void) {
  RTC.getTime();  // récupération de temps et du jour
  temps = (RTC.hour * 100) + RTC.minute;
  Serial.println(RTC.hour);
}
 
void getTempAndVent(void) {
  //Récupération de la température du LM35 ****
  temp = analogRead(sensorPin); 
  temp = temp * 0.48828125;
 
  //****************ventilateur
  if(temp > ventilateur_on_temp){
    digitalWrite(ventilateur, HIGH);
  } else if(temp < ventilateur_off_temp) {   
    digitalWrite(ventilateur, LOW);
  }
}
 
void lumiereBleu(void) {
  //**on-off******* bleu uv *************
  if(bleu_uv_on_time > temps  || bleu_uv_off_time <= temps){
    digitalWrite(bleu_uv, LOW);
  } else {
    digitalWrite(bleu_uv, HIGH);
  }
}
 
void lumiereRouge(void) {
  //***on-off***** rouge ***
  if (RTC.hour ==  8) {
    PWMStep = 255 / 59;
    timerPWM = RTC.minute-60;
    valeurPWM = (int)(timerPWM * PWMStep);
    analogWrite (rouge, valeurPWM);
    lcd.setCursor(0,1);
    lcd.print(" + + ROUGE + +  ");
  } else if ((RTC.hour == 20) && (RTC.minute >30)) { // entre 20:00 et 20:59:59
    PWMStep = 255 / 29;
    timerPWM = 30-RTC.minute;
    valeurPWM = (int)(timerPWM * PWMStep);
    analogWrite (rouge, valeurPWM);
    lcd.setCursor(0,1);
    lcd.print(" - - ROUGE - -  ");
  } else if ((RTC.hour >= 9 ) && (RTC.hour < 21)) {
    analogWrite(rouge, 255);
    lcd.setCursor(0,1);
    lcd.print("ROUGE     on    ");
  } else if (RTC.hour <= 21) {
    analogWrite(rouge, 0);
  }
  delay(2000);
}

void powerLed(void) {
  //***on-off***** power led ***
  if (RTC.hour ==  9)  {
    PWMStep = 255 / 59;
    timerPWM = RTC.minute-60;
    valeurPWM = (int)(timerPWM * PWMStep);
    analogWrite (power_led, valeurPWM);
    if( valeurPWM < SeuilMini ) valeurPWM = 0;
    lcd.setCursor(0,1);
    lcd.print(" + POWER led +  ");
  } else if (RTC.hour == 20) { // entre 20:00 et 20:59:59
    PWMStep = 255 / 60;
    timerPWM = 60-RTC.minute;
    valeurPWM = (int)(timerPWM * PWMStep);
    analogWrite (power_led, valeurPWM);
    if( valeurPWM < SeuilMini ) valeurPWM = 0;
    lcd.setCursor(0,1);
    lcd.print(" - POWER led -  ");
  } else if ((RTC.hour >= 10 ) && (RTC.hour < 21)) {
    analogWrite(power_led, 255);
    lcd.setCursor(0,1);
    lcd.print("POWER led   on  ");
  } else if (RTC.hour <= 21) {
    analogWrite(power_led, 0);
  }
  delay(2000);
}
 
void afficheTemperature(void) {
  //Affichage température
  lcd.setCursor(10,0);
  lcd.print(temp);
  lcd.print((char)223);
}

void afficheHorloge(void) {
  //Affichage horloge
  lcd.setCursor(0,0);
  // heure
  if (RTC.hour < 10) lcd.print("0");
  lcd.print(RTC.hour);
  lcd.print("H");
  // minute
  if (RTC.minute < 10) lcd.print("0");
  lcd.print(RTC.minute);
  lcd.print(" ");
}

void afficheVentilation(void) {
  //****Affichage ventilateur ********
  lcd.setCursor(0,1);
  if(digitalRead(ventilateur) == HIGH) {
    lcd.print("Ventilateur ON  ");
  } else  {
    lcd.print("Ventilateur OFF ");
  }
}

tu remarquera qu'il y'a une condition avec oldMinute.. tout tes calcules sont fais par rapport aux minute donc inutile de les faire toute les secondes..
Par contre j'ai changer le ds1307 par ds1307New .. (celui que j'utilise maintenant) .. apres a toi de faire avec celui que tu veux.. ^^..
j'ai juste fais le test d'affichage.. pas regarder le reste.. si le reste tourné déjà .. normalement pas de raison qu'il tourne plu..

voilà j'espere t'avoir aidé un poil.. ^^.. 30min a perdre.. avec le montage.. ^^..
36  International / Français / Re: delays d'affichage et gestion temps on: September 15, 2012, 06:11:25 am
tu utilise quelle version de l'IDE arduino?

sinon déjà pour le ds1307 .. y'a la lib ds1307new qui existe..
37  International / Français / Re: delays d'affichage et gestion temps on: September 14, 2012, 02:38:48 pm
tu utilise quoi comme matériel ? (arduino model, ecran, etc) ...
et aussi le code ..
38  International / Le bar / Re: Où acheter les plaques présensibilisées ? on: September 14, 2012, 09:59:47 am
pour ma part je commande soit chez RS soit lextronic.. (dépend du matos que je commande..) . surtout RS avec les fdp de 10€ (particulier) .. faut mieux commander plusieurs chose en même temps.

Par contre je n'ai jamais eu de souci avec les plaques de RS (les CIF) en simple ou double face.. (mode chanceux peut être)
39  International / Français / Re: Gestion des variables / array avec arduino et divers types on: September 13, 2012, 06:57:23 pm
TextBuffer n'est pas un tableau de Char?
dans un code que j'avais fais pour lire les heures d'allumage et d'extinction des lumières d'aqua .. j'utiliser char cc = myFile.read(); // File myFile; en déclaration.

donc si ton sonde[0].nom_sonde est un Char, tu peux pas lui mettre un tableau de char.

Enfin si je me trompe pas .
40  International / Français / Re: Gestion des variables / array avec arduino et divers types on: September 13, 2012, 02:56:01 pm
projet a peut près en commun.. j'étais surtout la en appui programmation... la recherche de solution c'étais le gars.. et il m'envoyé les composants pour faire la simulation ..
41  International / Français / Re: Gestion des variables / array avec arduino et divers types on: September 13, 2012, 08:12:53 am
sa me fais penser un projet que j'avais commencer pour une personne.. (abandonné plus de nouvelle de cette personne.) gestion aquarium eau de mer... avec démarrage ecumeur .. chauffage .. refroid.. produit.. pulseur... time nourriture.. niveau d'eau.. lumiere ..
42  International / Français / Re: gestion aquarium recifal allumage progressif on: September 12, 2012, 02:51:29 am
salut .. peut être quand regardant le code ici http://arduino.cc/forum/index.php/topic,117156.0.html.. pour l'allumage et l'extinction.. sa pourrais t'aider... le code est plutôt simple pour le comprendre.. ^^
43  International / Français / Re: PC ok mais rien sur la carte on: September 11, 2012, 12:49:06 pm
hmm.. bizarre.. t'en un reup du bootloader..
44  International / Français / Re: PC ok mais rien sur la carte on: September 11, 2012, 12:07:36 pm
donc ta déjà réussi a la faire tourné? correctement?
45  International / Français / Re: PC ok mais rien sur la carte on: September 10, 2012, 01:15:11 pm
peut être un probleme de bootloader.. (enfin je sais pas trop...) .. mais vue que tu dis avoir essayer plusieur code..

Même avec un code vide ta led reste allumé ? (*code vide .. juste setup() {} et loop(){})
Pages: 1 2 [3] 4 5 ... 15