Show Posts
Pages: 1 2 [3] 4 5 ... 23
31  International / Français / Re: projet de boule lumineuse on: December 15, 2013, 03:21:56 pm
bonjour a tous
après avoir un peu gratter sur la librairie RCSwitch j'ai réussi a récupéré une partie des codes
non sans mal car un changement d'emetteur sur la télécommande a été nécessaire
maintenant j'avoue ne pas savoir comment géré tout les programmes
j'ai commencer a codé ça
Code:
/*
  Boule lumineuse a led style philips
  télécommande RF chinoise modifier avec emmeteur 433.92Mhz
  recodage des fonctions principal
*/
// inclusion librairie RCswitch pour reception RF
#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

// déclaration de pin digital pour led
int ledRougePin = 9; // PWM
int ledVertPin = 10; // PWM
int ledBleuPin = 11; // PWM

// déclaration des variables
int boucle = 0;


void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2

  // déclaration des pins en sortie
  pinMode( ledRougePin, OUTPUT );
  pinMode( ledVertPin, OUTPUT );
  pinMode( ledBleuPin, OUTPUT );
 
  // Tout éteindre
  digitalWrite( ledRougePin, LOW );
  digitalWrite( ledVertPin, LOW );
  digitalWrite( ledBleuPin, LOW );
 
}

// code des sous boucle
/* couleur simple
  Active une couleur à la fois.
  Vous pouvez modifier le code pour allumer plusieurs couleurs
    en même temps.
 */
void couleursSimple(){
  // allumer Vert
  digitalWrite( ledRougePin, LOW );
  digitalWrite( ledVertPin, HIGH );
  digitalWrite( ledBleuPin, LOW );
  // Attendre 1 sec
  delay( 1000 );
  // allumer Rouge
  digitalWrite( ledRougePin, LOW );
  digitalWrite( ledVertPin, LOW );
  digitalWrite( ledBleuPin, HIGH );
  // Attendre 1 sec
  delay( 1000 );
  // allumer Bleu
  digitalWrite( ledRougePin, HIGH );
  digitalWrite( ledVertPin, LOW );
  digitalWrite( ledBleuPin, LOW );
  // Attendre 1 sec
  delay( 1000 );
 
}

/*  Couleur fondue
   Cette fonction passe d'une couleur à l'autre en fondue
   enchainé dans l'ordre suivant:
     Rouge -> Vert --> Bleu --> Rouge --> Vert --> ...
 */
void couleursFondue(){
  // allumer Rouge
  digitalWrite( ledRougePin, HIGH );
  digitalWrite( ledVertPin, LOW );
  digitalWrite( ledBleuPin, LOW );
  // Ajouter progressivement du vert
  // Retirer progressivement du rouge
  //   attention: 255 = pas de couleur, 0 = max de couleur
  for( int iVert = 255; iVert>0; iVert-- ) {
    int iRouge = 0 - iVert;
    analogWrite( ledRougePin, iRouge );
    analogWrite( ledVertPin, iVert );
    delay( 20 );
  }
  // Ajouter progressivement du bleu
  // Retirer progressivement du vert
  //   attention: 255 = pas de couleur, 0 = max de couleur
  for( int iBleu = 255; iBleu>0; iBleu-- ) {
    int iVert = 0 - iBleu;
    analogWrite( ledVertPin, iVert );
    analogWrite( ledBleuPin, iBleu );
    delay( 20 );
  }
  // Ajouter progressivement du rouge
  // Retirer progressivement du bleu
  //   attention: 255 = pas de couleur, 0 = max de couleur
  for( int iRouge = 255; iRouge>0; iRouge-- ) {
    int iBleu = 0 - iRouge;
    analogWrite( ledBleuPin, iBleu );
    analogWrite( ledRougePin, iRouge );
    delay( 20 );
  }
}

void loop() {
  if (mySwitch.available()) {
   
    int value = mySwitch.getReceivedValue();
   
    if (value == 0) {
      Serial.println("Unknown encoding");
    } else {
      if (mySwitch.getReceivedValue() == 13434879 || boucle == 0){
      Serial.print( "on boucle = " );
      boucle == 0;
      Serial.println( boucle );

     
    }
    if (mySwitch.getReceivedValue() == 13434639) {
      Serial.println( "play" );
    }
    if (mySwitch.getReceivedValue() == 13434687 || boucle == 4) {
      Serial.print( "m+ boucle = " );
      boucle = 4;
      Serial.println( boucle );
      couleursSimple();
     
    }
    if (mySwitch.getReceivedValue() == 13434831 || boucle == 5) {
      Serial.print( "m- boucle = " );
      boucle = 5;
      Serial.println( boucle );
      couleursFondue();
     
     
    }
    if (mySwitch.getReceivedValue() == 13434819) {
      Serial.println( "b+" );
    }
    if (mySwitch.getReceivedValue() == 13434675) {
      Serial.println( "b-" );
    }
    if (mySwitch.getReceivedValue() == 13434627) {
      Serial.println( "s+" );
    }
    if (mySwitch.getReceivedValue() == 13434867) {
      Serial.println( "s-" );
    }
   

    mySwitch.resetAvailable();
  }
}
}
mais une fois dans mes fonctions je ne peux pas les quittés tant qu'elles ne sont pas fini
et je n'arrive pas a les faire boucler tant que un autre programme n'est pas demander
si vous avec une idée
merci beaucoup
32  International / Français / projet de boule lumineuse on: December 08, 2013, 03:48:11 pm
bonjour a tous
j'ai dans l'idée de fabriquer mes propres lampes boules ( même style que les Phillips )
j'ai réfléchit a l'idée de faire la télécommande mais beaucoup trop chiant pour ce que je veut faire
j'ai retrouvé une vieille télécommande rf qui a l'air prometteuse ( photo en pj )
l'idée serais d’interpréter les code envoyé par la télécommande par un arduino/attiny pour allumer une led rgb en fonction
le tout dans une boule en plexi translucide
j'ai ouvert la télécommande et je pense avoir vu des choses intéressante et d'autre moins réjouissante
j'ai trouvé deux composants qui ont l'air de servir au pilotage
un wtc801sp1-l
introuvable sur google
et un stc 15f104e qui lui a un datasheet complet ( en anglais bien sur )
a coté de ce dernier ce trouve 4 trou dont 2 marquer 5v et GND
je pense a une liaison série mais pas sur
en haut on a le module rf souder a l'arrache
ce qui permettra que je mette ce que je veux comme fréquences

avez vous des idées pour interpréter les codes et pour refaire une système complet
merci a vous
33  International / Français / Re: moteur 14A sur controleur 12A ? on: September 05, 2013, 11:32:28 am
perso je me fait aussi un segway like mais avec deux moteurs ( je posterais peut etre une fois fini )
j'utilise un sabertooth
http://www.dimensionengineering.com/products/sabertooth2x25
un peu cher mais super simple a contrôler
regarde dans ces coins la
34  International / Français / Re: [arduino & attiny] Radio fréquence 315Mhz on: September 04, 2013, 03:11:33 pm
pas faux
ça résous pas le problème mais c'est bon a savoir
on trouve tellement de chose sur ebay que une erreur arrive vite
par contre sais tu ce qu'il y a sur cette fréquence ?
35  International / Français / Re: [arduino & attiny] Radio fréquence 315Mhz on: September 03, 2013, 11:42:36 pm
il me semble qu'avec le code et le matos que tu a utilisé pour le couple emmeteurs récepteurs ont comprendrait beaucoup mieux
qu'as tu modifier dans librairie virtualwiretiny ?
36  International / Français / Re: mesure de consommation elec on: July 16, 2013, 11:32:15 am
merci a vous pour ses solutions
je vais rester sur mon capteur actuelle ( SCT030 )
peut être un problème de ram effectivement
je teste le code fournit dés que possible
par contre y a t'il un moyen de ne pas utiliser la lib Emon ou t'ou du moins
une version allégé?
qui me servirait juste afficher la conso instantanées ( la seul qui m’intéresse )
37  International / Français / Re: mesure de consommation elec on: July 15, 2013, 11:53:26 am
je me suis mal fait comprendre
( l’énervement d'un code qui marche pas sans doute )
c'est pour mesurer la conso d'une salle ( avec son propre tableau elec ) et non pas celle de l'arduino
d’où l'utilisation d'un SCT030
merci quand même pour le lien ça peut toujours servir
38  International / Français / mesure de consommation elec on: July 14, 2013, 04:58:24 am
Bonjour a tous
j'ai par ces temps de grandes chaleur pas mal bosser sur une surveillance de salle informatique ( via le réseau, avec un arduino uno et son shield ethernet officiel )
ca marche parfaitement bien
seul soucis la surveillance de la consommation électrique
utilisant un SCT030 tout renvoie vers la librairie Emon
seulement celle ci m’empêche d'afficher la page
une fois la librairie et le code mit en place dans le mien
plus aucune page ne s'affiche
si vous avez une idée je suis preneur
actuellement j'affiche
état alarme incendie
état alarme anti intrusion
état de différente températures
état des entrés TOR ( pas grand chose pour le moment en tor )
j'aimerais affiché la conso instantanées
mais j'avoue que je bloque
si vous avez une idée je suis preneur
merci a vous
Code:
code en pièces jointes car limite des 9500 caractères
le code n'est pas du tout optimiser
quand tout marchera je me pencherais la dessus
39  International / Français / Re: probleme de validation digicode on: July 09, 2013, 04:00:53 pm
merci a vous pour ses réponses
non plus de cable entre les deux ( cellules en sortie pour ouverture du portail )
pas de pullup nan plus
je viens de modifier le code en rajoutant le password reset et les pullup
si vous pouvez me dire si vous voyez des erreurs
merci a vous
Code:
/*
||  Ouverture portail avec keypad 4x3
||  Création le 07/04/2013
||  allumage led sur pin 10 quand code mauvais
||  allumage led sur pin 11 quand code bon
||  pilotage opto sur pin 9 quand code bon ( voiture )
*/


//* valide la saisie 
//# reset la saisie

/////////////////////////////////////////////////////////////////

#include <avr/wdt.h>
#include <Password.h> //http://www.arduino.cc/playground/uploads/Code/Password.zip
#include <Keypad.h> //http://www.arduino.cc/playground/uploads/Code/Keypad.zip

Password password = Password( "1159" );    // voiture


const byte ROWS = 4; // 4 lignes
const byte COLS = 3; // 3 colonnes
// Define the Keymap
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};

byte rowPins[ROWS] = {8, 7, 6, 5};// Connecter le keypad ROW0, ROW1, ROW2 and ROW3 sur les pins 8.7.6.5
byte colPins[COLS] = {4, 3, 2};// Connecter le keypad COL0, COL1 and COL2 sur les pins 4.3


// Création du keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  wdt_enable (WDTO_8S);  // Initialise le watchdog avec un délais de 8 secondes
  keypad.addEventListener(keypadEvent); // ajout d'un evenement keypad voiture
  pinMode(10, OUTPUT);   // mauvais
  pinMode(11, OUTPUT);   // bon
  pinMode(9, OUTPUT);   // opto
  digitalWrite(5, HIGH);       // turn on pullup resistors
  digitalWrite(6, HIGH);       // turn on pullup resistors
  digitalWrite(7, HIGH);       // turn on pullup resistors
  digitalWrite(8, HIGH);       // turn on pullup resistors

}

void loop(){
  wdt_reset ();  // remet à zéro le timeout du watchdog
  keypad.getKey();
}

// mise en place bouton voiture
void keypadEvent(KeypadEvent eKey){
  switch (keypad.getState()){
    case PRESSED:
switch (eKey){
  case '*': checkPassword(); password.reset(); break;
  case '#': password.reset(); break;
  default: password.append(eKey);
     }
  }
}


void checkPassword(){        // opto
  if (password.evaluate()){ // action quand code bon
    digitalWrite(11, HIGH); // allumage led bon
    digitalWrite(9, HIGH); // opto
    delay(500);
    digitalWrite(9, LOW);
    delay(1500);
    digitalWrite(11, LOW);
  }else{                    // action quand code mauvais
    digitalWrite(10, HIGH);
    delay(2000);
    digitalWrite(10, LOW);
  }
}



40  International / Français / probleme de validation digicode on: July 09, 2013, 02:56:29 am
bonjour a tous
j'ai actuellement installer un digicode pour un portail
le principe est simple
un code est demander
si le code est bon je viens piloter un opto pour l'ouverture ( et j'allume une led )
si le code n'est pas bon j'allume une autre led 
jusqu’à la pas de soucis
la carte est faite et fonctionne
( arduino nano avec opto led et keypad 4X3 alimenter par une alim 12V sur la broche VIN de l'arduino )
seulement les utilisateurs mon remonté un problème embêtant
quand il attende un peu devant le digicode il suffit d'appuyer sur le bouton de validation pour ouvrir le portail
j'avoue ne pas avoir eu de problème lors de mes test
j'ai penser a un problème de parasite
ou de watchdog qui reset la carte et qui valide n'importe quel bouton pendant le reset
donc ouverture

si vous avez une idée je suis preneur

voici le code
Code:
/*
||  Ouverture portail avec keypad 4x3
||  Création le 07/04/2013
||  allumage led sur pin 10 quand code mauvais
||  allumage led sur pin 11 quand code bon
||  pilotage opto sur pin 9 quand code bon ( voiture )
*/


//* valide la saisie 
//# reset la saisie

/////////////////////////////////////////////////////////////////

#include <avr/wdt.h>
#include <Password.h> //http://www.arduino.cc/playground/uploads/Code/Password.zip
#include <Keypad.h> //http://www.arduino.cc/playground/uploads/Code/Keypad.zip

Password password = Password( "1159" );    // voiture


const byte ROWS = 4; // 4 lignes
const byte COLS = 3; // 3 colonnes
// Define the Keymap
char keys[ROWS][COLS] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};

