-
        

Ergebnis 1 bis 4 von 4

Thema: java fehlermeldung beim öffnen von einer *.ino datei

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.344

    java fehlermeldung beim öffnen von einer *.ino datei

    Anzeige

    hallo allerseits,

    bin zwar schon eine weile im forum dabei, aber mit arduino ist es mein erster kontakt...

    habe beim öffnen einer datei in der arduino IDE (unter ubuntu-linux) diese fehlermeldung bekommen und kann damit absolut nichts anfangen, könnte mir bitte jemand helfen und einen tipp geben was zu tun ist?

    Code:
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
        at processing.app.Sketch.setCurrentCode(Sketch.java:1159)
        at processing.app.Sketch.load(Sketch.java:219)
        at processing.app.Sketch.<init>(Sketch.java:141)
        at processing.app.Editor.handleOpenInternal(Editor.java:2132)
        at processing.app.Editor.<init>(Editor.java:311)
        at processing.app.Base.handleOpen(Base.java:700)
        at processing.app.Base.handleOpen(Base.java:665)
        at processing.app.Base.handleOpenPrompt(Base.java:654)
        at processing.app.Editor$5.actionPerformed(Editor.java:503)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
        at java.awt.Component.processMouseEvent(Component.java:6505)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3311)
        at java.awt.Component.processEvent(Component.java:6270)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4861)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
        at java.awt.Container.dispatchEventImpl(Container.java:2273)
        at java.awt.Window.dispatchEventImpl(Window.java:2719)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:694)
        at java.awt.EventQueue$3.run(EventQueue.java:692)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:708)
        at java.awt.EventQueue$4.run(EventQueue.java:706)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
    gruß inka

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    Wenn der Dateiname nicht mit einem Buchstaben beginnt, kann dieser Fehler auftreten.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    70
    Beiträge
    1.344
    hi Sisor,

    ok, am anfang war ein buchstabe aber mittendrinn eine leerstelle, was evtl. auch die ursache gewesen sein könnte, oder? Jetzt heisst das file "obstacle_avoidance.ino". Ist von sainsmart, evtl. zu kompliziert um damit anzufangen? Ich habe teile bei sainsmart bestellt, da möchte ich die testen, wenn sie da sind
    Code:
    const int EchoPin = 2; // Ultrasonic signal input
    const int TrigPin = 3; // Ultrasonic signal output
    const int leftmotorpin1 = 8; //signal output of Dc motor driven plate
    const int leftmotorpin2 = 9;
    const int rightmotorpin1 = 6;
    const int rightmotorpin2 = 7;
    const int HeadServopin = 10; // signal input of headservo
    const int Sharppin = 11; // infrared output
    const int maxStart = 800;
    //run dec time
    // Variables
    int isStart = maxStart;
    int currDist = 0;
    //start
    // distance
    boolean running = false;
    void setup() {
    Serial.begin(9600); // Serial begin texting
    //signal input port
    pinMode(EchoPin, INPUT);
    pinMode(Sharppin, INPUT);
    //signal output port
    for (int pinindex = 3; pinindex < 11; pinindex++) {
    pinMode(pinindex, OUTPUT); // set pins 3 to 10 as outputs
    }
    // headservo interface
    headservo.attach(HeadServopin);
    //start buffer movable head
    headservo.write(70);
    delay(2000);
    headservo.write(20);
    delay(2000);
    }
    void loop() {
    if(DEBUG){
    Serial.print("running:");
    if(running){
    Serial.println("true");
    }
    else{
    Serial.println("false");
    }
    }
    if (isStart <= 0) {
    if(running){
    totalhalt();
    // stop!
    }
    int findsomebody = digitalRead(Sharppin);
    if(DEBUG){
    Serial.print("findsomebody:");
    Serial.println(findsomebody);
    }
    if(findsomebody > 0) {
    isStart = maxStart;
    }
    delay(4000);
    return;
    }
    isStart--;
    delay(100);
    if(DEBUG){
    Serial.print("isStart: ");
    Serial.println(isStart);
    }
    currDist = MeasuringDistance(); //measure front distance
    if(DEBUG){
    Serial.print("Current Distance: ");
    Serial.println(currDist);
    }
    if(currDist > 30) {
    nodanger();
    }
    else if(currDist < 15){
    backup();
    randTrun();
    }
    else {
    //whichway();
    randTrun();
    }
    }
    //measure distance, unit “cm”
    long MeasuringDistance() {
    long duration;
    //pinMode(TrigPin, OUTPUT);
    digitalWrite(TrigPin, LOW);
    delayMicroseconds(2);
    digitalWrite(TrigPin, HIGH);
    delayMicroseconds(5);
    digitalWrite(TrigPin, LOW);
    //pinMode(EchoPin, INPUT);
    duration = pulseIn(EchoPin, HIGH);
    return duration / 29 / 2;
    }
    // forward
    void nodanger() {
    running = true;
    digitalWrite(leftmotorpin1, HIGH);
    digitalWrite(leftmotorpin2, LOW);
    digitalWrite(rightmotorpin1, HIGH);
    digitalWrite(rightmotorpin2, LOW);
    return;
    }
    //backward
    void backup() {
    running = true;
    digitalWrite(leftmotorpin1, LOW);
    digitalWrite(leftmotorpin2, HIGH);
    digitalWrite(rightmotorpin1, LOW);
    digitalWrite(rightmotorpin2, HIGH);
    delay(1000);
    }
    //choose way
    void whichway() {
    running = true;
    totalhalt();
    // first stop!
    headservo.write(20);
    delay(1000);
    int lDist = MeasuringDistance();
    totalhalt();
    // check left distance
    // probe recovering
    headservo.write(120);
    // turn the servo right
    delay(1000);
    int rDist = MeasuringDistance();
    totalhalt();
    if(lDist < rDist) {
    body_lturn();
    }
    else{
    body_rturn();
    }
    // check right distance
    // probe recovering
    return;
    }
    //remodulate to the original status mechanically
    void totalhalt() {
    digitalWrite(leftmotorpin1, HIGH);
    digitalWrite(leftmotorpin2, HIGH);
    digitalWrite(rightmotorpin1, HIGH);
    digitalWrite(rightmotorpin2, HIGH);
    headservo.write(70);
    //
    set servo to face forward
    running = false;
    return;
    delay(1000);
    }
    //turn left
    void body_lturn() {
    running = true;
    digitalWrite(leftmotorpin1, LOW);
    digitalWrite(leftmotorpin2, HIGH);
    digitalWrite(rightmotorpin1, HIGH);
    digitalWrite(rightmotorpin2, LOW);
    delay(1500);
    totalhalt();
    }
    //turn right
    void body_rturn() {
    running = true;
    digitalWrite(leftmotorpin1, HIGH);
    digitalWrite(leftmotorpin2, LOW);
    digitalWrite(rightmotorpin1, LOW);
    digitalWrite(rightmotorpin2, HIGH);
    delay(1500);
    totalhalt();
    }
    void randTrun(){
    long randNumber;
    randomSeed(analogRead(0));
    randNumber = random(0, 10);
    if(randNumber > 5) {
    body_rturn();
    }
    else
    {
    body_lturn();
    }
    }
    lässt sich in der arduino IDE öffnen, beim compilierversuch kommt:
    Code:
    obstacle_avoidance.cpp: In function ‘void setup()’:
    obstacle_avoidance.cpp:38:1: error: ‘headservo’ was not declared in this scope
    obstacle_avoidance.cpp: In function ‘void loop()’:
    obstacle_avoidance.cpp:46:4: error: ‘DEBUG’ was not declared in this scope
    obstacle_avoidance.cpp:61:4: error: ‘DEBUG’ was not declared in this scope
    obstacle_avoidance.cpp:73:4: error: ‘DEBUG’ was not declared in this scope
    obstacle_avoidance.cpp:78:4: error: ‘DEBUG’ was not declared in this scope
    obstacle_avoidance.cpp: In function ‘void whichway()’:
    obstacle_avoidance.cpp:130:1: error: ‘headservo’ was not declared in this scope
    obstacle_avoidance.cpp: In function ‘void totalhalt()’:
    obstacle_avoidance.cpp:157:1: error: ‘headservo’ was not declared in this scope
    obstacle_avoidance.cpp:159:1: error: ‘set’ was not declared in this scope
    obstacle_avoidance.cpp:159:5: error: expected ‘;’ before ‘servo’
    jetzt weiss ich dass es bedeutet, dass bestimmte libs fehlen. Muss ich diese (welche? alle?) in das verzeichnis mit der zu compilierenden datei kopieren, oder gibt es eine möglichkeit das über pfade in der IDE zu machen? Die IDE bietet die möglichkeit die libs zu includen, reicht das schon?

    danke erstmal...
    gruß inka

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    jetzt weiss ich dass es bedeutet, dass bestimmte libs fehlen. Muss ich diese (welche? alle?) in das verzeichnis mit der zu compilierenden datei kopieren, oder gibt es eine möglichkeit das über pfade in der IDE zu machen? Die IDE bietet die möglichkeit die libs zu includen, reicht das schon?
    Unter Windows kommen Bibliotheken standardmäßig nach: ...\Eigene Dokumente\Arduino\libraries
    Allgemein: [Sketchbook-Speicherort]\libraries
    Sketchbook-Speicherort kann man in 'Datei'->'Einstellungen' erfahren.

Ähnliche Themen

  1. Fehlermeldung beim Übertragen
    Von TheNetwalker im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 28.06.2009, 19:31
  2. Fehlermeldung beim Compilieren
    Von ikarus_177 im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 25.06.2009, 19:11
  3. sch datei und lib datei öffnen
    Von xbgamer im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 6
    Letzter Beitrag: 03.09.2007, 08:03
  4. problem beim öffnen einer datei
    Von xbgamer im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 4
    Letzter Beitrag: 08.01.2007, 01:14
  5. Eagle 4.14 Datei öffnen mit Version 4.13r1?
    Von Siggi83 im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 2
    Letzter Beitrag: 01.05.2005, 20:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •