Oscilloscope avec processing
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Oscilloscope avec processing



  1. #1
    samna

    Lightbulb Oscilloscope avec processing


    ------

    Bonjour tout le monde,
    j'ai ce bout de code à chaque fois que je l'exécute une erreur du type (Array out of bounds ) s'affiche.
    l'erreur m'échappe et j'arrive à la localiser peut être lorsque vous voyez le code vous la détecterez .SVP aidez moi .Merci

    Pourtant le code s’exécuter très bien hier.

    Voice le code:

    Nom : Capture.PNG
Affichages : 85
Taille : 92,5 Ko

    Code:
    import processing.serial.*;
     
    Serial port;  // Create object from Serial class
    int val;      // Data received from the serial port
    int[] values;
    float zoom;
     
    void setup() 
    {
      size(1280, 480);
      // Open the port that the board is connected to and use the same speed (9600 bps)
      port = new Serial(this, Serial.list()[0], 9600);
      values = new int[width];
      zoom = 1.0f;
      smooth();
    }
     
    int getY(int val) {
      return (int)(height - val / 1023.0f * (height - 1));
    }
     
    int getValue() {
      int value = -1;
      while (port.available() >= 3) {
        if (port.read() == 0xff) {
          value = (port.read() << 8) | (port.read());
        }
      }
      return value;
    }
     
    void pushValue(int value) {
      for (int i=0; i<width-1; i++)
        values[i] = values[i+1];
      values[width-1] = value;
    }
     
    void drawLines() {
      stroke(255);
      
      int displayWidth = (int) (width / zoom);
      
      int k = values.length - displayWidth;
      
      int x0 = 0;
      int y0 = getY(values[k]);
      for (int i=1; i<displayWidth; i++) {
        k++;
        int x1 = (int) (i * (width-1) / (displayWidth-1));
        int y1 = getY(values[k]);
        line(x0, y0, x1, y1);
        x0 = x1;
        y0 = y1;
      }
    }
     
    void drawGrid() {
      stroke(255, 0, 0);
      line(0, height/2, width, height/2);
    }
     
    void keyReleased() {
      switch (key) {
        case '+':
          zoom *= 2.0f;
          println(zoom);
          if ( (int) (width / zoom) <= 1 )
            zoom /= 2.0f;
          break;
        case '-':
          zoom /= 2.0f;
          if (zoom < 1.0f)
            zoom *= 2.0f;
          break;
      }
    }
     
    void draw()
    {
      background(0);
      drawGrid();
      val = getValue();
      if (val != -1) {
        pushValue(val);
      }
      drawLines();
    }

    -----
    Dernière modification par Antoane ; 19/04/2015 à 13h41. Motif: Ajout balises [/code]

  2. #2
    jiherve

    Re : Oscilloscope avec processing

    Bonsoir,
    faut il deviner le contexte?
    En général(toujours en fait) un code qui marchait la veille mais ne fonctionne plus aujourd'hui c'est :
    il a été modifié et /ou il y a une ou des variables non initialisées.
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    annjy

    Re : Oscilloscope avec processing

    Bsr,

    sur un oscillo, je ne sais pas, mais au golf, "out of bounds", c'est "hors limites".....

    cdt,
    JY

  4. #4
    samna

    Re : Oscilloscope avec processing

    J'ai juste testé les codes qui se présentent sur ce site

    http://www.instructables.com/id/Ardu...-Oscilloscope/

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Oscilloscope avec pic 18f4550
    Par olivniv dans le forum Électronique
    Réponses: 9
    Dernier message: 13/04/2015, 05h45
  2. Probleme processing
    Par aviati dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 16/03/2015, 17h49
  3. Problème avec Processing
    Par Khalil_ dans le forum Électronique
    Réponses: 3
    Dernier message: 10/01/2015, 15h09
  4. oscilloscope avec GB ou TI
    Par wamania dans le forum Électronique
    Réponses: 3
    Dernier message: 28/04/2010, 21h26
  5. Je galère avec l'oscilloscope
    Par invite86e77b8c dans le forum Physique
    Réponses: 8
    Dernier message: 12/02/2008, 22h57
Découvrez nos comparatifs produits sur l'informatique et les technologies.