- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 15

Thema: ASURO-Kollisionstaster Bitwert zuordnen!

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.716
    Blog-Einträge
    133
    Ich schaue fleißig mit und vermute, daß sich ein "Geheimnis" in der switches.c verbirgt.

    http://www.asurowiki.de/pmwiki/pub/html/files.html
    http://www.asurowiki.de/pmwiki/pub/h...8c-source.html

    In Zeile 103 wird i mit dem ADC Wert geladen und in Zeile 120 der Rückgabewert produziert.
    Da ich C nicht verstehe, kann ich nur vermuten, daß hier die Bits entsprechend der Taster gesetzt werden

    Ob ich die richtigen Sourceversionen erwischt hab weis ich leider auch nicht.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    An Searcher und markusj: Danke für die Super Erklärungen, muss mich noch mal kurz damit beschäftigen, ich hoffe, dann klappt das auch mit dem Verständnis!

    Schönes Wochenende und bis bald!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    ich hab jetzt noch mal in den Quellcode geschaut und folgendes gefunden:

    return ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 63.0 + 0.5));

    Was setz ich denn jetzt für float ein? Hab gedacht die Spannung, die ich berechnet hatte, also 3,81V, aber dann kommt was ganz kryptisches raus --> (1024/3,81) -1=267,766 --> ...*63,0=16869,28 --> ...+0,5= 16869,78! Das stimmt doch garantiert ned!
    Es ist doch bestimmt ganz leicht, aber ich komm ned drauf, hab schon den Quellcode angeguckt und verschiedene Rechnungen gemacht, aber irgendwie klappt das ned. Liegt das vielleicht daran, dass man einfach hinnehmen muss, dass der ASURO das kann?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    "i" ist das Zahl zwischen 0 bis 1023 das den Widerstandsteiler der Tasten entspricht. Das kommt aus den ADCL und ADCH Registern nach dem Analog-digital umwandlung. Das sind zahlen ohne etwas hinter den Komma. "(float)" ist ein Auftrag für den Compiler das "i" als Fließkommazahl-zahl berechnet werden soll, und nicht als Integer-wert. "(unsigned char)" is ein Auftrag für den Compiler das dass Resultat als ein 8-bit wert ausgegeben soll werden. (0-255, ohne Fließkommazahl, darf auch nicht als negatife Wert benutzt werden.)

    Also wird das wie folgend ausgerechnet:

    Code:
    return ((unsigned char) ((( 1024.0/762.0 - 1.0)) * 63.0 + 0.5));
    ! 762 laut deine eigene Berechnungen. Das wurde 780 sein mit Searcher's Berechnungen

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 16.04.2011, 23:30
  2. Zeichen zuordnen
    Von Killer im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 23.02.2008, 23:41
  3. Kollisionstaster von Asuro unten montieren- geht das?
    Von technique im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 41
    Letzter Beitrag: 10.08.2006, 21:33
  4. bauteile zuordnen
    Von A.T.I.R im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 10.06.2005, 20:20
  5. MSCOMM1 Daten zuordnen in VB6, wie?
    Von Sommer im Forum Software, Algorithmen und KI
    Antworten: 2
    Letzter Beitrag: 24.03.2005, 17:37

Berechtigungen

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

LiFePO4 Speicher Test