Zum Inhalt springen

Bitte um Hilfe mit “class” in Adafruit Library

Projekte und Tutorials für Arduino Foren StartHardware-Forum Bitte um Hilfe mit “class” in Adafruit Library

  • Dieses Thema hat 6 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 8 Monaten von Henry Grant.
Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)
  • Autor
    Beiträge
  • #6953 Antworten
    hajo
    Teilnehmer

    Hallo ihr Helfer,

    bin dabei ein Auto zu bauen (Idee von https://create.arduino.cc/projecthub/maverick/pathfinder-229d5d?ref=platform&ref_id=424_trending___&offset=259).

    “Servo.h” ist in in den Libraries installiert, “AFMotor.h” habe ich dazu installiert.
    Die Kompilierung bricht ab mit Fehlermeldungen aus der Library!

    Arduino: 1.8.10 (Linux), Board: "Arduino/Genuino Uno"
    sketch/AFMotor_h.c:143:1: error: unknown type name 'class'
    class AFMotorController
    ^~~~~
    sketch/AFMotor_h.c:144:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
    

    usw…
    Was kann ich tun? Problem in der Adafruit-Library?

    Gruß, Hajo.

    #6955 Antworten
    Franz-Peter
    Teilnehmer

    Hallo Hajo,
    Wie hast Du die AFMotor installiert? Da stimmt was nicht. In einer .c Datei darf kein ‘class’ vorkommen. Das steht üblicherweise in der .h Datei.
    Auch die ‘servo.h’ musst Du normalerweise nicht installieren – die gehört zur IDE dazu.

    #6956 Antworten
    hajo
    Teilnehmer

    Hallo Franz-Peter,

    sorry, wieder mal typischer Anfängerfehler, grrr. Nach Installation von AFMotor hätte ich die IDE einfach mal neu starten müssen. Jetzt läufts nämlich…

    Jetzt kämpfe ich nur noch etwas mit der Stromversorgung. Aufbau: Arduino UNO R3, darauf ein Motorschield. Motoren werden seperat über 6V versorgt (4*AA). Das Auto fährt, bleibt nach kurzer Zeit aber stehen, die LED blinkt, der Ultraschallkopf bewegt sich. Am Arduino kommen (warum auch immer) nur 4.7V an, schwanken auch noch, wenn die Motoren arbeiten. Wenn ich zusätzlich den UNO über USB versorge, klappt alles, das Auto fährt sogar schneller. Wenn ich nur über USB versorge, klappt auch alles, es fährt etwas langsamer.

    In der Originalanleitung (Link) werden 7.4V an den Motorshield gegeben, von einer zusätzlichen Versorgung des UNO ist keine Rede, steht auch nichts im Schaltbild. Bekommt in einem solchen Fall der UNO nicht zuviel Spannung? Ich möchte den ungern durchschießen.

    Danke für Deine Mühe.
    Gruß, Hajo.

    #6957 Antworten
    Franz-Peter
    Teilnehmer

    Hallo Hajo,
    das Motorshield im Link (Adafruit Motorshield V2 ) kann den UNO über Vin mitversorgen, wenn der entsprechende Jumper gesteckt ist. Da braucht’s aber mindestens 7V an Vin, da auf dem UNO Board noch ein Spannungsregler ist, der aus dem Vin die 5V macht, und der will auch etwas ‘Fleisch’ haben um arbeiten zu können. Wenn Du diesen Jumper gesteckt hast, aber nur 6V am Motorshield anlegst, ist das zu wenig für den Spannungsregler. Deshalb kommen dann am UNO nur 4,7V an, und die schwanken auch noch, denn Batterien sind keine besonders stabilen Spannungsversorger und der Regler hat nicht genug Spannungsdifferenz um regeln zu können.
    Leider habe ich kein Schaltbild von dem Shield, um das genauer beurteilen zu können. Auf dem Shield selbst scheint auch noch ein 5V Regler drauf zu sein.

    #6958 Antworten
    Franz-Peter
    Teilnehmer

    Hallo Hajo,
    das Motorshield im Link (Adafruit Motorshield V2 ) kann den UNO über Vin mitversorgen, wenn der entsprechende Jumper gesteckt ist. Da braucht’s aber mindestens 7V an Vin, da auf dem UNO Board noch ein Spannungsregler ist, der aus dem Vin die 5V macht, und der will auch etwas ‘Fleisch’ haben um arbeiten zu können. Wenn Du diesen Jumper gesteckt hast, aber nur 6V am Motorshield anlegst, ist das zu wenig für den Spannungsregler. Deshalb kommen dann am UNO nur 4,7V an, und die schwanken auch noch, denn Batterien sind keine besonders stabilen Spannungsversorger und der Regler hat nicht genug Spannungsdifferenz um regeln zu können.
    Leider habe ich kein Schaltbild von dem Shield, um das genauer beurteilen zu können. Auf dem Shield selbst scheint auch noch ein 5V Regler drauf zu sein.

    Edit: ich habe jetzt doch noch ein Schaltbild gefunden. Ein 5V Regler ist auf dem Board nicht drauf, die 5V für die Logik holt er sich vom UNO. Wenn der VIN Jumper nicht gesteckt ist, ist die Motorspannung von der Logik getrennt, und Du musst den UNO getrennt versorgen ( USB oder Vin Buchse ). Ist der VIN Jumper gesteckt, wird die Logik von der Motorspannung mitversorgt – über den 5V Spannungsregler des UNO.

    #6959 Antworten
    hajo
    Teilnehmer

    Hallo Franz-Peter,

    vielen Dank für Deine Hilfe zur Stromversorgung. Ich wusste nichts von dem Jumper, wieder etwas dazugelernt. Habe ihn jetzt rausgenommen und werde Motor und UNO getrennt versorgen. Ich habe auch noch etwas gegoogelt und gelesen, dass die gemeinsame Versorgung von UNO und Motoren keine gute Idee ist, es wird davon abgeraten.

    Danke nochmal und beste Grüße, Hajo.

    #26721 Antworten
    Henry Grant
    Gast
Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)
Antwort auf: Antwort #6959 in Bitte um Hilfe mit “class” in Adafruit Library
Deine Information: