Fehlende unbek. libraries von youtube Projekt (newbe)

Hallo zusammen,

Ich bin neu im Arduinobereich und habe nun ein cooles Projekt von youtube nachgebaut. Der Author hat den Code auf Github, doch leider fehlen die libraries und scheinbar wird nichts gepflegt…

Ich habe etliche Stunden in die Bereitstellung der Powerbank’s investiert. Besonders der 3D Druck ist für einen Einsteiger nicht einfach. Damit ich die erste nun testen kann, muss ich nur noch den Code flashen. Doch den kann ich nicht hochladen, weil die meisten libraries fehlen. Ich kann sie nicht installieren, weil ich sie im library manager nicht finden kann. Wenn ich nach den libraries google, finde ich die meisten nicht.

Hat jemand Lust mich auf den richtigen Weg zu leiten oder einen Blick in den Code zu werfen?

Wer am Projekt interessiert ist, findet die Videos auf Youtube unter K R A L Y N 3D

Ich habe alle PCB’s vorbereitet und falls jemand an einem PCB interessiert sein sollte, liesse sich das was machen.

Vielen Dank.
LG
Centurio

Hast Du schon mal die Suchmaschine Deiner Wahl mit den includeten Headerdateien gefüttert?
Da sollte sich Einiges finden lassen.

Gruß Tommy

"CODE_V6_Beta" und "AS YOU ARE READING THIS, I am designing an updated version of this powerbank with STM32".

Ich wäre mir jetzt nicht ganz sicher, ob ich das Projekt angehen würde.

1min Code laden, weitere vier Minuten Suchmaschine:
ezButton: Bibliotheksverwaltung
Type4051: GitHub - stechio/arduino-ad-mux-lib: Arduino library for controlling analog/digital multiplexers (A/D mux)
FastLED: Bibliotheksverwaltung
X9C: GitHub - philbowles/Arduino-X9C: Arduino library for Intersil X9C series of digital potentiometers

Den Rest spare ich mir mal - das sollte Centurio dann schon selber hinbekommen.
Es wäre ja auch zu schön gewesen, wenn aus der Liste von acht Includes diejenigen benannt worden wären, die nicht auffindbar sind.

Es ist daoch einfacher suchen zu lassen, als sich selbst die Mühe zu machen.

Gruß Tommy

centurio22:
So ging es vielleicht auch bei den andern.

Also wer FastLed nicht findet, der sollte das Hobby wechseln.

Gruß Tommy

Tommy56:
Also wer FastLed nicht findet, der sollte das Hobby wechseln.

Gruß Tommy

Schade kann ich den Post nicht löschen. Ich schaffe damit mehr Ärger als ich wollte. Ich werde mich wohl mehr mit der Materie beschäftigen müssen.
Meine Absicht war es die Powerbank nachzubauen und dabei etwas zu lernen. Das habe ich in vielerlei Hinsicht. Ehrlich gesagt ging ich bei diesem PRojekt davon aus, dass der Code einfach hochgeladen werden kann. Sonst hätte ich ja ein Arduino Buch gekauft und mal ne Ampel gebaut.
Aber hey, lass deine Wut frei. Ich meine es aus deiner Sicht grenzt es ja an ein Wunder, dass ich den Text hier verfassen konnte und das Forum überhaupt gefunden habe.

centurio22:
Ich kann sie nicht installieren, weil ich sie im library manager nicht finden kann.

Wenn ich die Bibliotheksverwaltung öffne, sehe ich dies:

Was siehst Du?

Hallo agmue,

Ich komme bei der Prüfung gar nicht bis zur Fastled. Ich denke die würde er akzeptieren. Es geht um die lib davor.

wale hette diese verlinkt.
Type4051: GitHub - stechio/arduino-ad-mux-lib: Arduino library for controlling analog/digital multiplexers (A/D mux)

Die hatte ich bei meinen Versuchen bereits als zip installiert. Wenn ich den Code prüfe will er die noch immer nicht finden. Ist das weil sie anders heisst?

Arduino: 1.8.13 (Windows 10), Board: “Arduino Uno”

test:6:10: fatal error: Type4051Mux.h: No such file or directory

#include <Type4051Mux.h> // 4051 MUx library

^~~~~~~~~~~~~~~

compilation terminated.

exit status 1

Type4051Mux.h: No such file or directory

This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.

centurio22:
Schade kann ich den Post nicht löschen.

Solltest Du auch nicht, der Start war etwas holprig, aber das kann ja noch werden.

Ich habe hier im Forum die Erfahrung gemacht, dass gern und kompetent geholfen wird. Allerdings fällt den meisten hier das leichter, wenn wir erkennen, dass der Fragesteller sich selbst auch bemüht.

ging ich bei diesem PRojekt davon aus, dass der Code einfach hochgeladen werden kann

Das kann bei mancher Quelle, die man so auftut - egal ob Video oder sonstwo - sein, aber es muss nicht. Ich bin da etwas skeptisch, weil der Code als "beta" und "messy"gekennzeichnet ist und sich der Autor offensichtlich einem Nachfolgeprojekt zugewandt hat. Das ist also kein Bausatz.

