- Labornetzteil AliExpress         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 42

Thema: NIBO2 bei Reichelt gekauft, zusammengebaut und nu?

  1. #31
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.05.2007
    Ort
    Stolberg
    Beiträge
    111
    Anzeige

    E-Bike
    Den Quellcode für eine NIBO2-Linienfolge findest Du inkl. der Hex-Files auf der RoboterCC Seite:

    Kalibrierung: http://www.roboter.cc/index.php?opti...&projectid=127
    Linienfolge 2: http://www.roboter.cc/index.php?opti...&projectid=128

  2. #32
    Neuer Benutzer Öfters hier
    Registriert seit
    26.11.2010
    Beiträge
    5
    Danke, für die schnellen antworten. Ich hab die Programme ausprobiert und sie laufen auf meinen nibo2. Kann mir jemand mit dem programm für das ausweichen von Gegenständen helfen?

  3. #33
    Benutzer Stammmitglied
    Registriert seit
    17.05.2010
    Beiträge
    37
    Hallo, noch Interesse an Nibo und C?
    Ich werde versuchen, meine Erkenntnisse mitzuteilen.
    Ich benutze das Atmel Studio und die aktuelle Library.
    Ich versuche, den Code zu kommentieren!
    Viele Grüße auch Workwind, der offensichtlich fleißig mitliest!
    Lisbeth

  4. #34
    Benutzer Stammmitglied
    Registriert seit
    17.05.2010
    Beiträge
    37
    Zitat Zitat von Lisbeth2010
    Hallo, noch Interesse an Nibo und C?
    Ich werde versuchen, meine Erkenntnisse mitzuteilen.
    Ich benutze das Atmel Studio und die aktuelle Library.
    Ich versuche, den Code zu kommentieren!
    Viele Grüße auch Workwind, der offensichtlich fleißig mitliest!
    Lisbeth
    Code:
    /* Linie einfachst. Erstmal Bodensensoren */
    
    #include <avr/interrupt.h>
    
    #include <nibo/niboconfig.h>
    #include <nibo/iodefs.h>
    
    #include <nibo/bot.h>
    #include <nibo/i2cmaster.h>
    #include <nibo/leds.h>
    #include <nibo/delay.h>
    #include <nibo/motco.h>
    #include <nibo/irco.h>
    #include <nibo/floor.h>
    #include <nibo/adc.h>
    
    #include "utiliw.h"
    
    #define WHILE_1_TIME_GRID 20
    uint8_t counter_1ms;
    uint8_t speed_left = 40; // Ticks/Sekunde
    uint8_t speed_right = 40;	// Ticks/Sekunde
    
    
    // ------------------------------------------------------------
    // ---------- init timer2 -------------------------------------
    // ------------------------------------------------------------
    
    void init_timer2(void) {
    	TCCR2 = 0x00;	// normal port operation
    	TCNT2  = 0x83;	// set count value (131)
    }
    
    // ------------------------------------------------------------
    // ---------- start timer2 ------------------------------------
    // ------------------------------------------------------------
    
    void start_timer2(void) {
    	cli();						// disable global interrupts
    	counter_1ms = 0;
    	TCCR2 |= 0x05;		// CS02 = 1; CS01 = 0; CS00 = 1  -> clk/128
    	TIMSK |= (1<<TOIE2); //0x01;		// enable timer overflow interrupt
    	sei();						// enable global interrupts
    }
    
    // ------------------------------------------------------------
    // ---------- stop timer2 -------------------------------------
    // ------------------------------------------------------------
    
    void stop_timer2(void) {
    	cli();						// disable global interrupts
    	TCCR2 &= ~0x05;	// stop timer
    	TIMSK &= ~(1<<TOIE2);//0x01;	// disable timer overflow interrupt
    	sei();						// enable global interrupts
    }
    
    // ------------------------------------------------------------
    // ---------- timer2 ISR --------------------------------------
    // ------------------------------------------------------------
    
    ISR(TIMER2_OVF_vect) {	// timer2 overflow
    
    	// reload counter value high byte; 0x83 corresponds to 1ms
    	// clk/128 entspricht 125 kHz entspricht 8 us
    	TCNT2 = 0x83; //  131 bis 256 also 125 mal 8 us 
    	counter_1ms++;
    
    	if (counter_1ms >= WHILE_1_TIME_GRID) { 
    		stop_timer2(); // Zeitdauer unbekannt, deshalb stoppen
    		// Bodensensoren messen
    		floor_measure_iw();
    		//zahlausgabe(floor_mw[2]); // da kein Display!	
    
    		if (floor_mw[2] < 32) { // schwarz = 0, weiß = 1023
    			motco_stop();
    			motco_update();
    			leds_set_status(LEDS_RED,0);
    		} else {
    			leds_set_status(LEDS_GREEN,0);
    			// delta_motco ms nach vorn fahren		
    			motco_setSpeed(speed_left,speed_right);
    			motco_update(); // jetzt fährt er erst los!
    		} // end if floor
    		counter_1ms = 0;
    		start_timer2(); // alles abgearbeitet
    	} // end if counter
    } // end ISR
    
    
    /* die main */
    int main() {
    
    	sei();
    	bot_init();
    	i2c_init();
    	leds_init();
    	floor_init();
    	init_timer2();
    	
    	delay(2000); // damit er nicht gleich losrast!
    
    	motco_setSpeedParameters(5,4,6); // Empfehlung vom "Chef"
    
    	start_timer2();
    
    	while (1) {
    		// tu was
    		delay(10000);
    	}
    	return 0;
    }

  5. #35
    Neuer Benutzer Öfters hier
    Registriert seit
    26.11.2010
    Beiträge
    5
    Hallo,
    hab das Programm ausprobiert wo der nibo2 der line folgen soll aber irgendwie haut das nicht. Wollte ihn auf weißen Untergrund fahren lassen, also sprich so das er eben ner line folgt aber er fährt an satzweise auf ihr entlang und dann irgendwo anders hin aber nicht mehr auf ihr. Kann mir bitte jemand helfen?

    Gruß Leila

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

    Nibo 2

    Hallo
    so wie du es beschreibst macht der Nibo nicht was du willst. Würde erst mal vorschlagen, du gibst ein paar weitere Infos bekannt. Ein Programm zum folgen einer Linie ist schon was besseres. Wie steht es den mit C? Anfänger, Fortgeschritten oder Profi? Als was würdest du dich bezeichnen? Hast du die Programme auch dem Tutorial abgetippt und ausprobiert oder sogar verstanden? Der Sinn dieser Seiten ist die Hilfe. Das bedeutet aber nicht das du alles bis ins kleinste Beschrieben und ausgearbeitet bekommst. Fast jeder von uns hat mal ganz klein angefangen und sich durch die Programmierung gelesen. Wir können dir helfen - kein Problem. Aber machen musst du es allein. Ich habe einige Programme zum Testen der einzelnen Funktionen. Dein Programm, so wie du es haben willst, steht unmittelbar vor dem Bildschirm und wartet auf dich (hat so um die 100 Tasten zur freien Auswahl).
    Achim

  7. #37
    Neuer Benutzer Öfters hier
    Registriert seit
    26.11.2010
    Beiträge
    5
    Ich hab alle Programme abgetippt und auch verstanden. Bezeichnen würd ich mich als fortgeschritten mehr aber auch nicht. Das Programm zum Linienfolgen bereitet mir trotzdem ein paar Probleme und ich weiß nicht woran es liegt.

  8. #38
    Hero_123
    Gast
    Hi leilahasi

    Hast Du bei deinem NIBO2 auch die Bodensensoren kalibriert? Wie das geht steht u.a. im Nibo2Tutorial_20091126.pdf (von der nicai-homepage downladen), das dafür benötigte *.hex file ist bei der lib im directory hex....

    dann müßte (müßte!) es funktionieren; ein funktionierendes c-file findest Du auch in http://www.roboter.cc/index.php?opti...&projectid=128 (sollte gemäß Workwind - da Author - funktionieren...)

    Nachtrag - Du mußt das *.zip file runterladen, wenn Du es auf deinem PC kompilieren willst!

    viel Glück

    mfg

    Hero_123

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

    Nibo 2

    Hallo
    deine Aussage ist recht dünn. Was macht er den oder nicht? Bekommst du Fehlermeldungen beim kompilieren? Welche Funktion soll er machen und was macht er wirklich. Wenn du das Prg verstanden hast, kannst du doch an den entsprechenden Stellen was verändern. Ansonsten kann ich nur das wiederholen was an anderer Stelle steht. " Sorry, habe gerade mein Glaskugel nicht zur Hand, " den ohne sie bin recht blind. Also Hilfe bedeutet an dieser Stelle Infos.
    Achim

  10. #40
    Neuer Benutzer Öfters hier
    Registriert seit
    26.11.2010
    Beiträge
    5
    Beim Kompillieren tritt kein Fehler auf und der Roboter bewegt sich auch, d.h. er fährt einfach nur vorwärts gegen irgendwas gegen und probiert immer weiter zu fahren. Ich had dann seine Linien- und Bodensensoren nochmal konfiguriert und gehofft das es dadurch funktioniert aber auch dann hat es nicht hin gehauen.
    Ich hab ihn am Sonntag das Programm zum Linienfolgen schon einmal rauf gespielt und dann hat sich der nibo2 so bewegt das er gegen was gegen gefahren ist, hat dann den rückwärtsgang rein gehauen und ist wo anders lang gefahren, bis er wieder irgendein hindernis hatte wo er gegen gefahren ist und dann hat sich das spiel wiederholt.
    Ich hab jetzt im nibo2 tutorial nochmal nach geguckt und hab meine Werte des ATmega128 mit dieser Aussage verglichen.

    Wählen Sie nun im angezeigtem Dialog ATmega128 aus und testen Sie die
    Verbindung indem Sie Read Signature drücken.
    Im Tabsheet Fuses dürfen keine Änderungen vorgenommen werden! Die
    Fuse-Bits des ATmega128 sind standardmäßig auf folgende Werte
    eingestellt: EXTENDED=0xFF, HIGH=0xC1, LOW=0xFF. Diese Werte dürfen
    nicht geändert werden, da man sich sonst aus dem Controller aussperrt!!!

    Meine Werte sind sind andere als da stehen. Könnte das damit zusammenhängen?

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test