Show Posts
Pages: 1 ... 174 175 [176] 177 178 ... 282
2626  International / Français / Re: problème recepteur IR et sortie PWM on: November 09, 2012, 01:42:04 pm
merci smiley-wink
mais ça n'a pas l'air de fonctionner...
bon
principe de base avec un oscillo CRT
a tu déjà une trace plate ? un point ?
2627  International / Français / Re: Mon projet avec Arduino UNO REV3 on: November 09, 2012, 01:40:23 pm

Par contre il faut faire le bilan des pins :
- 74595 : 3 pins (generalement bus SPI : SCK, MOSI + 1 pin de validation
- Ecran lcd : generalement 6 pins : Data 0..3, Enable, R/W
- Pavé numérique ? Probablement 8 pins ou alors il va falloir utiliser des démultiplexer externes (74138 par ex.)
- Autres ?
Ca fait juste

bonsoir
mixer du lcd et du led juste pour "jouer" meme si c'est un jeu serieux  smiley-mr-green  , c'est AMHA lourd
perso pour simuler "une bombinette ludique"  smiley-cool  j'utiliserais un petit module TM1638 qui embarque 8 afficheurs 7segments+DP , 8 leds bicolores et 8 BP de commande (extensible) *.
j'en utilise regulierement quand il faut un peu de visibilité


* voir l'article de skywodd
http://skyduino.wordpress.com/2012/07/31/arduino-carte-tm1638-7-segments-leds-boutons/

2628  International / Français / Re: problème recepteur IR et sortie PWM on: November 09, 2012, 01:21:09 pm
c'est un metrix OX 712D
pour les sorties j'en sais rien lil ça fait plus de 10ans que je ne m'en suis pas servi d'un, et même à l'époque c'était déjà plus sophistiqué que ça au lycée ! je ne me souviens plus très bien comment ça fonctionne... je n'arrive déjà pas à mesurer du 5V continu avec  smiley-roll smiley-sweat lil
ok
c'est un petit metrix qui date de la fin des années 70
BP de 20 Mhz (vraiment utilisable jusque vers 12/15)
déjà tester si tu a des carres sur les voies en connectant le centre des BNC au signal de test
2629  International / Français / Re: Question de faisabilité avec Arduino Mega 2560 on: November 09, 2012, 10:57:26 am
Il y aura 12 capteurs de détection d'obstacles (+6 autres peut-être, encore incertain), 2 moteurs CC pour les roues, 5 autres petits moteurs pour d'autres actions, un shield Wifi pour écouter en continu si un ordre a été émis.
Si l'obstacle est détecté par les capteurs d'obstacles, la plateforme peut s'arrêter ou changer de direction en 500ms après la détection d'un obstacle. Si les capteurs de contacts détecte l'obstacle, la base doit s'arrêter immédiatement, en 20ms. Pour l'écoute d'un signal de commande, peut-être que l'émetteur WiFi peut émettre plusieurs fois la commande à intervalles réguliers jusqu'à ce que le récepteur réponde pour dire qu'il a bien reçu, ou alors émettre plusieurs fois la commande pour être sûr que la plateforme a reçu le signal.

Voilà ce que je peux dire pour le moment.

Merci de ton aide !
ok
Il n'y a donc à priori pas de temporalité critique
le choix des capteurs d'obstacles est déjà fait ?
2630  International / Français / Re: Question de faisabilité avec Arduino Mega 2560 on: November 09, 2012, 09:58:20 am
Bonjour,

Je suis étudiant en projet de fin d'études en école d'ingénieur aux Arts et Métiers (ENSAM) et je cherche à choisir un microcontrolleur pour un prototype, microcontroleur qui pourrait éventuellement servir dans le produit final. Malheureusement, je ne peux pas en dire plus sur ce projet.
Je souhaitais avoir vos avis pour savoir si, avec un Arduino Mega 2560, il serait possible d'actionner des moteurs pour faire avancer une plateforme, tout en détectant des obstacles et en recevant en WiFi, via le shield wifi, les ordres d'avance, recul et de virages à gauche ou à droite ?
Sinon vers quel type de microcontrôleur puis-je me tourner ? Faut-il un microcontrôleur de type ARM pour pouvoir faire tourner plusieurs actions en parallèle ou alors utiliser deux Arduino en parallèle par exemple ?

Je vous remercie de votre aide !  smiley

bblanchon

bonjour
puisque tu es en fin d'etude d'ingé , raisonne et expose ton probleme en "ingé" pour déjà le dimensionner  smiley-mr-green


combien de "stimuli" en entrée ? (capteurs)
combien de sorties (moteurs, actuateurs, etc ...)
taux de rafraichissement/actualisation mini
imperatifs temporels
autres


2631  International / Français / Re: problème recepteur IR et sortie PWM on: November 09, 2012, 08:18:15 am
...

j'ai récupéré un vieil oscilloscope, dès que j'arrive à le faire fonctionner (en espérant qu'il fonctionne  smiley-sweat) je teste ma sortie avec mon code précédent
bonjour
ça depend de ce que tu entend par "vieux"  smiley-mr-green

en general les oscillo "même un peu anciens" sont suffisants pour jouer/verifier avec les signaux arduino "courants"

- c'est quoi comme oscillo ?
- il dispose d'une sortie test probe/sonde ?


2632  International / Français / Re: Geiger Libelium et shield Ethernet on: November 09, 2012, 07:39:09 am

.... ne vous geigérizépa ....heu .. ne vous gêné pas pour allégé/modif le Code

bon reste une autre partie a faire, sous Ubuntu avec la bar des taches, a coter de météo  http://ezza.free.fr/UC/barGeigerUbuntu.jpeg
bonjour

[HUM]
 smiley-mr-green ----->[]


[/HUM]
2633  International / Français / Re: Télémétrie Arduino via RS232 on: November 09, 2012, 07:32:16 am
merci pour les liens mais ça ne correspond pas à mes attentes. Mais je viens de trouver un logiciel Logview qui va m'enregistrer toutes ces datas !

Merci encore !
bonjour
je ne connaissais pas logview, mais ça à l'air assez ouvert pour intégrer des dispos "exotiques"
à priori déjà il  y a du NMEA c'est bon signe !  smiley-mr-green
2634  International / Français / Re: Télémétrie Arduino via RS232 on: November 08, 2012, 01:17:14 pm
merci pour vos réponses. Le problème, c'est que je ne connais absolument pas le langage C (qui est la base de langage de l'arduino). Mais étant odnné qu'il y a beaucoup de bibliothèques arduino, c'est pour cela que je voulais passer par ce système. Après, s'il y a des programmes "simples" à mettre en oeuvre, pourquoi pas !
bonsoir
il semblerait que le terrain a été déblayé
 exemples ici
http://www.hapeweb.com/dnload/FRS%20Logger_manual_Pro.pdf
http://blog.thustra.com/2012/01/diy-frsky-gps-telemetry-sensor-with.html
2635  International / Français / Re: nRF24L01 > améliorer la porté avec une antenne? on: November 08, 2012, 08:42:00 am
Je trouve les APC220 chers par rapport à du nRF24L01.
En quoi seraient-ils mieux ?

Sur eBay on trouve des antennes 2.4GHz, prévues pour Wifi, à partir de 1,20€ smiley-wink
Est-ce que ca pourrait convenir ?

bonjour barbudor
dans cette gamme de fréquence la moindre désadaptation du "rayonnant"  peut vite devenir une solution pire que l'antenne "imprimée"  smiley-mr-green
tout doit être parfaitement adapté (connecteurs, cable/methode de jonction, taillage adapté de l'antenne, ...etc )
2636  International / Français / Re: Pinoche 13 LED ou SCK ? Dilemme. on: November 08, 2012, 08:14:40 am
Ok merci de ces confirmations.
Bonne journee.
bonjour
je ne m'etais jamais posé la question sur sck (19 du 328) , 13 et entrée  u5B
rapide lecture étonnante du schema de la R3
à suivre plus tard



2637  International / Français / Re: Geiger Libelium et shield Ethernet on: November 08, 2012, 03:32:31 am
Re

la compil donne des erreurs, surement pas suite a ta modif Barbudor, mais plus a la structure du code, une fission  ... heu ... fusion des deux codes ( suis nullos en C .... mais je creuse  smiley )


bonjour
faut nettoyer le code (à l'eau lourde de preference !  smiley-cool )
elapsedTime epsaledTime (dyslexie  ? smiley-mr-green )
manque un ;
une } en trop

ce code compile
Code:
/*
  Web Server et GEIGER
 
 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 * Analog inputs attached to pins A0 through A5 (optional)
 
 
 */

#include <SPI.h>
#include <Ethernet.h>
#include <LiquidCrystal.h>

// Enter a MAC address and IP address.
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 33);

// (port 80 is default for HTTP):
EthernetServer server(80);


// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(3,4,5,6,7,8);

// Threshold values for the led bar
#define TH1 45
#define TH2 95
#define TH3 200
#define TH4 400
#define TH5 600

// Conversion factor - CPM to uSV/h
#define CONV_FACTOR 0.00812

// Variables
int ledArray [] = {10,11,12,13,9};
int geiger_input = 2;
long count = 0;
long countPerMinute = 0;
long timePrevious = 0;
long timePreviousMeassure = 0;
long time = 0;
long countPrevious = 0;
float radiationValue = 0.0;

// fin partie 1 geiger


void setup() {
  pinMode(geiger_input, INPUT);
  digitalWrite(geiger_input,HIGH);
  for (int i=0;i<5;i++){
    pinMode(ledArray[i],OUTPUT);
  }

 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());

//partie geiger
//set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Radiation Sensor");
  lcd.setCursor(0,1);
  lcd.print("Board - Arduino");  
  delay(1000);

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(" Test Cooking Hacks");
  delay(1000);

  lcd.clear();
  lcd.setCursor(0,1);  
  lcd.print("www.cooking-hacks.com");
  delay(500);
  for (int i=0;i<5;i++){
    delay(200);  
    lcd.scrollDisplayLeft();
  }
  delay(500);

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("  - Libelium -");
  lcd.setCursor(0,1);
  lcd.print("www.libelium.com");    
  delay(1000);

  lcd.clear();  
  lcd.setCursor(0, 0);
  lcd.print("CPM=");
  lcd.setCursor(4,0);
  lcd.print(6*count);
  lcd.setCursor(0,1);
  lcd.print(radiationValue);

  attachInterrupt(0,countPulse,FALLING);

}
// fin partie geiger


void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connnection: close");
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
                    // add a meta refresh tag, so the browser pulls again every 5 seconds:
          client.println("<meta http-equiv=\"refresh\" content=\"5\">");
          
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
           int sensorReading = analogRead(analogChannel);
            
            client.print("compteur Geiger");
            client.print(radiationValue);
            client.println("<br />");
            client.print("analog input ");
            client.print(analogChannel);
             client.print(" is ");
            client.print(sensorReading);
                        client.println("<br />");      
          }
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disonnected");
  }

// partie geiger

// S'il s'est écouléplus de 10 secondes depuis la sernière mesure, il est temps d'en faire une nouvelle
  if (millis()-timePreviousMeassure > 10000){
    // calcul du temps écoulé en secondes
    unsigned long elapsedTime = (millis() - timePreviousMeassure) / 1000;
    // calcul du nombre d'impulsion par minute
    countPerMinute = 60*count/elapsedTime;
    // remise à  zéro du compteur ici et surtout pas en fin de boucle;
    count = 0;
    // calcul de la radiation
    radiationValue = countPerMinute * CONV_FACTOR;
    // mise à  jour du temps
    // il est plus précis d'ajouter le tempsécoulé plutot que de relire millis(). cela permet de lisser des erreurs
    timePreviousMeassure += 1000 * elapsedTime;
  
    // supprimer le count = 0; en fin de if car on l'a fait plus haut
  }

    Serial.print("cpm = ");
    Serial.print(countPerMinute,DEC);
    Serial.print(" - ");
    Serial.print("uSv/h = ");
    Serial.println(radiationValue,4);      
    lcd.clear();    
    lcd.setCursor(0, 0);
    lcd.print("CPM=");
    lcd.setCursor(4,0);
    lcd.print(countPerMinute);
    lcd.setCursor(0,1);
    lcd.print(radiationValue,4);
    lcd.setCursor(6,1);
    lcd.print(" uSv/h");

    //led var setting  
    if(countPerMinute <= TH1) ledVar(0);
    if((countPerMinute <= TH2)&&(countPerMinute>TH1)) ledVar(1);
    if((countPerMinute <= TH3)&&(countPerMinute>TH2)) ledVar(2);
    if((countPerMinute <= TH4)&&(countPerMinute>TH3)) ledVar(3);
    if((countPerMinute <= TH5)&&(countPerMinute>TH4)) ledVar(4);
    if(countPerMinute>TH5) ledVar(5);

    //  count = 0;

  }