Wenn Du es nun trotzdem zum Laufen bekommen willst:

  • Versuch die Libraries ranzubekommen
  • Compiliere und lade es - auf was für einen Arduino übrigens?
  • Versuch zu verstehen was da passiert

Wenn zwischendrin was nicht geht, bist Du hier mit konkreten Fragen richtig.

P.S.: Gehe bitte nicht davon aus, dass die Mehrheit hier sich das Video ansieht.

wno158:
Wenn Du es nun trotzdem zum Laufen bekommen willst:

  • Versuch die Libraries ranzubekommen
  • Compiliere und lade es - auf was für einen Arduino übrigens?
  • Versuch zu verstehen was da passiert

Wenn zwischendrin was nicht geht, bist Du hier mit konkreten Fragen richtig.

P.S.: Gehe bitte nicht davon aus, dass die Mehrheit hier sich das Video ansieht.

Ich erwarte nicht, dass das Video angschaut wird. Vielleicht war ich nicht präziese genug, welche libs nicht gehen.
Ich will es unbedingt fertigstellen. All die Infos wie libs importiert werden habe ich gelesen und trotzde will beispielsweise die #include <Type4051Mux.h> // 4051 MUx library nicht klappen. Wenn mir jemand mit dem hilft werde ich wahrschienlich die weiteren libs hinkriegen.

centurio22:
Aber hey, lass deine Wut frei.

Das siehst Du falsch. So wie Dein Ursprungsposting verfasst war, klang da an: Macht mal, ich habe keine Lust. Und geade für solche weit verbreiteten Libs wie FastLed klingt “nicht gefunden” unglaubwürdig.

Wenn das nicht so ist, dann hast Du ja noch Chancen.

Gruß Tommy

Fangen wir mal an:
Type4051Mux.h ist in der von mir verlinkten Library nicht (mehr) vorhanden.

Stattdessen solltest Du mal

#include <Mux.h>      //4051 MUx libary

versuchen.

Zum Lernen (wie bin ich drauf gekommen?):
a) Mein erstes Suchergebnis war https://github.com/stechio/arduino-ad-mux-lib/blob/master/src/Type4051Mux.h → 404 page not found
b) Das zweite war dann das verlinkte und da steht in der Doku:

Arduino library for controlling analog/digital multiplexers (A/D mux) of any size, like CMOS 4000 series (e.g. 8-channel 4051 (CD4051, 74HC4051), 16-channel 4067 (CD4067, 74HC4067)), 32-channel MegaMUX (ADG732), and so on.

c) Man darf auch in die Library-Ordner reinschauen - und da gibt es nur ein Mux.h. Ausprobieren - geht!

Nachtrag:
Wenn Du mit den Libs durch bist, drohen weitere Fallstricke.
“Type4051Mux” gibt es in der neueren Lib nicht, stattdessen heißt die Klasse einfach nur Mux.

Danach sehe ich noch weitere Fehler, da komme ich aber erst später dazu.

wno158:
Nachtrag:
Wenn Du mit den Libs durch bist, drohen weitere Fallstricke.
"Type4051Mux" gibt es in der neueren Lib nicht, stattdessen heißt die Klasse einfach nur Mux.

Danach sehe ich noch weitere Fehler, da komme ich aber erst später dazu.

Ha, das habe ich eben festgestellt und wollte es gleich schreiben. Ich denke jetzt habe ich für ein paar Stunden zu tun.

// MULTIPLEXER
Mux inMux(A7, INPUT, ANALOG, 5, 6, 7); // define Mux pins
Arduino: 1.8.13 (Windows 10), Board: "Arduino Uno"

In file included from C:\Users\msr\Downloads\test\test.ino:7:0:

C:\Users\msr\Documents\Arduino\libraries\FastLED-3.3.3/FastLED.h:14:21: note: #pragma message: FastLED version 3.003.003

pragma message "FastLED version 3.003.003"

^~~~~~~~~~~~~~~~~~~~~~~~~~~

test:25:1: error: 'Mux' does not name a type

Mux inMux(A7, INPUT, ANALOG, 5, 6, 7); // define Mux pins

^~~

C:\Users\msr\Downloads\test\test.ino: In function 'void readSensors()':

test:660:22: error: 'inMux' was not declared in this scope

batteryTempRAW = inMux.read(4); // read overall powerbank power consumption

^~~~~

Multiple libraries were found for "Mux.h"

Used: C:\Users\msr\Documents\Arduino\libraries\arduino-ad-mux-lib-master

Not used: C:\Users\msr\Documents\Arduino\libraries\Analog-Digital_Multiplexers

Multiple libraries were found for "Adafruit_GFX.h"

Used: C:\Users\msr\Documents\Arduino\libraries\Adafruit_GFX_Library

Not used: C:\Users\msr\Documents\Arduino\libraries\Adafruit-GFX-Library-master

exit status 1

'Mux' does not name a type

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

pragma message "FastLED version 3.003.003"

Das ist nur eine Info.

Gruß Tommy

Die MUX-Fehler bekommst Du vermutlich weg, wenn Du den Hinweis aus dem "Getting Started"-Abschnitt der Lib befolgst:

