Show Posts
Pages: [1]
1  International / Français / Re: Teleinfo + shield wifi = envoyer données sur ftp on: April 28, 2013, 02:44:08 pm
Salut,
Sur windows, tu peux installer EasyPhp par exemple pour avoir un serveur apache/mysql. Il y a aussi Wamp je crois, c'est la même chose.
2  International / Français / Re: [Projet en cours] tableau de bord pour moto on: April 23, 2013, 11:44:49 am
Continues a nous tenir au courant c'est super intéressant!  smiley
3  International / Français / Re: Projet: Couveuse on: March 14, 2013, 06:40:49 am
Salut,

J'ai bien reçu mon Arduino et son Shield Ethernet. Quelques difficultés pour l'installer correctement sous Windows 8 Pro mais j'ai trouvé..
bonjour
rapidement
à priori
le code d'infobarquee est prevu pour l'IDE et les libs sous IDE 0.22 pas 1.0.3
l'include DHT11 n'est pas entre <>
J'ai effectivement prit l'IDE 0.23 et ça compile sans problème (après quelques retoucher quand même). Je n'ai pas reçu le capteur de température pour le moment donc sur le port série il me dit pleins de gros mots..  smiley-roll
4  International / Français / Re: Projet: Couveuse on: March 13, 2013, 06:21:19 am
Bon, j'ai changé quelques trucs, mais ca ne se compile pas et ça dépasse mes compétences!
Pas facile ce langage quand même!

Voici le code avec les modifs:
Code:
#include <SPI.h>
#include <EEPROM.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <LiquidCrystal.h>
#include "DHT.h"
#define DHTPIN A0
//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

int ventilo = 8; // led
int resistance = 9; // led

const int buttonPin = A1;                              // the number of the pushbutton pin
const int ledPin =  12;                                // the number of the LED pin
long previousMillis = 0;                               // will store last time LED was updated
long interval = 10000;                                 // interval at which to blink (milliseconds)
int i=0;
int buttonState = 0;                                   // variable for reading the pushbutton status

LiquidCrystal lcd1(7, 6, 5, 4, 3, 2);

EthernetUDP Udp;

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };   //Adresse MAC de l'arduino
byte ip[] = { 192, 168, 0, 150 };                      //Adresse ip de l'arduino
unsigned char gateway[] = { 192, 168, 0, 1 };          //Passerelle (Box FAI)
unsigned char mask[] = { 255, 255, 255, 0 };           //Masque de sous-réseau
byte serverdist[] = { 192, 168, 2, 17 };
EthernetServer server(80);                             //Port
EthernetClient client(serverdist, 80);
unsigned int localPort = 80;                           // local port to listen on
float tempmini;
float  tempmaxi;


// the next two variables are set when a packet is received
byte remoteIp[4];        // holds received packet's originating IP
unsigned int remotePort; // holds received packet's originating port

// buffers for receiving and sending data
char  packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
char packetBuffer1[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
char  ReplyBuffer[] = "acknowledged";       // a string to send back
char  ReplyBuffer1[] = "acknowledged";       // a string to send back
const char toto[]="123";
DHT dht(DHTPIN, DHTTYPE);


int address = 0;
byte value;
float tempminimem;
float tempmaximem;


// Utilities for writing and reading from the EEPROM
float readFloat(int address) {
  union floatStore {
    byte floatByte[4];
    float floatVal;
  }
  floatOut;

  for (int i = 0; i < 4; i++)
    floatOut.floatByte = EEPROM.read(address + i);
  return floatOut.floatVal;
}

void writeFloat(float value, int address) {
  union floatStore {
    byte floatByte[4];
    float floatVal;
  }
  floatIn;

  floatIn.floatVal = value;
  for (int i = 0; i < 4; i++)
    EEPROM.write(address + i, floatIn.floatByte);

}



void setup() {
  // start the Ethernet and UDP:
  Ethernet.begin(mac, ip, gateway, mask);
  Udp.begin(localPort);
  dht.begin();
  Serial.begin(9600);
  pinMode(ventilo, OUTPUT);
  pinMode(resistance, OUTPUT);
  server.begin();
  lcd1.begin(16, 2);



  tempminimem = readFloat(address);
  Serial.print("tempminimem :");
  Serial.println(tempminimem);
  tempmini=tempminimem;
  tempmaximem = readFloat(address+4);
  Serial.print("tempmaximem :");
  Serial.println(tempmaximem);
  tempmaxi=tempmaximem; 
 
  pinMode(ledPin, OUTPUT);     
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);

}

void loop() {
   // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {   
      unsigned long currentMillis = millis(); 
    // turn LED on:   
    digitalWrite(ledPin, HIGH);
    Serial.println("intrusion");
  i++;
  Serial.println(i);
  if(i>500){
    digitalWrite(ledPin, HIGH);
  }
  }
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
  if (i>520){i=0;}
 
  float h = dht.readHumidity();
  float t = dht.readTemperature();   

  t=t-1;
  // if there's data available, read a packet
  int packetSize = Udp.available(); // note that this includes the UDP header
  if(packetSize)
  {
      if (lient.connect()) {
        delay(2000);
    Serial.println("connected");
    Serial.print(t);
    client.print("GET /recup.php?temp=");
    client.print(t);
    client.print("&humid=");
    client.print(h);
    client.print("\n");
   
    client.stop();
   
    } 

    packetSize = packetSize - 8;      // subtract the 8 byte header
    Serial.print("Received packet of size ");
    Serial.println(packetSize);


    memset(packetBuffer, 0, UDP_TX_PACKET_MAX_SIZE);
    memset(packetBuffer1, 0, UDP_TX_PACKET_MAX_SIZE);

    // read the packet into packetBufffer and get the senders IP addr and port number
    Udp.readPacket(packetBuffer,UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort);
    Serial.println("Contents:");
    Serial.println(packetBuffer);
    Udp.readPacket(packetBuffer1,UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort);
    Serial.println("Contents1:");
    Serial.println(packetBuffer1);
   


    //tempmini =  float (atoi(packetBuffer));
    //tempmaxi =  float (atoi(packetBuffer1));
    tempmini =  atof(packetBuffer);
    tempmaxi =  atof(packetBuffer1);

    writeFloat(tempmini,address);
    writeFloat(tempmaxi,address+4);     

    Serial.print("tempmini : ");
    Serial.println(tempmini);
    Serial.print("tempmaxi : ");
    Serial.println(tempmaxi);     


    analogWrite(11, atoi(packetBuffer)); //utiliser la valeur reçu pour allumer la led
    analogWrite(12, atoi(packetBuffer1)); //utiliser la valeur reçu pour allumer la led
    //Udp.sendPacket(ReplyBuffer1, IP, localPort);

    //Udp.sendPacket(toto, remoteIp, localPort );
   

  }
  delay(2);
//  float h = dht.readHumidity();
//  float t = dht.readTemperature();   

//  t=t-1;
  if (t < tempmini){
    digitalWrite(ventilo,1);
    digitalWrite(resistance,1);
  }
  else if(t > tempmaxi){
    digitalWrite(ventilo,1);
    digitalWrite(resistance,0);
  }
  else{
    digitalWrite(ventilo,0);
    digitalWrite(resistance,0);   
  }
  if (isnan(t) || isnan(h)) {
    Serial.println("Failed to read from DHT");
  }
  else {

    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(t);
    Serial.println(" *C");
    Serial.print("Tempmini: ");
    Serial.print(tempmini);
    Serial.println(" *C");
    Serial.print("Tempmaxi: ");
    Serial.print(tempmaxi);
    Serial.println(" *C");
    lcd1.setCursor(0, 0);
    lcd1.print("H:");
    lcd1.print(h);
    lcd1.print("%");
    lcd1.print("Mi:");
    lcd1.print(tempmini);
    ;   
    lcd1.setCursor(0, 1);
    lcd1.print("T:");
    lcd1.print(t);
    lcd1.print("C");
    lcd1.print("Ma:");
    lcd1.print(tempmaxi);     
  }


}

Et voici les erreurs:
Code:
couveuse:36: error: no matching function for call to 'EthernetClient::EthernetClient(byte [4], int)'
C:\Users\NouNours\Documents\arduino-1.0.3-windows\arduino-1.0.3\libraries\Ethernet/EthernetClient.h:12: note: candidates are: EthernetClient::EthernetClient(uint8_t)
C:\Users\NouNours\Documents\arduino-1.0.3-windows\arduino-1.0.3\libraries\Ethernet/EthernetClient.h:11: note:                 EthernetClient::EthernetClient()
C:\Users\NouNours\Documents\arduino-1.0.3-windows\arduino-1.0.3\libraries\Ethernet/EthernetClient.h:8: note:                 EthernetClient::EthernetClient(const EthernetClient&)
couveuse.ino: In function 'float readFloat(int)':
couveuse:70: error: incompatible types in assignment of 'uint8_t' to 'byte [4]'
couveuse.ino: In function 'void writeFloat(float, int)':
couveuse:83: error: invalid conversion from 'byte*' to 'uint8_t'
couveuse:83: error: initializing argument 2 of 'void EEPROMClass::write(int, uint8_t)'
couveuse.ino: In function 'void loop()':
couveuse:148: error: 'lient' was not declared in this scope
couveuse:171: error: 'class EthernetUDP' has no member named 'readPacket'
couveuse:174: error: 'class EthernetUDP' has no member named 'readPacket'

Voila où j'en suis, et même en cherchant sur internet, je ne trouve pas! J'ai modifié pas mal de truc et c'est le minimum d'erreur que j'arrive à avoir.
5  International / Français / Re: Projet: Couveuse on: March 11, 2013, 06:53:23 am
Bonjour,

Voici quelques nouvelles. Ayant regardé un peu partout pour trouver les matériels les moins chères j'ai enfin fait mes achats!
Au final:

Code:
Arduino Uno Rev 3                           = Acheté
Ethernet shield Rev 3 POE Ready             = Acheté
Capteur de température et d'humidité AM2302 = Acheté
4 relais pour Arduin0                       = Acheté
Ecran LCD Bleu 2*16 2x16 Screen HD44780     = Acheté
Breadboard + fils                           = Acheté

Pour les ventilateurs et l'alim de PC j'ai ce qu'il me faut!

Il me reste plus qu'a patienter en attendant de recevoir tout ça.

@infobarquee
Est ce que je peux reprendre ton code dans ton topic pour ta couveuse? Si oui, est-il complet? J'ai quelques paramètres à changer notamment pour le Shield Ethernet..

Après essais, il y a pleins d'erreurs lors de la compilation. il me semble que certaines librairies ont changé depuis. Et très franchement, j'ai essayé de faire quelque chose mais ça dépasse un peu mes compétences  smiley-confuse
6  International / Français / Re: Projet: Couveuse on: March 09, 2013, 04:42:21 pm
Pour les relais ok!
Je n'ai pas cherché mais POE je crois que c'est Power Over Ethernet. Pour allumer la carte a distance je crois non? Un truc de ce style. Enfin bref c'est inutile pour ce montage.

Concrètement, pour l'alim PC Elle sert à quoi?
Récupérer le 12V pour les ventilos?
Récupérer le 05V pour l'arduino? Il me semble avoir lu que le mieux est de l'alimenter en 9V faux?

Car dans ce cas, un transfo 9V pour l'arduino et je pourrais aussi récupérer le 9V pour les ventilos PC..

[Edit]
Pour l'écran, un Module Ecran LCD Bleu 2*16 2x16 Screen HD44780 - Arduino - Raspberry Pi 5V c'est bon?
7  International / Français / Re: Projet: Couveuse on: March 09, 2013, 04:26:10 pm
Pour le shield Ethernet POE, c'est parce que je n'ai trouvé que celui la.. Et je ne sait pas ce qu'est la différence avec un autre..

Voila ce que je voulais savoir! Il faut donc des relais! Quel est le voltage de sortie d'une broche sur l'arduino? Il faut des relais spécifiques?