void countPulse(){
  detachInterrupt(0);
  count++;
  while(digitalRead(2)==0){
  }
  attachInterrupt(0,countPulse,FALLING);
}

void ledVar(int value){
  if (value > 0){
    for(int i=0;i<=value;i++){
      digitalWrite(ledArray[i],HIGH);
    }
    for(int i=5;i>value;i--){
      digitalWrite(ledArray[i],LOW);
    }
  }
  else {
    for(int i=5;i>=0;i--){
      digitalWrite(ledArray[i],LOW);
    }
  }

}

2638  International / Français / Re: Transmission radio et sécurité on: November 07, 2012, 11:06:54 am
Mais le récepteur et l'émetteur doivent être parfaitement synchro ? Si je déclenche ma télécommande en dehors du périmetre, elle n'est plus au même endroit question précédente trame ?

Désolé si j'ai l'impression de poser 10x la même question mais j'avoue qu'il y a un concept qui m'échappe ... Si vous avez un exemple hyper simplifié je suis preneur smiley
relis tranquillement la reponse de fdufnews et ce passage smiley-mr-green

Quote
Évidemment comme il est toujours possible que l'émetteur ait été activé accidentellement et qu'il ait donc une certaine avance dans la génération des clés, le récepteur doit être capable de vérifier que la clé reçue fait bien partie de la liste des clés possibles. C'est à dire d'une clé générée par le même polynôme et qui soit à la suite des clés précédemment reçues. Le polynôme générateur doit être suffisamment long pour que la clé soit "unique" sur une période de temps assez longue
2639  International / Français / Re: Transmission radio et sécurité on: November 07, 2012, 10:18:32 am
Ok mais maintenant imaginons que j'ai bien crypter mon affaire avec un code qui change à chaque émission, qu'est-ce qui empêche quelqu'un de capter cette trame, et de la réémettre brute de fonderie ? Le récepteur recevra une trame correcte pourtant
non parce qu'un code reçu et valide par le recepteur pour action est ensuite "inopérant"
seuls les codes futurs reçus valides seront ensuite  pris en compte (sous rerves de la profondeur du rolling)
2640  International / Français / Re: Geiger Libelium et shield Ethernet on: November 07, 2012, 08:09:25 am
Tu veux dire qu'on est déjà mort  smiley-twist
Je croyais que la guerre froide était terminée ?
[Hum]
Les "guerres tièdes" sont peut être relativement plus vicieuses  smiley-mr-green
Pages: 1 ... 174 175 [176] 177 178 ... 282