using namespace admux;

Mux inMux(...);

centurio22:
Ich komme bei der Prüfung gar nicht bis zur Fastled. Ich denke die würde er akzeptieren. Es geht um die lib davor.

Dann hast Du Dich anfänglich unglücklich ausgedrückt. Aber nun wird es ja, auch wenn ich es leichtsinnig finde, sich ohne genügende Vorkenntnisse auf so ein Projekt einzulassen. Stelle Dich also auf noch ein paar mehr Hürden ein, besonders für den Fall, Du hast einen festen Fertigstellungstermin geplant ::slight_smile:

Ich bin offensichtlich etwas masochistisch veranlagt… und habe mir Video Teil 1 angetan.

Hier meine gestammelten Erkenntnisse, auch für die Mitleser.
Es handelt sich um eine Universal-Powerbank mit ein paar Gimmiks (Spannungsanzeige, drahtlos laden, ein netter LED-Ring, ein “Erweiterungsslot” für Module z.B. andere Spannung bis hinauf zu Netzspannung); basierend auf fünf 18650 Zellen.
Der Autor bastelt das in ein zugegebenermaßen recht ansehnlich kleines Gehäuse unter Zuhilfenahme etlicher Module zusammen; teilweise allerdings recht hemdsärmelig. Es kommen Nickelband, Klebestreifen und wärmeleitender Klebstoff vor.
Schaltplan gibt es nur gegen Registrierung bei einer Cad-Seite; ein PNG davon ist immerhin verfügbar.

@centurio: Wie viel Arduino- bzw. Programmiererfahrung hast Du so? Es könnte schwierig werden.

Momentan wirst Du vielleicht am Konstruktor für das Mux-Objekt scheitern. Wenn Du mal in Mux.h reinschaust, findest Du, dass der etwas anders ist als der im alten Type4051Mux.h wohl war. Mit folgender Änderung habe ich es kompiliert bekommen:

// ALT: Type4051Mux inMux(A7, INPUT, ANALOG, 5, 6, 7); //define Mux pins
Pinset inMuxPins(5, 6, 7);
Mux inMux(inMuxPins);

Der Rest wird nach Auffinden und Installieren der Libs klaglos übersetzt (TM1640.h findet sich in einer Library tm1638).
Außerdem habe ich noch diverse int in (const) unsigned long verwandelt, um die Warnungen rauszubekommen.

Mangels Hardware kann ich das natürlich nicht testen - den Code habe ich mal angehangen (ich lasse CTRL-T in Allman-style arbeiten).

O H N E G E W Ä H R !!!

powerbank.ino (34.9 KB)

@agmue
Ich lerne auf diese Art am meisten. Klar geht mal was kaputt oder muss abgebrochen werden.

@Walter
Im Vergleich zur ersten Powerbank hat sich der Typ stark gesteigert. Alleine das PCB ist ein grosser Fortschritt. Er will ja jetzt alles auf ein PCB packen. So lernt auch er ganz viel. Für mich ist es ganz ok langsam mit neuen Sachen in Kontakt zu kommen. Alleine das 3D drucken ist ein riesiges und interessantes Gebiet. Ein 10kW E-Bike war bisher mein intensivstes Projekt. Dagegen waren zwei Solaranlagen und eine Batterie ein Kinderspiel. Ich habe bei der ex Firma nebenbei Smartphones und iPads repariert. Die Akkus der iPads als Powerbank recykliert. Ich habe noch 300 1865er Zellen aus alten Laptops, die noch auf einen Einsatz warten. Ein Mofa welches auf Elektroantrieb umgebaut werden will. Es wird nicht langweilig.... :slight_smile:

C++ habe ich nie gelernt. Letztes Jahr habe ich einen Pythonkurs gemacht und so ersten Kontakt mit einer Programmiersprache gesammelt. Darauf kam mal das PI-Hole und vielleicht mach ich noch einen Raspiblitz. Dann gibts da noch die Kryptowährungen und eine FLIR Idee... Das Leben ist einfach zu kurz.

Hmmm... Es wäre schlecht wenn die Mux Pins plötzlich anders belegt sind oder gar eine andere Funktion hätten. Aber hey, ich musste ja 5 PCB bestellen. Aktuell habe ich noch 5 Versuche :slight_smile:

Nickelstreifen habe ich noch vom Akkubau des E-Bikes. Ehrlich gesagt sind mir Kabel lieber und ich werde später sehen ob es nicht etwas einfacher geht.

Danke für die Datei. Ich werde erst mal selber versuchen.

centurio22:
Es wird nicht langweilig.... :slight_smile:

Nee, bei dem Programm bestimmt nicht :slight_smile:

Es wäre schlecht wenn die Mux Pins plötzlich anders belegt sind

Da habe ich ein einigermaßen reines Gewissen. Lt. Mux.h sind die im PinSet angegebenen Pins diejenigen, die an die Select-Pins des Multiplexers gehen (S* stand da irgendwo). Nach dem Schaltplan sollte das stimmen und die 5, 6, 7 standen ja auch bei der alten Version hinten dran.

Ja, mach mal erst selber; nur so kommst Du voran.