byte rowPins[ROWS] = {8, 7, 6, 5};// Connecter le keypad ROW0, ROW1, ROW2 and ROW3 sur les pins 8.7.6.5
byte colPins[COLS] = {4, 3, 2};// Connecter le keypad COL0, COL1 and COL2 sur les pins 4.3


// Création du keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  wdt_enable (WDTO_8S);  // Initialise le watchdog avec un délais de 8 secondes
  keypad.addEventListener(keypadEvent); // ajout d'un evenement keypad voiture
  pinMode(10, OUTPUT);   // mauvais
  pinMode(11, OUTPUT);   // bon
  pinMode(9, OUTPUT);   // opto
}

void loop(){
  wdt_reset ();  // remet à zéro le timeout du watchdog
  keypad.getKey();
}

// mise en place bouton voiture
void keypadEvent(KeypadEvent eKey){
  switch (keypad.getState()){
    case PRESSED:
switch (eKey){
  case '*': checkPassword(); break;
  case '#': password.reset(); break;
  default: password.append(eKey);
     }
  }
}


void checkPassword(){        // opto
  if (password.evaluate()){ // action quand code bon
    digitalWrite(11, HIGH); // allumage led bon
    digitalWrite(9, HIGH); // opto
    delay(500);
    digitalWrite(9, LOW);
    delay(1500);
    digitalWrite(11, LOW);
  }else{                    // action quand code mauvais
    digitalWrite(10, HIGH);
    delay(2000);
    digitalWrite(10, LOW);
  }
}



41  International / Français / Re: deux ecran MI0283QT-9A sur un seul arduino on: June 06, 2013, 07:30:05 am
si je prends un ecran 4D system je pensais me passer d'une carte arduino
mais je ne sais pas si leur écran ( avec leur processeur machin )
peut piloter directement les servos?
si je rajoute un arduino effectivement je peux faire a peu prés tout ce que je veux
mais pour limiter les couts et les emmerde autant utiliser leur écran avec tout intégré
42  International / Français / Re: deux ecran MI0283QT-9A sur un seul arduino on: June 06, 2013, 07:02:32 am
a effectivement rien de très compliquer
mais j'avoue que modifier la lib c'est pas mon fort
je pense qu'en séparant certaine partie j'évite de trop surcharger l'arduino
sinon les écran 4D system peuvent géré plusieurs servo et relais reed ?
( sans carte additionnelle )
43  International / Français / deux ecran MI0283QT-9A sur un seul arduino on: June 06, 2013, 05:26:20 am
bonjour a tous
dans le but de rénover une voiture
je souhaite pouvoir remplacer toute la partie gestion chauffage/ climatisation par un arduino ( ou deux )
seulement au vu de tout les boutons nécessaire je me demandais si il été possible de mettre deux écran
( http://www.watterott.com/index.php?page=product&info=1627&xe0b85=04ecbf734eec2af14f3d1e5c631b1835 )
sur un seul arduino
ne connaissant pas beaucoup le SPI je vous demande conseil

si ce n'est pas possible deux arduino feront l'affaire mais amplifieront les problèmes
j'avais pensé aussi au écran de 4D System
mais je ne sais pas du tout si je peux piloter des servo et relais reed avec ce type d'écrans
merci a vous d'éclairer ma lanterne
44  International / Français / Re: keypad déporté et arduino on: June 06, 2013, 02:48:25 am
merci a toi de cette proposition
je vais essayer avec mes 10m de cable
si ca ne marche pas effectivement je vais tester dautre solution comme la liaison série et ton 74c922
45  International / Français / Re: keypad déporté et arduino on: June 05, 2013, 04:29:06 pm
après moult essaie sur une nano et une uno
j'ai changer de version de l'IDE et tout marche
j'avoue ne pas comprendre pourquoi mais bon ^^
dans les deux cas j'ai utiliser les exemple du keypad pour vérifier
ça marche sous 1.01 mais pas sous 0.23
merci a vous

PS: pas besoin des pullup ça marche niquel sans
Pages: 1 2 [3] 4 5 ... 23