Измеритель наряжения

Тема в разделе "Arduino & Shields", создана пользователем sqr93, 10 июн 2013.

  1. sqr93

    sqr93 Нерд

    Блин.Напряжение на аналог пин 6 только 0.16. на остальных 4.8. Сгорел ? О_О
     
  2. acos

    acos Официальный гик Администратор

    Построитель графика напряжения на аналоговом входе на Processing. Взял за основу то, что было у Джэрэми вот здесь http://wiki.amperka.ru/видеоуроки:6-serial-и-processing , и добавил построение графика. Но часто вылетала ошибка
    Код (Text):
    error disabling serialevent() for null
    Решается добавлением блока
    Код (Text):
    try {
    } catch {
    }
    в serialEvent.
    Вот код для Processing 2.2.1

    Код (Java):

    import processing.serial.*;
    Serial port;
    float nextValue = 0;
    int sizeRect = 500;

    String s;

    FloatList oscill;

    void setup()
    {
      size(sizeRect, sizeRect);
      port = new Serial(this, "COM61", 9600);
      port.bufferUntil('\n');
      oscill = new FloatList();
      s = new String("no data");
      textSize(18);

    }

    void draw()
    {
      background(0);
      stroke(255);

      text(s, 10, 30);

      for (int i=0; i<oscill.size()-2; ++i) {
        line(i, (sizeRect-(oscill.get(i)*sizeRect/5)), i+1, (sizeRect-(oscill.get(i+1)*sizeRect/5)));
      }
    }

    void serialEvent (Serial port)
    {
      try {
      nextValue = float(port.readStringUntil('\n'));

      s= nextValue + " V";

      if (!(oscill.size()<sizeRect)) {
        oscill.remove(0);
      }

      oscill.append(nextValue);
      } catch (Exception e) {
        println("Try to connect");
      }

    }

    void stop() {
      port.clear();
      port.stop();
    }