- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 3 von 3

Thema: NiboBee unerklaerliche LED Anzeigen + Motorbewegung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    27.12.2014
    Beiträge
    6

    Frage NiboBee unerklaerliche LED Anzeigen + Motorbewegung

    Anzeige

    Praxistest und DIY Projekte
    Hallo erstmal!
    Ich habe mir neulich einen Nibobee zugelegt und aufgebaut.
    Danach haben die Testprogramme, die in der NiboBee stdlib dabei sind
    ergeben, dass eigentlich alles funktioniert.

    Ein kleines Programm zum Ausweichen von Hindernissen hat auch schon wunderbar funktioniert,
    aber als ich mit den Bodensensoren/Linienverfolgung angefangen habe hat die Bee auf einmal angefangen
    seltsame Sachen zu machen.
    Hier ist der Code

    Code:
    #define F_CPU		16000000ul  // Prozessor Frequenz
    
    #define UNNORMAL           // nich von Bedeutung
    #include "../src/nibobee/iodefs.h"      //habe die lib noch nicht richtig installiert
    #include "../src/nibobee/motpwm.h"
    #include "../src/nibobee/sens.h"
    #include "../src/nibobee/delay.h"
    #include "../src/nibobee/line.h"
    #include "../src/nibobee/led.h"
    
    
    int loop(void)
    {
    	enable_interrupts();
    	int16_t motor_left,motor_right;
    	if(line_get(LINE_L)<480)
    	{
    		led_set(LED_L_RD,1);
    		motor_left=350;
    	}
    	else
    	{
    		led_set(LED_L_RD,0);
    		motor_left=0;
    	}
    	if(line_get(LINE_R)<480)
    	{
    		led_set(LED_R_RD,1);
    		motor_right=350;
    	}
    	else
    	{
    		led_set(LED_R_RD,0);
    		motor_right=0;
    	}
    	motpwm_setLeft(motor_left);
    	motpwm_setRight(motor_right);
    	delay(0.5);
    	return loop();   //unendlich rekursiv
    }
    
    
    int main(void)
    {
    	motpwm_init();
    	sens_init();
    	line_init();
    	led_init();
    	return loop();
    }
    Eigentlich sollte das ja wenn etwas helles da ist stehen bleiben und die roten Leds aus sein und wenn etwas
    dunkles da ist fahren und die Leds an sein.

    Das tut es manchmal auch, aber meistens nicht.
    Dann leuchten die gelben Leds (wieso???) oder die Motoren fahren rückwärts (wer hat ihnen das angeschafft?) oder mit 100% Leistung...

    Manchmal fährt ein Motor auch, ohne dass die entsprechende Led leuchtet.

    Eine gewisse Ungenauigkeit würde ich ja vollkommen verstehen und ich habe auch schon versucht das auszugleichen,
    aber das was der Roboter da macht ist einfach kompletter Wahnsinn.

    Bedeuten die Leds vielleicht irgendwas (z.B. ein Segfault)?
    Ich kenne mich zwar mit C Programmierung so halbwegs aus, aber weder mit der Library, noch mit der Hardware so richtig.

    Ein bisschen Hilfe wäre nett.
    mfg Daniel

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Ich würde es mal so versuchen:

    Code:
    //int loop(void)
    loop(void)
    {
    ...
    	motpwm_setLeft(motor_left);
    	motpwm_setRight(motor_right);
    	delay(0.5);
    	//return loop();   //unendlich rekursiv
    }
    
    
    int main(void)
    {
    	motpwm_init();
    	sens_init();
    	line_init();
    	led_init();
    	//return loop();
    	while(1) loop();
    	return(0); // wird nie erreicht
    }
    Weil durch "unendlich rekursiv" läuft vermutlich der Stapel der Rücksprungadressen über.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    27.12.2014
    Beiträge
    6
    JA ! das wars.
    Klar, bei dem kleinen AVR kommt halt kein netter Kernel und schreibt die
    Rücksprungadressen in den Hauptspeicher...

    Danke .

Ähnliche Themen

  1. Batteriespannung auf LED-Leiste anzeigen
    Von Plasssma im Forum Robby RP6
    Antworten: 7
    Letzter Beitrag: 31.08.2013, 13:34
  2. LED Matrix anzeigen
    Von Naturp im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 2
    Letzter Beitrag: 03.04.2013, 22:43
  3. Batteriespannung mit Led Balken anzeigen
    Von Deadmau 5 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 17.01.2011, 18:30
  4. Motorrichtung mit LED anzeigen
    Von Wulfguard im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 15.03.2008, 14:53
  5. Dot-Matrix-LED-Anzeigen
    Von squelver im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 29.10.2006, 21:44

Stichworte

Berechtigungen

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

12V Akku bauen