- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 18

Thema: Nibo 2 programmier Probleme bei den Distanzsensoren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    01.04.2011
    Beiträge
    6
    Leider stehe ich da ganz am Anfang. Die Niboprogrammierung mache ich als Projekt.
    runat.

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.08.2009
    Ort
    Berlin
    Alter
    70
    Beiträge
    348

    Nibo

    Hallo runat
    da würde ich sagen, du fängst langsam an. Im Internet gibt es verschiedene Programme um C zu lernen. Man kann auch verschiedene Bücher als pdf bekommen. Und dann heisst es lesen. Parallel kannst du auch die Beispiele die du zum Nibo bekommen hast durcharbeiten und die Funktion einzelner Befehle lernen. C ist eine Computersprache und diese muss man erst einmal lernen. Fange mit kleinen und leichten Programmen an. Die Programme die du aufgeführt hast, sind schon eine andere Klasse. Falls du nichts findest, helfe ich dir gern weiter. Du kannst auch ein entsprechendes Fachbuch kaufen und damit lernen. Suche im Netz nach entsprechenden Sachen. So habe ich auch angefangen.
    Achim

  3. #3
    Hero_123
    Gast
    Hallo runat

    Ich vermute, Du hast jetzt im AVR-Studio die richtigen Einstellungen (Suchpfade) für die include-dateien und die library eingestellt, denn sonst wird Dein Programm nicht compiliert und Du erhälst die obigen Fehlermeldungen.

    Wenn Du die Sensoren des NIBOs checken willst - da gibt es im Nibo- directory ...src/tutorial/nibo2 einige recht gute Lernbeispiele, so ist das tutorial 8 geeignet, die Abstandssensoren zu checken.

    Ich nehme an, Du hast Dir das Display mit gekauft, denn sonst kannst Du sehr schlecht checken, ob die Abstandssensoren, die Linien- und Bodensensoren funktionieren...

    Du weißt hoffentlich auch, daß Du den NIBO neu mit dem initializer2.hex flashen mußt, wenn Du eine neue NiboLib benutzt; wie das geht, steht u.a. in der NiboWiki und in der Bauanleitung...

    wegen C - da gibt es im Netz unter: http://www.mikrocontroller.net/artic...R-GCC-Tutorial eine sehr gute Anleitung für den AVR - hat mir bei der Einarbeitung SEHR (!!) geholfen!

    Hero_123

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    01.04.2011
    Beiträge
    6
    Hallo Hero_123
    danke für den Tipp. Versuche nun die Anleitung für den AVR zu verstehen
    runat

  5. #5
    hallo ich habe dasselbe Problem und würde gerne mal genau wissen, was in den Einstellungen getan werden musste, um das Problem zu beheben.

  6. #6
    Hero_123
    Gast
    Hallo lfakner

    Das ist etwas wenig Info - welches Problem hast Du? Poste doch mal die Fehlermeldungen. die der Compiler ausgibt, erst dann kann man gezielt helfen

    mfg

    Hero_123

  7. #7
    ok, tschuldige.

    ../Nibo2.c: In function 'weicherechtsaus':
    ../Nibo2.c:17: warning: implicit declaration of function 'copro_setSpeed'
    ../Nibo2.c: In function 'rechtskurve':
    ../Nibo2.c:27: warning: implicit declaration of function 'copro_stop'
    ../Nibo2.c:29: warning: implicit declaration of function 'copro_setTargetRel'
    ../Nibo2.c: In function 'main':
    ../Nibo2.c:72: warning: implicit declaration of function 'spi_init'
    ../Nibo2.c:74: warning: implicit declaration of function 'sound_init'
    ../Nibo2.c:88: warning: implicit declaration of function 'copro_setSpeedParameters'
    ../Nibo2.c:89: warning: implicit declaration of function 'copro_ir_startMeasure'
    ../Nibo2.c:101: warning: implicit declaration of function 'copro_update'
    ../Nibo2.c:104: error: 'copro_distance' undeclared (first use in this function)
    ../Nibo2.c:104: error: (Each undeclared identifier is reported only once
    ../Nibo2.c:104: error: for each function it appears in.)
    make: *** [Nibo2.o] Error 1
    Build failed with 3 errors and 8 warnings...

    #include <nibo/niboconfig.h>
    #include <nibo/display.h>
    #include <nibo/gfx.h>
    #include <nibo/leds.h>
    #include <nibo/delay.h>
    #include <nibo/copro.h>
    #include <nibo/iodefs.h>
    #include <nibo/bot.h>
    #include <nibo/pwm.h>
    #include <nibo/sound.h>
    #include <avr/interrupt.h>
    #include <nibo/spi.h>
    #include <stdio.h>

    void weicherechtsaus(int speed)
    {
    copro_setSpeed(speed,speed/2); //linkes Rad langsamer drehen
    }

    void weichelinksaus(int speed)
    {
    copro_setSpeed(speed/2,speed); //linkes Rad langsamer drehen
    }

    void rechtskurve()
    {
    copro_stop();
    delay(100);
    copro_setTargetRel(27, -27, 10);
    delay(2000);
    }

    void ZeigeZahl(int zahl, int ptit)

    {


    if(zahl<5)

    {

    leds_set_status(0,7-ptit); //aus

    }

    else if(zahl>50)

    {

    leds_set_status(2,7-ptit); //rot

    }

    else if ((zahl>=5)&&(zahl<20))

    {

    leds_set_status(1,7-ptit); //gr¸n

    }
    else if ((zahl>=20)&&(zahl<=50))
    {
    leds_set_status(3,7-ptit); //orange
    }

    }

    int main(void)
    { // initialisierung
    sei();
    bot_init();
    spi_init();
    pwm_init();
    sound_init();
    display_init();
    gfx_init();
    leds_init();

    gfx_move(15, 0);
    gfx_set_proportional(1);
    gfx_print_text("Distance sensor test");
    gfx_set_proportional(0);
    gfx_move(5, 10);
    gfx_print_char('R');
    gfx_move(118, 10);
    gfx_print_char('L');
    delay(50);
    copro_setSpeedParameters(5,6,7);
    copro_ir_startMeasure(); //Zaehler der IR-Sensoren (0..4)
    int zahl;
    int ptit;
    int speed=20;
    int sensitvity=25;

    while(1)
    {
    delay(10);
    char text[20]="-- -- -- -- --";
    copro_setSpeed(speed,speed);

    if (copro_update())
    {
    sprintf(text, "%2d %2d %2d %2d %2d",
    copro_distance[0]/256,
    copro_distance[1]/256,
    copro_distance[2]/256,
    copro_distance[3]/256,
    copro_distance[4]/256);


    if((copro_distance[3]/1000)>sensitvity) //Sensor mitte links
    {
    weicherechtsaus(speed);
    }
    if((copro_distance[4]/1000)>sensitvity) //Sensor links
    {
    weicherechtsaus(speed);
    }
    if((copro_distance[1]/1000)>sensitvity) //Sensor mitte rechts
    {
    weichelinksaus(speed);
    }
    if((copro_distance[0]/1000)>sensitvity) //Sensor rechts
    {
    weichelinksaus(speed);
    }
    if((copro_distance[2]/1000)>50) //Sensor mitte
    {
    rechtskurve();
    }
    if((copro_distance[1]/1000)>55&&(copro_distance[3]/1000)>55) //Sensoren mitte rechts und links
    {
    rechtskurve();
    }
    if((copro_distance[0]/1000)>55&&(copro_distance[4]/1000)>55) //Sensoren rechts und links
    {
    rechtskurve();
    }

    for(ptit=0; ptit<=4; ptit++)
    {

    zahl=copro_distance[ptit]/1000; // Skaliere auf 0-64;

    ZeigeZahl(zahl, ptit);
    }

    }
    gfx_move(10, 55);
    gfx_print_text(text);
    // Spannung
    bot_update();
    float volt = 0.0166 * bot_supply - 1.19;
    sprintf(text, "%3.1fV", (double)volt);
    gfx_move(30, 10);
    gfx_set_proportional(1);
    gfx_print_text("supply: ");
    gfx_set_proportional(0);
    gfx_print_text(text);
    }
    return(0);

    }
    Bitte

Ähnliche Themen

  1. Reflektionseinflüsse auf Distanzsensoren (IR,Ultraschall)
    Von syren im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 29.12.2010, 22:09
  2. Probleme mit dem NIBObee programmier tut!
    Von DanyD im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 0
    Letzter Beitrag: 25.02.2010, 16:06
  3. Wie Sharp-Distanzsensoren parallel schalten?
    Von jiffyspace im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 26.03.2007, 20:55
  4. Antworten: 14
    Letzter Beitrag: 06.04.2006, 20:26
  5. Sharp Distanzsensoren nachbilden?
    Von bexter im Forum Sensoren / Sensorik
    Antworten: 16
    Letzter Beitrag: 17.05.2005, 19:35

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress