- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Vorstellung, USB Adapter, Kamera und allgemeines

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Anzeige

    Praxistest und DIY Projekte
    obacht, die schraube geht durch den schlitz in der platine der zur führung der achse gedacht ist, nicht dass du mir anfängst wild löcher in die platine zu bohren ^^

    zu dem drift, du wirst dich wundern, lockerst du z.B. ein wenig die muffe fürs rad hinten und lässt das linke rad ein wenig "leichter" laufen, geht er dir nach rechts ab dann wieder links dann wieder rechts ... das in der hardware zu lösen iss krampf

    direkt updates/patches sind es nicht, es ist quasi eine neue komplette version der library, im asuroforum sollte ganz oben ein sticky mit der letzten version sein oder ? jedenfalls musst du die alte durch die neue einfach ersetzen

    die tasterkalibrierung will mir grad nicht einleuchten, wenn du ERST k5 und k6 drückst und DANN nen anderen taster ändert sich nix ? kann vielleicht an dem switch case konstrukt liegen, du drückst k5 und k6, es entsteht ein definierter zustand, in dem falle BackLED(ON,ON); drückst du jetzt noch nen anderen taster ist der wert vielleicht nicht in der liste der cases existent, ergo keine änderung der werte, ergo bleiben die backLEDs beide an

    die taster stellen zusammen ein widerstandsnetzwerk dar, die kombination verschiedener taster ergibt einen für jede kombination einzigartigen wert, der dann vom analog/digital-wandler über die funktion PollSwitch() in eine zahl umgerechnet wird ... das wären also

    k1 = 1;
    k2 = 2;
    k3 = 4;
    k5 = 8;
    k6 = 16;

    und jede kombination von tastern stellt dann die summe ihrer werte dar ... du könntest dir in einer while schleife auch einfach dauerhaft der wert von pollswitch ans hyperterminal senden

    Code:
    while(1)
    {
       UARTSend(Pollswitch(),1); // ich bin eingerostet, ich weis net wie der bfehel rchtig lautet, sorry
    }
    dann gehst du einfach die atster durch und notierst dir füe alle kombinationen die werte und siehst wo vielleicht was nicht hinhaut

    PS: ich sollte so spät keine posts mehr verfassen, die tippfehler korrigier ich morgen raus wenns stört .... doppelposts sind zwar nicht die feine englische, aber manchmal muss man sich ja räuspern wenn der dialog einschläft .... wenns kein sinnfreier "keiner eine lösung?" doppelpost iss, nimmts dir sicher keiner krumm

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

    Um mit den Tastern vernünftig arbeiten zu können sollte man wissen welche Werte von PollSwitch() geliefert werden:

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

    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. #13
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693

    Re: Vorstellung, USB Adapter, Kamera und allgemeines

    Hallo nil,

    Willkommen im Forum und in der asuro-Gemeinde.

    Zitat Zitat von nil.at
    ... Hallo liebe eltern ...
    Klingt nett und witzig! Aber ich habe mit meinen "Kleinen" wirklich genug - also ich fühle mich nicht angesprochen.

    Zitat Zitat von nil.at
    ... 2) Sobald ich den Asuro in seiner Basisfunktion begriffen habe, möchte ich ihn modden ...
    Ich hoffe, dass ich nicht zu den total Doofen zähle, aber ich habe ziemlich lange gebraucht bis ich die Basisfunktionen begriffen hatte. Z.B. - das mit der Regelung zweier Motoren mit unterschiedlichen Eigenschaften habe ich am asuro garnicht hingekriegt, aber in einem anderen kleinen Projekt s..gut.

    Zitat Zitat von nil.at
    ... 3) Einer meiner ersten geplaten Mods ... Kamera ...
    Ceos hatte ja schon von den beschränkten Möglichkeiten des originalen mega8 geschrieben. Man könnte natürlich den originalen mega8 durch einen mega168 ersetzen - dafür gibt es etliche Forumsmitglieder, die das Gleiche machen und, soweit ich weiß, auch eine lib verfasst haben. (Der mega168 ist pinkompatibel, aber nicht softwarekompatibel. Er hat zusätzliche, interessante Funktionen). Dazu müsstest Du bitte selber suchen. Eine Lösung mit dem m168 ist hier zu finden:
    http://www.roboterclub-freiburg.de/a...moAdapter.html

    Vermutlich mehr Sinn macht ein größerer Controller. Das hatte pinsel120866 mithilfe einer käuflichen Eweiterungsplatine gemacht:
    https://www.roboternetz.de/phpBB2/ze...=373292#373292
    https://www.roboternetz.de/phpBB2/ze...=390091#390091
    https://www.roboternetz.de/phpBB2/ze...=384900#384900

    auch hier gibts ne Erweiterung, lies vielleicht hier den ganzen Thread durch
    https://www.roboternetz.de/phpBB2/ze...=104861#104861

    Viel Erfolg
    Ciao sagt der JoeamBerg

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Um mit den Tastern vernünftig arbeiten zu können sollte man wissen welche Werte von PollSwitch() geliefert werden:
    ja entschuldigung, das war unhöflich, der wert der zurückgegeben wird ist zwar 0-31 aber die umwandlung in lesbare zeichen hab ich vergessen

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    26.09.2008
    Ort
    Wien
    Alter
    38
    Beiträge
    94
    Hallo allerseits und danke erstmal für die vielen Antworten

    @Ceos: Dass die Schraube durch die Schlitze muss ist mir schon klar, danke Werde aber erstmal versuchen es Softwareseitig zu lösen, wenn Du mir schon sagst dass das Lockern der Räder ebenfalls wenig bringt.

    Die RN Library habe ich gefunden, muss allerdings gestehen, dass ich derart ehrgeizig bin und keine vorgeschriebenen Funktionen nutzen will. Ich denke es ist ein irrsinniger Lernfaktor selbst auf die Fehler zu kommen und zu lösen. Ich dachte nur gelesen zu haben, dass es ein allgemeines Update der Standardlibrary gibt, aber da habe ich mich wohl geirrt.

    @oberallgeier: Ich schrieb Robotereltern Anzunehmen dass jeder User hier Kinder hat wäre unsinn... aber zumindest einen Roboter wird jeder haben, oder?

    Bezüglich dem Modden (in Zusammenhang mit der Fortbildungsfrage):
    Wie im ersten Post geschrieben habe ich dank der Schule (die bereits ein paar Jahre her ist) bereits ein gutes Basiswissen. Ich weiß bescheid über Widerstände und andere Bauteile, sowie µC und Programmierung allgemein. Das einzige was mir noch fehlt ist die Kombination der einzeldinge zu einem gesamten. Vorallem wenn es darum geht zu verstehen WARUM sich etwas verhält, wie es sich nunmal verhält. Am Besten kann ich das wohl lernen wenn ich die Schaltungen durchgehe und eigene Schaltungen entwerfe, aber bis dahin ist es noch ein weiter Weg, für den ich eben auch ein Buch als Begleiter wollte. Werde mir mal das "Mehr Spass mit Asuro" Buch kaufen und dann weitersuchen.
    Deinen R2D03 finde ich grandios, mich würde auch interessieren was aus dem ferngesteuerten Auto geworden ist

    Aber wie gesagt, ans Modden gehts erst wenn ich mal alles soweit verstanden habe.

    So, nun aber zu meinem Hauptproblem:
    Was ich bei meinem Programm nicht verstehe ist nämlich folgendes:
    Ich frage bei den cases die Werte der gedrückten Tasten ab und es funktioniert auch soweit alles. Das heisst, die Leds schalten ein/aus bzw nehmen die Farbe an die sie sollen.
    Das bedeutet für mich, dass die Codes die die Taster senden stimmen.

    Taster3 schaltet also beispielsweise die FrontLED ein, Taster3 + Taster4 schalten sie wieder aus.
    Das einzige was nun eben nicht funktioniert ist, wenn ich Taster1 + Taster2 gedrückt habe (also BEIDE BackLEDs leuchten) ich die FrontLED nicht mehr Ein/Ausschalten kann. Genauso verhält es sich bei den einzelen BackLEDS. Wenn beide leuchten, kann ich durch einen Druck auf Taster2 wieder nur die rechte leuchten lassen, ein Druck auf Taster1 (also nur die linke BackLED) funktioniert aber nicht. Es tut sich einfach gar nichts.

    Mir ist aufgefallen dass ich bei meinen Comments oben im Quellcode einen kleinen Tippfehler hatte (Taster vertauscht), deshalb hier nochmal der Quellcode:

    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	Init();
    	
    	StatusLED(OFF);
    	unsigned char ps;
    	
    	while(1)
    	{
    		ps = PollSwitch();
    		
    		//hex converter: http://www.easycalculation.com/hex-converter.php
    		
    		switch(ps)
    		{
    			case 0x01: StatusLED(GREEN); //k6 -> ganz bei EIN/AUS Schalter
    						break;
    			case 0x02: StatusLED(RED); //k5
    						break;
    			case 0x04: StatusLED(YELLOW); //k4
    						break;
    			case 0x08: FrontLED(ON); //k3         //Funktioniert nicht wenn k5 + k6 gedrückt wurden (also beide BackLEDS leuchten)
    						break;                     
    			case 0x0C: FrontLED(OFF); //k3 + k4   //Funktioniert nicht wenn k5 + k6 gedrückt wurden (also beide BackLEDS leuchten)
    						break;
    			case 0x10: BackLED(OFF,ON); //k2
    						break;
    			case 0x20: BackLED(ON,OFF); //k1 -> ganz bei Infrarotsender/empfänger
    						break;          //Funktioniert nicht wenn k5 + k6 gedrückt wurden (also beide BackLEDS leuchten), k2 hingegen schon!!
    			case 0x30: BackLED(ON,ON); //k1 + k2
    						break;
    			case 0x21: BackLED(OFF,OFF); //k1 + k6
    		}
    	}
    	
    	return 0;
    }
    Also wie gesagt, die Werte stimmen, ALLE Leds leuchten dann wann sie sollen, nur die FrontLED lässt sich nicht ansprechen wenn hinten beide BackLEDS leuchten (wobei ich glaube irgendwo gelesen zu haben dass beides gleichzeitig nicht geht, weil wenn beide BackLEDS leuchten am uC irgendwelche Eingänge und Ausgänge anders geschalten sind als wenn die FrontLED leuchtet) (oder war das bei der Odometrie??) und die linke BackLED lässt sich auch nicht einzeln schalten (durch K1) wenn beide BackLEDs leuchten, die rechte BackLED (k2) allerdings schon.

    Ich weiß es ist verwirrend, aber ich versteh den internen Ablauf und Schaltungen im uC leider nocht nicht.
    Danke für Eure Hilfe!
    while (!asleep()) sheep++;
    RP6 und Asuro Befehlsübersicht

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

    Im Ergebniss von PollSwitch() wird bei richtig kalibrierten Tasten (und richtig eingelöteten Widerständen) jedem Taster ein Bit zugeordnet, von K6 ist bit0 bis K1 ist bit5. Mehrere Tasten zusammen erzeugen dann einen Wert der der Summe der Wertigkeiten der einzelnen Bits entspricht. Das geht dann von 0 für keine Taste bis 63 für alle zusammen.

    Tastenkombinationen kann man dann einfach durch die passende Summe überprüfen, ein Beispiel: K2 und K6 sind gedrückt, das sind 16 + 1, also 17. Die Prüfung würde dann etwa so aussehen:

    t1=PollSwitch();
    t2=PollSwitch();
    if((t1==t2) && (t1==17) ...

    oder (t1==0x11) oder (t1 == 0b010001) ... wenn man das lieber mag.

    Eine von mehreren Tasten gedrückt? Z.B.: K4-K6: 4+2+1=7 oder 0b000111 ergibt als Abfrage

    if((t1==t2) && (t1 & 0b000111))...

    usw.

    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!

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    26.09.2008
    Ort
    Wien
    Alter
    38
    Beiträge
    94
    Danke radbruch, ich verstehe aber nicht so ganz was ich damit anfangen soll?
    Wie man die Tasten abfragt weiss ich, wozu du allerdings zwei Abfragen machst und beide vergleichst weiss ich nicht?
    Ändern sich die Werte der Tasten denn pro Druck?

    Trotzdem, was hat das damit zu tun dass die FrontLED nicht schaltbar ist wenn BEIDE BackLEDs leuchten?

    Danke, Gruß

    //edit: Ich habe jetzt mal den Code von Sternthaler von hier getestet und bekomme perfekte Werte von meinen Tastern. Von 0 bis 63 sind alle Werte RICHTIG und ohne Abweichungen dabei.

    Trotzdem funktioniert mein obiges Programm nicht.
    Könnt ihr es vielleicht mal testen?
    Kann es sein das die FrontLED einfach nicht angesprochen werden kann wenn beide BackLEDs leuchten?
    while (!asleep()) sheep++;
    RP6 und Asuro Befehlsübersicht

  8. #18
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Ändern sich die Werte der Tasten denn pro Druck?
    Nicht bei jedem Druck aber gelegentlich lügt PollSwitch() und deshalb ist es ratsam die Werte zu kontrollieren. Und deshalb ist es auch sinnvoll sich die Werte mal ans Terminal zu senden.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

LiFePO4 Speicher Test