Show Posts
Pages: [1] 2 3 4
1  International / Français / compter le temps d'un etat? on: June 18, 2013, 07:36:36 am
bonjour.

depuis quelques temps je tente de compté le temps de l'état d'un bouton pousoir.

j'arrive bien à compter sont nombres d'actions et à l'afficher sur un shield lcd. mais maintenant je voudrais connaitre la durer ou il reste dans une position .

genre , une action de 5 sec sur le bp ,m'afficherais 5sec sur le lcd , puis si une autre action de 10sec sur le bp , le lcd afficherait 15sec .

je essayer pas mal de choses avec la fonction millis mais sans résultats.

auriez vous une idée?

merci

2  International / Français / upload via FTDI? on: December 28, 2012, 02:52:59 pm
bonjour .

depuis quelques temps j'essaye d'uploader un sketch sur une  ATMEGA328 via FTDI.

c'est un shield gps (modelisme) et à chaque coup
j'ai
Quote
avrdude: stk500_getsync(): not in sync: resp=0x00

via le ftdi j'arrive à me connecter sur la partie gps mais impossible sur l'atmega !

une idée?
3  Using Arduino / Programming Questions / [help] boolean getSerialString() on: May 08, 2012, 04:18:53 am
sorry for the translation google
Good morning. sorry for the translation google
I just tested a tutorial to make a function "boolean getSerialString()"
the tutorial is here: http://jhaskellsblog.blogspot.fr/2011/05/serial-comm-fundamentals-on-arduino.html

I really struggled to understand.
here the code:
Code:
#define DATABUFFERSIZE      35
char dataBuffer[DATABUFFERSIZE+1]; //Add 1 for NULL terminator
byte dataBufferIndex = 0;

void setup(){
  Serial.begin(57600);
  Serial2.begin(57600);
  Serial.print("wait data on com2");
}
//******************************************//

boolean getSerialString(){
char startChar = '$'; // or '!', or whatever your start character is
char endChar = '\x1a';// or your end charracter
boolean storeString = false; //This will be our flag to put the data in our buffer
static byte dataBufferIndex = 0;
while(Serial2.available()>0)
{
  char incomingbyte = Serial2.read();
      Serial.print(incomingbyte);// tests to see if data is ok
  if(incomingbyte==startChar)
  {
   dataBufferIndex = 0;  //Initialize our dataBufferIndex variable
   storeString = true;
  }
  if(storeString)
  {
    //Let's check our index here, and abort if we're outside our buffer size
    //We use our define here so our buffer size can be easily modified
    if(dataBufferIndex==DATABUFFERSIZE)
    {
     //Oops, our index is pointing to an array element outside our buffer.
     dataBufferIndex = 0;
     break;
    }
 if(incomingbyte==endChar)
 {
  dataBuffer[dataBufferIndex] = 0; //null terminate the C string
  //Our data string is complete.  return true
  return true;
  }
   else{
    dataBuffer[dataBufferIndex++] = incomingbyte;
    dataBuffer[dataBufferIndex] = 0; //null terminate the C string
 }}
  else{
 }}
   //We've read in all the available Serial data, and don't have a valid string yet, so return false
   return false;
}
//************************/////
void loop(){
  
  if(getSerialString()){
//String available for parsing.  Parse it here
 for (int i = 0; i <= 35; i++)  // select here index
   {
    Serial.print(dataBuffer[i]);}
in first  the "boolean getSerialString()" is well after void setup ()?
in second in the void loop()  to use getSerialString the data are in dataBuffer[] ?
4  International / Français / Re: [aide] envoie de ctrl+z dans le serial monitor on: May 08, 2012, 03:48:58 am
tien.

essaye plus avec ce petit trés pratique :
https://sites.google.com/site/terminalbpp/
5  International / Français / Re: [Projet] lecture sur port RS232 et publication sur site web on: May 07, 2012, 12:31:21 pm
2. Concernant la programmation
Est ce que je serai obligé de connecter mon PC sur le port USB de l'arduino MEGA pour uploader mes programmes ou par le port ethernet me permettra de le faire ?

tien un petit lien sur le fofo anglais pour un maj par la carte uSD
6  International / Français / Re: [Projet] lecture sur port RS232 et publication sur site web on: May 06, 2012, 03:56:59 pm
rhooo !!!! roy te voila!!!

alors arduino un jour ... arduino toujours!!!
7  International / Français / Re: [aide] communication serie on: May 06, 2012, 11:48:13 am
alors ça ! ça m'intéresse pour la 2° partie de mon projet qui serra l'utilisation du com1 pour inter-agire avec la chaudière.
mais j'ai pas encore déchiffré la doc en allemand. smiley-red
8  International / Français / [aide] communication serie on: May 06, 2012, 11:00:47 am
bonjour .
encore moi! smiley-red
je viens d'essaye de suivre un tuto en anglaishttp://jhaskellsblog.blogspot.fr/2011/05/serial-comm-fundamentals-on-arduino.html pour capturer une trame complète c'est à dire:
on regarde pour un starchar et un endchar .

voici le code:
Code:
//buffer size for NMEA compliant GPS string

#define DATABUFFERSIZE      1024
char dataBuffer[DATABUFFERSIZE+1]; //Add 1 for NULL terminator
byte dataBufferIndex = 0;

void setup(){
  Serial.begin(57600);
  Serial2.begin(57600);
  Serial.print("wait data on com2");
}
//******************************************//

boolean getSerialString(){
char startChar = '$'; // or '!', or whatever your start character is
char endChar = '\x1a';
boolean storeString = false; //This will be our flag to put the data in our buffer
static byte dataBufferIndex = 0;
while(Serial2.available()>0)
{
  char incomingbyte = Serial2.read();
      Serial.print(incomingbyte);// teste
  if(incomingbyte==startChar)
  {
   dataBufferIndex = 0;  //Initialize our dataBufferIndex variable
   storeString = true;
  }
  if(storeString)
  {
    //Let's check our index here, and abort if we're outside our buffer size
    //We use our define here so our buffer size can be easily modified
    if(dataBufferIndex==DATABUFFERSIZE)
    {
     //Oops, our index is pointing to an array element outside our buffer.
     dataBufferIndex = 0;
     break;
    }
 if(incomingbyte==endChar)
 {
  dataBuffer[dataBufferIndex] = 0; //null terminate the C string
  //Our data string is complete.  return true
  return true;
  }
   else{
    dataBuffer[dataBufferIndex++] = incomingbyte;
    dataBuffer[dataBufferIndex] = 0; //null terminate the C string
 }}
  else{
 }}
   //We've read in all the available Serial data, and don't have a valid string yet, so return false
   return false;
}
//************************/////
void loop(){
 
  if(getSerialString()){
    //String available for parsing.  Parse it here
    Serial.print(dataBuffer);

   
}

}
le
Quote
boolean getSerialString(){
ça se place bien après le void setup()?  c'est un peut comme une "sorte de macro" , non?
9  International / Français / Re: [Projet] lecture sur port RS232 et publication sur site web on: May 06, 2012, 02:53:11 am
alors pour la longueur de cable.

je suis dans le même cas ! à la seul différence que j'ai le cable , je peu encore le passer mais j'ai la flème! smiley-red

j'avais un vieux kit cpl devolo 54mbps . j'ai branché et hop!!! simple rapide éfficace smiley-lol.

10  International / Français / Re: caractères spéciaux on: May 05, 2012, 01:25:51 pm
merci pour l'info!!! je me suis gratté la tête toute la journée pour ça!!

la chaudière ça tourne impeccable j'en suis super contant !

je vais essayer cela de ce pas.

encore merci.
11  International / Français / caractères spéciaux on: May 05, 2012, 11:41:57 am
bonjour.

je butte sur un truc tout bète!

en regardant la table ascii le 026 en décimale le 0x1a en hex correspond à SUB

pour envoyer un CR ->\r un LF ->\n mais un SUB ? \S?
en plus du \r comment faire pour envoyer un SUB

Code:
char* myStrings[]={
"$ Prêt;0019;1;1;zst;\r",
"Kesseltemp.;0126;2;2;°C;\r",
void setup(){
Serial.begin(57600);
}

void loop(){
for (int i = 0; i < 30; i++){
   Serial.write(myStrings[i]);
   delay(1000);
}}

 
12  International / Le bar / Re: le carnet rose d'infobarquee on: May 04, 2012, 11:56:40 am
ça me rappelle des souvenirs tous ça!!!! ma femme des mauvais!

quand on été jeune , j'élever des souchet et sarcelles , ma 1° ponte pour être sur de pas la "foiré"  surtout un fois éclos , j'ai élever tous le ptit monde dans notre unique pièce à l'époque! je vous explique pas le bazard !!
et une fois je me suis amusez à faire éclore des oeufs de caille pff...... quand ça naît c'est gros comme l'ongle du pouce et quelques heures après ça vole!!   il y en avait partout dans le lit!!!!!!!!!!

prévois tu un retournement automatique pour ta couveuse?
13  International / Français / Re: [Projet] lecture sur port RS232 et publication sur site web on: May 03, 2012, 11:32:04 am
salut .

eh bien maintenant on ai 2 sur le projet. toi avec une P2 et moi avec une P4

as tu testé les soft pour P2 ? histoire de voire à quoi ressemble les données brut.

si je prend mon exemple je crois que j'ai fais le travaille à l'envers m'enfin je n'y connaissé absolument rien  smiley-red

je pense que comme moi tu veut employé les données dans une base mysql, que tu ne veut pas de pc dédier à cette tache ! et surtout ne pas avoir à retiré la uSD pour la lire .

si je ne me trompe pas il faut bien construire la base avant en connaissant les données que l'on obtient de la froling

en lisant se petit tuto sur mysql http://forum.phpfrance.com/faq-tutoriels/introduction-load-data-infile-t18738.html je me suis aperçue que peut être je me suis compliqué la tache.  
en effet mon log brut peut être intégré dans la base sans trop de difficulté (enfin...)

j'ai testé tiny ça fonctionne très bien sans prise de tète!

tien voici un lien pour les chaudiére froling http://froeling.foren-city.de/forum,2,-froeling.html  mais en allemand.

si tu as des questions n'hésite pas à me contacter par MP y'a plus d'idées dans 2 têtes que dans une seule.

à oui sur la P2 c'est bien le Lambdatronic P3100? pas le Lambdatronic P3200 comme la P4?
14  International / Français / Re: CSV vers mysql ? on: April 30, 2012, 04:20:49 am
merci pour les réponses.

pour l'heure je me suis inspiré d'un exemple .
Quote
/*

 Udp NTP Client
 
 Get the time from a Network Time Protocol (NTP) time server
 Demonstrates use of UDP sendPacket and ReceivePacket 
 For more on NTP time servers and the messages needed to communicate with them, 
 see http://en.wikipedia.org/wiki/Network_Time_Protocol
 
 created 4 Sep 2010 
 by Michael Margolis
 modified 17 Sep 2010
 by Tom Igoe
 
 This code is in the public domain.

 */

#include <SPI.h>         
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <Time.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 
  0x90, 0xA2, 0xDA, 0x0D, 0x14, 0xE3 };

unsigned int localPort = 8888;      // local port to listen for UDP packets

IPAddress timeServer(192,168,1,1); // pool.ntp.org NTP server
//IPAddress timeServer = "hera.limescope.net";

const int NTP_PACKET_SIZE= 48; // NTP time stamp is in the first 48 bytes of the message

byte packetBuffer[ NTP_PACKET_SIZE]; //buffer to hold incoming and outgoing packets

// A UDP instance to let us send and receive packets over UDP
EthernetUDP Udp;

int timeZoneHour = +2; // Enter Your Actual Time Zone EDT (-4)

long timeZoneOffset = (timeZoneHour * -1) * 60 * 60 ;
int NTP_Update_Interval = 60; // Number of secs before resync - should be longer just testing really


void setup()
{
  Serial.begin(9600);
  Serial.println("Starting");
  // start Ethernet and UDP
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // no point in carrying on, so do nothing forevermore:
    for(;smiley-wink
      ;
  }
  Udp.begin(localPort);
  Serial.print("Got IP:");
  Serial.println(Ethernet.localIP());
  setSyncProvider(getNTPTime);
  Serial.println("Looking for a time");
  while(timeStatus()== timeNotSet)   
     ;
  Serial.println("Got a Time");
  setSyncInterval(NTP_Update_Interval);
}

void loop()
{

  Serial.print(day());
  Serial.print("/");
  Serial.print(month());
  Serial.print("/");
  Serial.print(year());
  Serial.print(" " );
   Serial.print(hour());
   Serial.print(":");
  printDigits(minute());
  Serial.print(":");
  printDigits(second());
  Serial.println();
  

  delay(10000);
}

void printDigits(int digits){
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

unsigned long getNTPTime()
{
  Serial.println("In getNTPTime");
  sendNTPpacket(timeServer);
  delay(1000);
  if ( Udp.parsePacket() ) { 
    Serial.println("Got Time Packet");
    Udp.read(packetBuffer,NTP_PACKET_SIZE);
 
    unsigned long highWord = word(packetBuffer[40], packetBuffer[41]);
    unsigned long lowWord = word(packetBuffer[42], packetBuffer[43]); 
    unsigned long secsSince1900 = highWord << 16 | lowWord; 

    const unsigned long seventyYears = 2208988800UL + timeZoneOffset;     
    unsigned long epoch = secsSince1900 - seventyYears; 
  
    return epoch;   
  }
  Serial.println("No Time Packet Found");
  return 0;
}
// send an NTP request to the time server at the given address 
unsigned long sendNTPpacket(IPAddress& address)
{
  // set all bytes in the buffer to 0
  memset(packetBuffer, 0, NTP_PACKET_SIZE); 
  // Initialize values needed to form NTP request
  // (see URL above for details on the packets)
  packetBuffer[0] = 0b11100011;   // LI, Version, Mode
  packetBuffer[1] = 0;     // Stratum, or type of clock
  packetBuffer[2] = 6;     // Polling Interval
  packetBuffer[3] = 0xEC;  // Peer Clock Precision
  // 8 bytes of zero for Root Delay & Root Dispersion
  packetBuffer[12]  = 49; 
  packetBuffer[13]  = 0x4E;
  packetBuffer[14]  = 49;
  packetBuffer[15]  = 52;

  // all NTP fields have been given values, now
  // you can send a packet requesting a timestamp:          
  Udp.beginPacket(address, 123); //NTP requests are to port 123
  Udp.write(packetBuffer,NTP_PACKET_SIZE);
  Udp.endPacket();
}


sur le pc j'ai installer wamp et un serveur ftp histoire de voire , avec php/mysql il y'a une fonction simple "LOAD DATA INFILE ‘test.txt’"
pour commencé je vais faire simple avec webduino .
je testerais le ftp par la suite (ça m'a l'aire plus compliquer)

15  International / Français / CSV vers mysql ? on: April 29, 2012, 06:58:41 am
bonjour.

Grace au forum maintenant j'arrive un faire un log au format CSV sur une uSD.
les données se présent sous cette forme:
date et heure|data1|data2|...|data30|
je récupère l'heure  via ntp (très pratique).

sur mon pc j'ai installer wamp , et crée un base test . maintenant j'essaye de transféré les données qui sont sur la carte uSD vers cette table.

pour la partie uSD j’utilise la librairie SD mais je me demande si la librairie sdfat ne serrais pas plus approprié .

pour la partie client je sèche un peut j'avoue ne pas y comprendre grand chose encore. comme mon pc n'est pas allumer en permanence , je pense utilisé Timealarme pour déclenché la synchronisation à partir d'une certaine heure.

auriez vous des idées ou conseils?
merci
Pages: [1] 2 3 4