[Edit]
Ce genre de relais?
8  International / Français / Re: Projet: Couveuse on: March 09, 2013, 04:02:28 pm
J'ai déjà cherché pour des capteurs de température plus précis mais sans forcément trouver. Après comme dit Artouste, si la stabilité est au rendez-vous avec un bon étalonnage ça devrait le faire.

Si on récapitule, il me faut (chez snootlab):
Code:
Arduino Uno Rev 3                           = 19.95€
Ethernet shield Rev 3 POE Ready             = 33.00€
Capteur de température et d'humidité AM2302 = 15.00€
Deux ventilateurs de PC                     = 0
Lampe ou résistance                         = 0
                                     Total  = 67.95€
C'est juste ou il manque quelque chose?

Maintenant, je n'arrive pas à saisir comment brancher ma lampe par exemple! Sur un automate, millenium3 de chez Crouzet par exemple (sur lequel je me suis pas mal amusé dernièrement), sur les sorties on peu faire passer de la puissance (jusque 8A). Mais sur l'Arduino comment ça marche?
9  International / Français / Re: Projet: Couveuse on: March 09, 2013, 01:26:24 pm
Re,

Merci infobarquee pour tes réponses!

Concernant la sonde de température, sur le site de snootlab il est indiqué pour la dht22:
"Température mesurée de -40 à 80°C précision ±0.5°C"
-> La précision n'est elle pas trop peu précise?

Pour la variation, j'aurais aimé une sorte de dimmer pour faire varier l'intensité et allumer ma lampe en douceur afin d'éviter les On/Off à répétition.
Il me semble avoir vu un kit velleman compatible pour faire ce genre de chose?

Ok pour le Arduino Uno Rev3! Ok aussi pour la partie Ethernet. Concernant la partie GSM c'est plus pour le fun et pouvoir évoluer ou utiliser le montage pour autre chose dans le futur on va dire. D'où la demande de compatibilité de ces 3 composants. Il me semble que les 3 sont empilable non?

Pour ce qui est de la partie serveur, je maitrise parfaitement le sujet et me débrouille bien en PHP etc.. Je pense que mon Nas Synology fera parfaitement l'affaire!

@Jean-François

Va falloir attendre encore un peu hein!  smiley-mr-green smiley-mr-green
10  International / Français / Projet: Couveuse on: March 09, 2013, 12:39:08 pm
Bonjour à tous.

J'ai dans l'idée de créer une couveuse pour des œufs de caille. J'ai quelques questions concernant le montage.

Pour commencé, j'ai bien lu le sujet de infobarquee: Couveuse pilotée par pc.
Cela dit, j'ai quelques interrogation en suspend:

1. Est ce que la température peut être réglé précisément? J'entends par là, au dixième de degrés.

Dans la couveuse de infobarquee il y a une résistance de chauffage. Pour ma part j'ai une lampe
2. Comment faire varier l'intensité de la résistance de chauffage? Ou de ma lampe?
3. Quelle version de l'arduino me conseillez-vous? Arduino Uno Rev3 (cms?)? Arduino Mega2560 Rev3?
4. Est-ce que ces 3 cartes sont compatibles avec les shield Ethernet Rev3 POE et GSM avec SM5100B?

Voilà pour le début des questions. Selon vos réponses on verra pour la suite. Merci
11  International / Le bar / Re: Presentez vous on: March 09, 2013, 12:17:11 pm
Bonjour à tous.

Je me prénomme Grégory, dit "GwéGwé" ou "NouNours" pour les intimes ou encore "l'homme qui en a une très belle" (rapport à ma voiture puisque je possède une DS3  smiley-cool ).
J'ai dans les 29 ans et demi selon les syndicats, bientôt 30 ans selon la police..

J'aime tout ce qui touche à l'électricité en général. J'ai découvert récemment les automates et en particulier le Millenium 3 de chez Crouzet avec lequel j'ai pu créer un petit projet perso.
Je me tourne aujourd'hui vers l'arduino pour découvrir ses capacités. Un projet me trotte dans la tête et j'ai vu un exemple sur le forum!
Je me demande si le langage de programmation ne vas pas me poser problème..
Pages: [1]