- Akku Tests und Balkonkraftwerk Speicher         
Seite 6 von 6 ErsteErste ... 456
Ergebnis 51 bis 60 von 60

Thema: Asuro Programme gesucht

  1. #51
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Anzeige

    Praxistest und DIY Projekte
    Code:
    #include "asuro.h"
    
    int main(void)
    {
    int i;
    int k=0;
    i=0;
    int l;
    l=1;
    	Init();
    	while(1)
    	{
    		while(1)
    		{	
    			if (PollSwitch()>1) i=1;
    			if(i==0)
    			{ 
    			MotorDir(FWD,FWD);
    			MotorSpeed(200,210);
    			}
    			else
    			{
    			MotorDir(RWD,RWD);
    			MotorSpeed(150,160);
    			Sleep(250);
    			k++;
    			}
    			if(k>500)
    			{ 
    			MotorSpeed(0,0);
    			break;
    			}
    		}
    		while(1)
    		{
    			if(l<300)
    			{
    			MotorDir(FWD,RWD);
    			MotorSpeed(120,120);
    			l++;
    			Sleep(250);
    			}
    			else
    			{
    			MotorSpeed(0,0);
    			i=0;
    			k=0;
    			l=1;
    			break;
    			}
    		}
    	}
    	
    	return 0;
    }
    Das meine ich.

    Er reagiert sicher nicht auf Sichtkontakt. Die Taster sind nur Mechanische Schaltern. Er macht eine irre. Die Motoren stören die Tastermessung uber die Bordspannung beim Fahren. Die taster K6, neben den Grosse Schalter liefert den wert 1. K5 liefert 2, und ist in deinem fall auch verirrt War genommen.


    Die (Programmierbare) Lösung ist 2 mal oder mehr ein Pollswitch messung zu machen, aber das in 2 (oder mehr) verschiedene Variabelen zu speichern. Danach mit ein if-befehl abfragen ob die (beider) Variabelen gleich sind und auch nicht nul (0). Sind sie das sind kann man die Einzelne Tastern aus dem wert Berechnen. Sind die werten nicht gleich dann soll das Programm nichts machen, nur wieder anfangen mit eine neue Pollswitch anruf.

    Code:
    unsigned char t1, t2;
    t1=0;
    t2=0;
    
    ...
    while(1)
       {
          t1=PollSwitch(); // Erste Taster Messung
          t2=PollSwitch(); // Zweiter Messung
          if ((t1=t2) && (t1>0)) i=1; //Ist die Tastenmessung gleich oder stabil? und ist irgendeiner Taster bemerkt? ! Moebious ignorierte den Taster K6 mit >1 
          if(i==0) // Kein Taster Bemerkt, Vorwärts!
          { 
             MotorDir(FWD,FWD);
             MotorSpeed(200,210);
          }
          else // Taster Bemerkt. Rückfahrt!
          {
             MotorDir(RWD,RWD);
             MotorSpeed(150,160);
             Sleep(250);
             k++;
          }
          if(k>500) // Warteschleife, 500 mal reagiert auf Taster Erkennung. Nun Reichst!
          { 
             MotorSpeed(0,0);
             break;
          }
    ...

  2. #52
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Es gibt auch eine Elektronische Verbesserung fuhr diese Störungen:

    https://www.roboternetz.de/phpBB2/ze...ag.php?t=44641

  3. #53
    Neuer Benutzer Öfters hier
    Registriert seit
    09.12.2010
    Beiträge
    6
    Hallo Valen ………….. danke für deine Mühe.

    Aus dem ersten Satz entnehme ich, dass das Programm, welches ich auf meinem ASURO gespeichert habe Fehler enthält.
    Soll mir das erste Programm zeigen, wo der Fehler in meinem (Moebius) Programm steckt?

    Im zweiten Satz (die Programmierbare Lösung) soll ich eine Pollswitchmessung machen und das in 2 oder mehr Variablen und dann mit einem if-Befehl abfragen.
    Ich nehme an, dazu dient das zweite Programm!? Ich habe mir beide In WORD kopiert. Aber dann?
    Wäre es auch möglich, dass Programm fehlerfrei umzuschreiben? Ich würde es mir auch abtippen. Wenn ich das kann.

    Dort, wo ich über die elektronische Verbesserung nachgesehen habe, wird auch darauf hingewiesen,
    dass die meisten ASURO auch ohne Umbau laufen.

    Programmieren?????? Da bringe ich doch meiner Katze eher das Sprechen bei!!!!!

  4. #54
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von Pewi006
    Hallo Valen ………….. danke für deine Mühe.

    Aus dem ersten Satz entnehme ich, dass das Programm, welches ich auf meinem ASURO gespeichert habe Fehler enthält.
    Soll mir das erste Programm zeigen, wo der Fehler in meinem (Moebius) Programm steckt?
    Vielleicht verstehe ich dich nicht richtig, aber das erste Venster mit Code in meinem Beitrag ist das ganze Program (den Datei test.c) von Moebius, ungeändert! Ich möchte nur angeben wie du das schöner in einem Beitrag wiedergeben kann, ohne Riesige Beitragen zu machen. Es hat meines wissen kein Fehler drin. Mit einer Ideal-Asuro ohne Messstörungen soll das Programm gut laufen.

    Im zweiten Satz (die Programmierbare Lösung) soll ich eine Pollswitchmessung machen und das in 2 oder mehr Variablen und dann mit einem if-Befehl abfragen.
    Ich nehme an, dazu dient das zweite Programm!? Ich habe mir beide In WORD kopiert. Aber dann?
    Wäre es auch möglich, dass Programm fehlerfrei umzuschreiben? Ich würde es mir auch abtippen. Wenn ich das kann.
    In meinen Letzter (grosse) Beitrag habe ich nur das wichtigste Teil der Anderungen sehen lassen. Aber ich verstehe das du nicht gleich wisst was du damit anfangen soll. Jedenfall sollst du nicht mit Microsoft Word diese Programmen bearbeiten. Das tut den Kompiler wehe! Windows Notepad, oder Programmer Notepad (mitgeliefert mit den WinAVR Kompiler: pn.exe) reichts. Es ist nur ein einfaches Textdatei, und das soll es auch bleiben. Word macht gern seine eigenes Dateiformat davon. Mein Code-schnippsel ist die erste while-schleife innen von den Außerste While-schleife. Aber ich werde das Komplete dur mich Geänderte Programm hier geben. Das soll den Datei test.c ersetzen. Welcher Meldungen habst du beim Kompilieren bekommen? Bitte die Resultaten von den "make all" Anruf Posten. Nicht alle warnungen sind wichtig.

    Code:
    // Originale Program von Moebius
    // https://www.roboternetz.de/phpBB2/viewtopic.php?t=9317
    // Geändert durch Valen (14-12-2010): Mehrfache PollSwitch Anruf zur stabile Taster Erkennung, weitere Kommentaren.  
    
    #include "asuro.h" 
    
    int main(void) 
    { 
        int i; 
        int k=0; 
        i=0; 
        int l; 
        l=1;
    
        unsigned char t1, t2;  // Speicher führ Taster Werten, zugefugt durch Valen
        t1=0; // Anfangswert geben, kein Taster
        t2=0; // Anfangswert geben, kein Taster
     
        Init(); 
        while(1) 
        { 
             while(1) 
             { 
                 // Änderungen von Valen: Stabiele Tastererkennung
                 t1=PollSwitch(); // Erste Taster Messung 
                 t2=PollSwitch(); // Zweiter Taster Messung 
                 if ((t1==t2) && (t1>0)) i=1; //Ist die Tastenmessung gleich oder stabil? Und ist irgendeiner Taster bemerkt? ! Moebius ignorierte den Taster K6 mit >1
                 // Ende von Änderungen von Valen: Stabiele Tastererkennung
                 
                 if(i==0) // Kein Taster Bemerkt, Vorwärts! 
                 { 
                     MotorDir(FWD,FWD); 
                     MotorSpeed(200,210); 
                 } 
                 else // Taster Bemerkt. Rückfahrt! 
                 { 
                     MotorDir(RWD,RWD); 
                     MotorSpeed(150,160); 
                     Sleep(250); 
                     k++; 
                 } 
                 if(k>500) // Ausbrechen von diese schleife, 500 mal reagiert auf Taster Erkennung. Nun Reichst! 
                 { 
                     MotorSpeed(0,0); 
                     break; 
                 }
             } 
             while(1) // Wegdrehen vom Objekt-umgebung
             { 
                 if(l<300) // 300 mal 250 Timer Ticks Drehen
                 { 
                     MotorDir(FWD,RWD); 
                     MotorSpeed(120,120); 
                     l++; 
                     Sleep(250); 
                 } 
                 else // Weit genug weggedreht! Wieder Vorwärts und Tastermessungen machen, also aus diese Schleife brechen.
                 { 
                     MotorSpeed(0,0); 
                     i=0;  // Letzte Taster erkennung ist nicht mehr gultig.
                     k=0;  // Zeitzähler Ruckwärtsgang zuruckzetsen.
                     l=1;  // Zeitzähler Drehung zuruckzetsen.
                     break; 
                 } 
             } 
         } 
        
       return 0; 
    }
    EDIT Ich hatte noch ein Fehler bemerkt in meiner erste Beitrag:
    if ( (t1==t2) && (t1>0)) i=1; // war (t1=t2)

    Dort, wo ich über die elektronische Verbesserung nachgesehen habe, wird auch darauf hingewiesen,
    dass die meisten ASURO auch ohne Umbau laufen.
    Das stimmt. Vielleicht geht es auch ohne, aber es ist Recht einfach (nur ein Bischen Knapp dort auf die Platine), und Angeraten durch den Atmega8 Fabrikant.

    Programmieren?????? Da bringe ich doch meiner Katze eher das Sprechen bei!!!!!
    Dann wurde ich mal Bald anfangen mit Programmieren lernen. Deine Katze wird doch ein Gesprächspartner Brauchen im Mitte der Nacht, oder?

  5. #55
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170

  6. #56
    Neuer Benutzer Öfters hier
    Registriert seit
    09.12.2010
    Beiträge
    6
    Hallo Valen
    Jetzt muss ich dir doch etwas länger schreiben.
    Ich habe den ASURO gebaut, weil ich gerne bastele. Ich war auch sehr stolz, dass er alle Tests ohne Fehler bestand.
    Ich habe vor Jahren mal ein wenig mit Basic programmiert, nichts Tolles. Daher weiß ich, dass das Programmieren nicht so einfach ist und wenn man nicht immer damit zu tun hat, vergisst man schnell. Da es für den ASURO, im Internet sehr viel Information dazu gibt, habe ich mich darauf verlassen, auch einige Programme zu finden. Aber…. Fehlanzeige.
    Da habe ich mir viel Mühe gegeben und was macht er? Eine grüne Lampe blinkt … na toll (sagt meine Frau.)
    Aber….. dank deiner geduldigen Hilfe (und meinem Ehrgeiz) hat mein ASURO vor 12min
    genau das gemacht, was ich mir vorgestellt habe. Er startet und wenn er mit einem Sensor an ein Hindernis stößt dreht er ab dazwischen macht er einige willkürliche Drehungen. Genau wie im Video(http://www.youtube.com/watch?v=rxcRx-FIbng). Prima, prima, ein schönes Weihnachtsgeschenk von dir.
    Danke.
    Ich werde meine vorherigen Beiträge etwas kürzen aber im Forum bleiben (es gibt ja noch Erweiterungen.) Ha – ha – ha.

    Danke natürlich auch an Moebius.

    Grüße aus Schleswig-Holstein.
    In die Niederlande.

    Ja, singen kann die Katze besser .. aber Bruder Jacob? Da programmiere ich doch lieber!!

  7. #57
    Benutzer Stammmitglied
    Registriert seit
    28.03.2010
    Ort
    nahe München
    Beiträge
    45
    Ich habe noch ein kleines Programm:
    Nach dem Anschalten fährt er los und regelt mittels Odmetrie, er soll gerade fahren. Wenn man ein Rad festhält wird es beschleunigt usw.
    Tastenbelegung:
    (von vorne links nach rechts)
    1 - langsam 123
    2 - normal 150
    3 - rückwärts
    4 - rechtskurve
    5 - stop
    6 - linkskurve

    Noch folgende "Features":
    -flankengesteuerte Odometrie mit Helligkeitsanpassung
    -sanftes Beschleunigen und Abbremsen
    -verbesserte Tastenauswertung
    Es würde mich interessieren ob das alles auch auf einen anderen ASURO klappt.

    Gruß

    ASUR0
    Angehängte Dateien Angehängte Dateien

  8. #58
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Mein Asuro ist immer noch im Garage und noch nicht Flash fähig. Ich habe deshalb nichts an dein hex. Könnte ich vielleicht schon den Quell Code anschauen?

  9. #59
    Benutzer Stammmitglied
    Registriert seit
    28.03.2010
    Ort
    nahe München
    Beiträge
    45
    schwierig, da alles in einer Bibliothek drin ist und es deshalb zig Codeschnipsel sind.

  10. #60
    Beitrag verlegt in anderen Threat

Seite 6 von 6 ErsteErste ... 456

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress