Forum: Mikrocontroller und Digitale Elektronik Welcher Controller


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Malte (stingermko)


Lesenswert?

Hallo.
In der Suche bin ich nicht fündig geworden. Ich habe folgendes Projekt 
vor:
Ich möchte so einen LED Ring 
(https://www.az-delivery.de/products/kopie-von-rgb-led-ring-ws2812-mit-12-rgb-leds-5v-fuer-arduino) 
steuern. Und zwar wenn ich einen Taster betätigen soll eine vorgegebene 
Sequenz bei den LEDs leuchten. Betrieben werden soll das ganze wenn es 
geht mit 2 AAA Batterien. Der Controller, soll möglichst klein sein und 
per Kabel an den PC zum programmieren anschließbar sein. Welchen 
Controller nimmt man dafür am besten?
Danke im Voraus!

von N. M. (mani)


Lesenswert?

Alles sehr unspezifisch!
Ein Ausgang und ein Eingang brauchst du also.
Sonderlich schnell muss er auch nicht sein.
Am besten direkt Versorgbar mit weiterem Eingangsspannungsbereich wenn 
Batterie.
Wobei die bei der Funsel vermutlich sowieso schnell leer sein werden.

Ich hätte gesagt schau dir Mal den ATiny85 oder kleiner an.
Prinzipiell kann das jeder uC.

von H. H. (hhinz)


Lesenswert?

Malte schrieb:
> Der Controller soll möglichst klein sein

Wie klein kannst du noch löten?


> per Kabel an den PC zum programmieren anschließbar sein.

Ein Programmieradapter ist schon nötig.

von Jens G. (jensig)


Lesenswert?

N. M. schrieb:
> Ich hätte gesagt schau dir Mal den ATiny85 oder kleiner an.
> Prinzipiell kann das jeder uC.

Ich befürchte, er meint keinen Controller in Form eines µC, für den er 
erst auf unterster Ebene selbst ein Programm schreiben muß, sondern was 
fertiges, dem er nur noch via PC die Sequenzen vorgeben muß (sonst 
müsste man ja so nicht fragen).

von N. M. (mani)


Lesenswert?

H. H. schrieb:
> Ein Programmieradapter ist schon nötig.

Nicht zwingend.
Wenn er z.B. einen Digispark (Clone) für 3 Mark 50 nimmt kann er direkt 
über USB flashen.
Ob das dann aber möglichst klein ist...

von Steve van de Grens (roehrmond)


Lesenswert?

Malte schrieb:
> Betrieben werden soll das ganze wenn es
> geht mit 2 AAA Batterien

Der LED Ring braucht 5V Versorgungsspannung. Du brauchst also noch einen 
Step-Up Wandler dazu. Also Mikrocontroller würde ich auch den Digispark 
empfehlen, wenn es möglichst klein sein soll. Ansonsten einen Arduino 
Nano (der ist besser dokumentiert und für Anfänger eher geeignet).

von Paul B. (paule201)


Lesenswert?

Jeder Arduino passt da. Such dir den kleinsten raus der dir gefällt.
ProMini würde sich anbieten. Der läuft auch mit 2AAA Batterien in Reihe.

Allerdings brauch dein Ring 5V, dass wird mit zwei Batterien nichts und 
mit drei nur wenn sie ganz voll sind.

Darf die Stromversorgung auch anders aussehen? Eine Li-Zelle würde sich 
anbieten, die hält auch deutlich länger durch. Wie groß darf der Bauraum 
maximal sein den Versorgung + Controller einnimmt?

von Steve van de Grens (roehrmond)


Lesenswert?

Ich fürchte, dass deine AAA Batterien nicht genug Strom liefern. Der LED 
Ring nimmt bis zu 720 mA auf. Durch die AUfwärtswandlung der Spannung 
ergibt das für die Batterie je nach Füllgrad eine Belastung mit 1200 bis 
2000 mA.

Überlege dir, ob du nicht einfach eine handelsübliche Powerbank zur 
Stromversorgung verwenden kannst.

von Paul B. (paule201)


Lesenswert?

Steve van de Grens schrieb:
> Überlege dir, ob du nicht einfach eine handelsübliche Powerbank zur
> Stromversorgung verwenden kannst.

Fast alle Powerbanks schalten bei unterschreiten einer gewissen 
Mindestlast ab. Wenn der Arduino da so vor sich hin wartet und die LEDs 
aus sind liegt man da weit drunter.

Aber eventuell muss es ja nicht "immer bereit" sein sondern man kann die 
Powerbank manuell starten.

von Crazy Harry (crazy_h)


Lesenswert?

Wenn du absolut keine Ahnung von Controller, löten, programmieren hast, 
schau dir das mal an: https://www.led-genial.de/LED-Player
Da gibts Controller, der Lichtsequenzen gespeichert auf SD-Karte oder 
vorhandenem Flash-Speicher abspielt. Bei Gefallen selber mal durchlesen.

: Bearbeitet durch User
von H. H. (hhinz)


Lesenswert?

Paul B. schrieb:
> Fast alle Powerbanks schalten bei unterschreiten einer gewissen
> Mindestlast ab. Wenn der Arduino da so vor sich hin wartet und die LEDs
> aus sind liegt man da weit drunter.

Den regelmäßigen Tick kann der µC ja gleich mit erledigen.

von Malte (stingermko)


Angehängte Dateien:

Lesenswert?

Ok,danke für eure Rückmeldungen. Ich hole mal ein bisschen weiter aus, 
da ich vielleicht noch eine andere Idee habe. Es geht um einen 
Zahbputztimer für Kinder, den ich gekauft habe. Dieser funktioniert 
super, die Sequenz der LEDs ist aber viel zu schnell. Meide erste Idee 
war, mir einen eigenen Timer zu bauen. Nun denke ich grad drüber nach 
den Chip des Timers zu ersetzen mit einem eigenen Mikrocontroller. Die 
Stromversorgung besteht übrigens doch aus 3 x AAA Batterien. Anbei mal 
ein Foto von dem jetzigen Chip.

von Malte (stingermko)


Angehängte Dateien:

Lesenswert?

Hier noch ein Bild

von Nils S. (wall-e)


Lesenswert?

Das ist doch schon der passende uC. Den einfach nach Wunsch neu 
programmieren!

von Malte (stingermko)


Lesenswert?

Ok, ich kenne mich ein bisschen mit Programmierung aus. Aber wie 
übertrage ich den Code auf den Chip und in welcher Programmiersprache 
wird das programmiert?

von Nils S. (wall-e)


Lesenswert?

Malte schrieb:
> Ok, ich kenne mich ein bisschen mit Programmierung aus. Aber wie
> übertrage ich den Code auf den Chip und in welcher Programmiersprache
> wird das programmiert?

Am einfachsten mit der Arduino IDE (C bzw. C++). (Die Libs für die Tinys 
müssen dann zusätzlich in die IDE integriert werden, wenn noch nicht 
vorhanden)
Programmieren z.B. über den ISP-Programmer, oder jeden vergleichbaren 
(mal googlen)

von Patrick C. (pcrom)


Lesenswert?

Guk mal vielleicht gibt es hier alles was du brauchst :
https://www.adafruit.com/product/2290

von N. M. (mani)


Lesenswert?

Malte schrieb:
> Aber wie übertrage ich den Code auf den Chip

Das kommt drauf an, was du mit "den Chip" meinst?
Der vorgeschlagene Digispark hat USB für Arme. Der bleibt ein paar 
Sekunden nach dem einstecken im USB Bootloader. In der Zeit kann man 
über den PC ohne weitere Hardware das Programm übertragen. Erst danach 
springt er in das eigentliche User Programm.

Der Chip von dir (Atiny45) sieht so aus als ob er was nacktes wäre. Da 
brauchst du vermutlich extra Hardware um das Programm rein zu flashen. 
Da gibt es auf der Seite genug Vorschläge...

Malte schrieb:
> in welcher Programmiersprache wird das programmiert?

Normalerweise Assembler,C oder C++.
Arduino IDE wurde dir bereits gesagt.
Ich finde PlattformIO noch einen ticken besser. Das ist ein Plugin für 
Visual Studio Code.
Neues Projekt anlegen, Board auswählen, benötigte Library auswählen (für 
die WS2812) und du kannst mit einem Beispiel die ersten LEDs leuchten 
lassen.

Aber das ist Geschmackssache.

: Bearbeitet durch User
von Malte (stingermko)


Lesenswert?

N. M. schrieb
> Das kommt drauf an, was du mit "den Chip" meinst?

Mit "Chip" meinte ich den ATtiny45.
Aber das sind schon mal viele tolle Ansätze, vielen Dank!

Noch eine Frage: Kann man mit Hilfe eines Arduino auch den Programmcode 
des ATtiny45 auslesen, den dann verändern und wieder neu draufladen?
Oder muss man immer seinen eigenen Code schreiben und auf den ATtiny 
laden?

von Dieterich (einermehr)


Lesenswert?

Hallo

Patrick C. schrieb:
> Guk mal vielleicht gibt es hier alles was du brauchst :
> https://www.adafruit.com/product/2290

Von den, aber auch Conrad und Reichelt oder gar Elektronikmärkten (bei 
dem Höhepunkt des Arduino und Raspberry Hypes gab es Boards tatsächlich 
teilweise in Vorortläden natürlich nur als Original zu absolut 
überteuerten Preisen)kann man in diesen Zusammenhang (kleine µC Boards, 
Bauteilesortimente, RGB LED Bänder usw.) nur abraten:

Total überteuert, gerade bei  Adafruit die nur von ihrer geschickten 
Werbung und ihren vielen Influencern und unwissenden Anfängern 
profitieren.

Aber ja Adafruit ist gut, was deren Treiber, Bibliotheken und manche 
Tutorials angeht (wobei man bei diesen teilweise die 
Bauteilbezeichnungen "übersetzen" muss).

Hardware und insbesondere µC Board als Clones  kauft man bei E-Bay (wenn 
es relativ schnell gehen soll) besser aber bei AliExpress (oder ähnliche 
China Endkunden Verkaufsplattformen) zu wesentlich besseren Preisen.
Von Amazon muss man sich bei µC Board leider fernhalten, da es dort 
vornehmlich (überteuerte. Es geht nicht um 1,50€ mehr, sondern locker 
mal um 15,- und mehr...) Orginalboards  gibt, oder dann noch die "Edel 
Clones" die auch die gleiche Masche wie Adafruit nutzen (Influencer, 
sich in der Maker Szene bekannt und "Cool" machen)

Insgesamt muss man als Anfänger bei vielen Arduino und Elektronikkursen 
bei YouTube vorsichtig sein, sich nicht zu teuren Herstellern verleiten 
zu lassen.
Die Kurse sind Fachlich meist (sehr) gut (aber nur mit Werbeblocker und 
SponsorBlock AddOn zu ertragen) aber je Professioneller deren Auftreten 
und deren Kurs, umso mehr muss man wissen, wo man richtig kauft. 
Bedauerlicherweise ist das für absolute Anfänger nicht so einfach zu 
erkennen.


Kernproblem ist aber:
Um das wirklich zu erkennen braucht es entweder schon einige Erfahrung 
oder gute "saubere" Quellen, die nicht durch Influencer verseucht sind.

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Dieterich schrieb:
> Kernproblem ist aber:
> Um das wirklich zu erkennen braucht es entweder schon einige Erfahrung
> oder gute "saubere" Quellen, die nicht durch Influencer verseucht sind.

Es bleibt schlicht dabei was schon immer gegolten hat: Wer keine Ahnung 
hat zahlt immer drauf. Wer sich auskennt, kann sparen.

von Dieterich (einermehr)


Lesenswert?

Hallo

Malte schrieb:
> Noch eine Frage: Kann man mit Hilfe eines Arduino auch den Programmcode
> des ATtiny45 auslesen, den dann verändern und wieder neu draufladen?

Theoretisch: Ja

Praktisch ist es so ohne weiteres von der Arduinosoftware nicht 
vorgesehen, aber möglich (Nutze Google und Youtube, da gibt es viele 
Anleitungen).

Das große Aber kommt jetzt:

Du erhältst den reinen Maschinencode - das ist nicht mal "gut lesbarer" 
Assemblercode.
Warum? => Google mal nach µC Programmierung, Linker, "Was passiert 
eigentlich beim Programmieren eines µC" und ähnlichen Begriffen.

Den Maschinencode kann man zwar bearbeiten (mit entsprechenden 
Programmen), wer das aber kann, ist auf einem ganz anderen Level als Du, 
als ich und wohl 99 % in diesem Forum und der ganzen Hobby µC Szene, 
aber auch als der  Großteil der Profis.

Man bekommt da leider (vom Prinzip her) kein schönes 
Hochsprachenprogramm(geschweige den die für uns als Mensch wichtigen 
Kommentare) zurück.

Du (mann) kann schon froh sein, wenn man (generell nicht nur bei 
Arduino)
den Programmspeicher (den Maschinencode) überhaupt auslesen und somit 
kopieren kann, denn diese kann leider bei jeden µC aktiv geschützt 
(Hardwremäßig - cracken ist da kaum bis überhaupt nicht möglich) werden.

Mit diesem fiesen Trick wird im professionellen Umfeld leider das Geld 
gemacht, bzw .Wertänderungen (von den wenigen die es können) verhindert

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Malte schrieb:
> Es geht um einen Zahbputztimer für Kinder, den ich gekauft habe.
Da hat echt einer die Schaltung auf Lochrasterplatine verdrahtet und den 
µC sogar gesockelt? Hast du das Ding in einer "Zahnputztimer-Manufaktur" 
gekauft? Können die dir nicht einfach ein kundenspezifisches Programm da 
drauf laden?

> Dieser funktioniert super, die Sequenz der LEDs ist aber viel zu schnell.
Da hat wohl einfach einer vergessen, die CLKDIV8 Fuse zu setzen...

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Lothar M. schrieb:
> Da hat echt einer die Schaltung auf Lochrasterplatine verdrahtet und den
> µC sogar gesockelt? Hast du das Ding in einer "Zahnputztimer-Manufaktur"
> gekauft?

Die Platine wurde sogar mit den Zähnen in Form gebissen. DAS ist 
commitment zum Produkt. Hut ab.

von Martin H. (horo)


Lesenswert?

Malte schrieb:
> Dieser funktioniert
> super, die Sequenz der LEDs ist aber viel zu schnell.

Lothar M. schrieb:
> Da hat wohl einfach einer vergessen, die CLKDIV8 Fuse zu setzen...

Wie schnell ist denn viel zu schnell? Soll? Ist? Bitte ZDF (Zahlen, 
Daten, Fakten).

von Cyblord -. (cyblord)


Lesenswert?

Ich fasse den Sachverhalt für Malte mal zusammen:

DU kannst niemals für das Ding ein Programm schreiben oder gar Auslesen, 
Disassemblieren, Verändern und wieder zurück schreiben. Nicht in tausend 
kalten Wintern.
Das ist eine Schnapsidee. Dir fehlt alles an Wissen, Grundlagen und 
Hardware um das zu tun. Beschäftige dich doch mit Dingen die du kannst. 
Würde das nicht viel mehr Spaß machen? Denk mal drüber nach.
Ende der Durchsage.

von Gerald B. (gerald_b)


Lesenswert?

Lothar M. schrieb:
>> Dieser funktioniert super, die Sequenz der LEDs ist aber viel zu schnell.
> Da hat wohl einfach einer vergessen, die CLKDIV8 Fuse zu setzen...

Dann würde das Timing für die Pixel LEDs wiederum nicht passen ;-)

von Malte (stingermko)


Lesenswert?

Cyblord -. schrieb:
> Ich fasse den Sachverhalt für Malte mal zusammen:
>
> DU kannst niemals für das Ding ein Programm schreiben oder gar Auslesen,
> Disassemblieren, Verändern und wieder zurück schreiben. Nicht in tausend
> kalten Wintern.
> Das ist eine Schnapsidee. Dir fehlt alles an Wissen, Grundlagen und
> Hardware um das zu tun. Beschäftige dich doch mit Dingen die du kannst.
> Würde das nicht viel mehr Spaß machen? Denk mal drüber nach.
> Ende der Durchsage.

Oha, da ist aber einer negativ eingestellt. Schon mal was davon gehört, 
dass man einfach mal Bock hat, was neues auszuprobieren und seinen 
Horizont zu erweitern? Vermutlich nicht... Wie gesagt, habe ich schon 
ein bisschen Erfahrung in Elektronikbastelei, nur noch halt nicht wie in 
diesem Anwendungsbeispiel. Aber es ist toll, dafür solche Foren zu 
haben, wo einem freundliche Unterstützung zuteilwird.

Lothar M. schrieb:
> Hast du das Ding in einer "Zahnputztimer-Manufaktur"
> gekauft?

Tatsächlich bei Etsy 
(https://www.etsy.com/de/listing/1293462619/dentimax-zahnputzuhr-timer-zum)

Martin H. schrieb:
> Wie schnell ist denn viel zu schnell? Soll? Ist? Bitte ZDF (Zahlen,
> Daten, Fakten).

Die LED zeigen an, wo wie lange geputzt werden soll. Insgesamt läuft er 
2:30min, was ja auch richtig ist. Aber das ist knallhart ohne Pause o.ä. 
einfach alles hintereinander weg. Kinder sind halt keine Maschinen, es 
soll ja sogar vorkommen, dass die Kinder die Zahnpasta zwischendurch 
auch mal ausspucken wollen, mal quatschen etc. :-) Der Timer läuft 
gnadenlos weiter und der Sinn ist damit hinüber. Eine Pausefunktion gibt 
es nicht, sobald man den Taster betätigt geht die Sequenz von vorne los. 
Meine Kids fanden erst cool, aber dann war die Begeisterung dahin, weil 
man so "gehetzt" wird. Die Idee ist einfach zwischen den zu putzenden 
Bereichen ein paar Sekunden Pause zu haben und das lässt sich ja mit der 
neuen Programmierung gut umsetzen.

von Dieterich (einermehr)


Lesenswert?

Hallo

Natürlich kannst du nach ein wenig Recherche und einigen Tagen bis 
Wochen an üben und Lernen ein Programm z.B. eben mit der Arduino IDE 
schreiben (Erstmal so wie es fast jeder macht: Mithilfe von fertigen 
Bibliotheken und ein wenig Copy and Paste).
Mehr kommt dann aber fast automatisch, und ja auch du schaffst das, ganz 
bestimmt, natürlich wird es manchmal "Knoten" im Hirn geben, denn die 
Logik und Sprache (die Worte, die im "echten" Leben ganz anders belegt 
sind) ist bei der Programmierung generell schon recht speziell und 
schwer zu erklären (wenn ma es aber einmal drauf hat macht alles Sinn 
und ist ganz einfach - nur selbst  dann einen Anfänger selbst wieder zu 
erklären... nahezu unmöglich)

Das Auslesen (falls keine Lock Bits gesetzt sind) schaffst Hardwaremäßig 
du in wenigen Tagen (für die Wartezeit auf die Hardware) und ein wenig 
Googeln und nachahmen (So wie es jeder macht)

Das Auswerten auf Maschinenspracheebene ist allerdings eine Sache für 
die es neben viel Fleiß, verinnerlichen der "komischen" Logik und 
seltsamen Sprache im µC Umfeld(der Programmierung generell) eine große 
Portion an Talent braucht.
Da ist es wahrscheinlich das du wie auch ich und ganz bestimmte 
irgendwelche "Lords" es nie lernen werden.

Was du aber beherrscht ist ein vernünftiger und freundlicher Umgang mit 
deinen Mitmenschen, auch anonym in einem Forum.
Irgendwelche "Lords" haben das nach weit über ein Jahrzehnt im Forum 
immer noch nicht gelernt...L

von Dieterich (einermehr)


Lesenswert?

Hallo

Malte schrieb:
> Oha, da ist aber einer negativ eingestellt.

Der ist so und war schon immer so.
Von der Sorte haben wir leider einen Festen Stamm von so etwa fünf bis 
unter zehn Leuten. Leider sind diese Zeitgenossen nicht einfache Trolle, 
sondern wirklich so drauf.

Am besten ignorieren (manchmal geht es aber nicht, zu unverschämt und 
beleidigend ist deren Verhalten um darauf nicht zu reagieren)

von Malte (stingermko)


Lesenswert?

Ok, das mit dem Auslesen muss natürlich nicht sein, aber ich wollte mir 
eh einen Arduino zulegen, um meinem Sohn das Thema Elektronik ein 
bisschen näher zu bringen. Daher ist dieses Projekt doch ein positiver 
Nebeneffekt :-)
Ich habe zusätzlich diese Anleitung 
(https://wolles-elektronikkiste.de/attiny-mit-arduino-code-programmieren) 
gefunden, wo das recht verständlich erklärt wird.
Ich probiere es mal aus und werde dann vom Ergebnis hier berichten (und 
natürlich wenn ich zwischendurch Fragen habe).

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Lothar M. schrieb:
>> Hast du das Ding in einer "Zahnputztimer-Manufaktur" gekauft?
> Tatsächlich bei Etsy
> (https://www.etsy.com/de/listing/1293462619/dentimax-zahnputzuhr-timer-zum)
Gnadenlos...

Dieterich schrieb:
> Das Auslesen
Ist Witzlos, weil ma diese Funktion besser völlig neu programmiert.

> Das Auswerten auf Maschinenspracheebene
Das braucht Jahre an Erfahrung. Ende der Diskussion.

> Wochen an üben und Lernen
Das erscheint mir realistisch. Es könnten auch Monate werden.

Malte schrieb:
> Aber es ist toll, dafür solche Foren zu haben, wo einem freundliche
> Unterstützung zuteilwird.
Im Grunde hat er zwar wieder übertrieben, aber mindestens die Hälfte der 
Aussage stimmt zu 100% als

Cyblord -. schrieb:
> Auslesen, Disassemblieren, Verändern und wieder zurück schreiben ...
> ist eine Schnapsidee.

Malte schrieb:
> Ich habe folgendes Projekt vor
Was hast du denn bisher schon mit Elektronik gemacht?

> Ich habe folgendes Projekt vor
Also wird es dir ergehen wie vielen Anderen vor dir, du musst 2 Sachen 
lernen:
1. die Schaltung verstehen
2. programmieren in C

Wenn du 1. nicht kannst, musst du erst mal 1. lernen. Dazu musst du die 
Datenblätter der verwendeten Bauteile lesen und verstehen. Das Verstehen 
der Bauteile brauchst du auch für 2., denn in den DB steht auch, wie die 
Bauteile angesteuert werden müssen, damit sie das tun, was du willst.

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Malte schrieb:

> Oha, da ist aber einer negativ eingestellt.

Nur realistisch.

> Schon mal was davon gehört,
> dass man einfach mal Bock hat, was neues auszuprobieren und seinen
> Horizont zu erweitern?

Ja, diese Leute machen keine Threads auf, sondern fangen an Schaltungen 
aufzubauen und µCs zu programmieren.
Wer damit anfangen will, zufällig er "mal kurz" ein konkretes Problem 
lösen will, so wie du, der wird scheitern weil es eben NICHT ums lernen 
oder um ein neues Hobby geht, sondern man will halt schnell ne Lösung 
und denkt man könne das mal schnell selber machen. So läuft das aber 
nicht.

Diese Leute geben dann schnell auf, weil sie merken dass es genügend 
andere Lösungen gibt, bei denen sie NICHT 6 Monate mit "Missing Target 
Connection" und Memory Leaks zubringen müssen.

> Vermutlich nicht... Wie gesagt, habe ich schon
> ein bisschen Erfahrung in Elektronikbastelei
Hast du eher nicht. Die üblichen Lügen. Es geht hier nicht um das 
nachlöten eines Bausatzes, sondern um µC Programmierung. Ist ne ganz 
andere Baustelle.

, nur noch halt nicht wie in
> diesem Anwendungsbeispiel.

Die Anwendung ist egal. Entweder du kannst einen Controller 
programmieren und deine Digitalschaltung verstehen oder nicht. Das sind 
die ganz üblichen Ausreden: "Ich kann das eigentlich nur HIER, genau DAS 
also das kann ich leider noch nicht".

> Aber es ist toll, dafür solche Foren zu
> haben, wo einem freundliche Unterstützung zuteilwird.

Keine Unterstützung die dir dieses Forum geben kann wird es dir 
ermöglichen mal schnell ein Programm da rein zu schreiben das macht was 
du willst.

> Die LED zeigen an, wo wie lange geputzt werden soll. Insgesamt läuft er
> 2:30min, was ja auch richtig ist. Aber das ist knallhart ohne Pause o.ä.
> einfach alles hintereinander weg.

Ein Timer halt. Also ist die Funktion korrekt. Du hast da einen ganz 
anderen Eindruck erweckt.

> Eine Pausefunktion gibt
> es nicht, sobald man den Taster betätigt geht die Sequenz von vorne los.

Und WIE GENAU würdest du mit diesem einen Taster einen Pausenfunktion 
realisieren? Wann gibts ne Pause und wie startet man wirklich neu? Schon 
mal überlegt?

von Malte (stingermko)


Lesenswert?

Lothar M. schrieb:

> Also wird es dir ergehen wie vielen Anderen vor dir, du musst 2 Sachen
> lernen:
> 1. die Schaltung verstehen
> 2. programmieren in C
>
2. ist kein Problem, da ich Medieninformatik studiert habe und C/C++ ein 
Teil davon war.
1. sollte dank der vielen Ressourcen im Netz auch kein Problem sein, 
diese Schaltung ist ja zum Glück kein Hexenwerk.




Lothar M. schrieb:
> Können die dir nicht einfach ein kundenspezifisches Programm da
> drauf laden?

Das war übrigens ein guter Hinweis, ich habe den Verkäufer einfach mal 
angeschrieben, ob er mir den Programmcode schicken kann zum 
modifizieren.


Ich werde berichten, wie es lief :-)

von Malte (stingermko)


Lesenswert?

Cyblord -. schrieb:
> Und WIE GENAU würdest du mit diesem einen Taster einen Pausenfunktion
> realisieren? Wann gibts ne Pause und wie startet man wirklich neu? Schon
> mal überlegt?

Keiner hat was davon gesagt, dass ich dem Taster eine Pausenfunktion 
spendieren möchte. Ein Delay von 2-3 Sekunden in der LED Sequenz 
zwischen den unterschiedlichen Bereichen sind völlig ausreichend als 
Pause

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Malte schrieb:
> 1. ist kein Problem, da ich Medieninformatik studiert habe und C/C++ ein
> Teil davon war.
Naja, das ist wie wenn ein KFZ-Bauer sagt: so ein Intercity ist kein 
Problem, das ich Fahrzeugtechnik studiert habe.

> 2. sollte dank der vielen Ressourcen im Netz auch kein Problem sein, diese
> Schaltung ist ja zum Glück kein Hexenwerk.
Nein, ein µC und ein paar Neopixel-LEDs.

Mein Tipp: kauf den Arduino und einen LED-Ring mit Neopixels und 
programmier einfach mal drauflos.
- 
https://www.az-delivery.de/products/kopie-von-rgb-led-ring-ws2812-mit-12-rgb-leds-5v-fuer-arduino

von Gerald B. (gerald_b)


Lesenswert?

Malte schrieb:
> Ein Delay von 2-3 Sekunden in der LED Sequenz
> zwischen den unterschiedlichen Bereichen sind völlig ausreichend als
> Pause

Der Atiny45 hat sicherlich noch einen Pin frei, den man als Analog Input 
abfragen kann. Sollte der belegt sein, ist es bei Lochraster ebenso 
simpel, den Analog input frei zu tauschen. An den Analogeingang kommt 
ein Poti als Spannungsteiler zwischen +Ub und Masse. Der Schleifer kommt 
an den Analogeingang und ein kleiner Kondensator zwischen Schleifer und 
Masse. Wenn du in deiner Programmschleife den Analogengang abfragst und 
mit einem festen Faktor multiplizierst, den diesem Wert die Pausenlänge 
zuweist, mußt du nicht für jede Zeitänderung das Programm anpassen, 
sondern kannst das leicht nachträglich machen :-)
Das nur ein Taster vorhanden ist, ist auch kein Beinbruch.
Wenn der Timer nicht läuft, startet er, bei Tastendruck, ansonsten 
stoppt er. Ist er mit Restzeit gestoppt, läuft er bei Tastendruck 
weiter.
Wird länger gedrückt, wird resettet
Zum Beispiel...
Auf dem LED Ring lassen sich noch andere Effekte darstellen. Z.B. wenn 
die Zeit abgelaufen ist, blinkt 3x ein Smilie. Der Phantasie sind keine 
grenzen gesetzt.

von Cyblord -. (cyblord)


Lesenswert?

Malte schrieb:
> 2. ist kein Problem, da ich Medieninformatik studiert habe und C/C++ ein
> Teil davon war.
> 1. sollte dank der vielen Ressourcen im Netz auch kein Problem sein,
> diese Schaltung ist ja zum Glück kein Hexenwerk.

Natürlich natürlich. Alles kein Hexenwerk. Da hast du recht.
Bleibt die Frage warum du dann nicht einfach mit deinem Studium und dem 
Netz hergegangen bist und das Ding bereits implementiert ist.

> Keiner hat was davon gesagt, dass ich dem Taster eine Pausenfunktion
> spendieren möchte. Ein Delay von 2-3 Sekunden in der LED Sequenz
> zwischen den unterschiedlichen Bereichen sind völlig ausreichend als
> Pause

Ja nun. Eine feste Pause wird dann irgendwann auch wieder nicht passend 
sein.

: Bearbeitet durch User
von Martin H. (horo)


Lesenswert?

Gerald B. schrieb:
> Der Phantasie sind keine
> grenzen gesetzt.

Daran scheitern viele Projekte, wenn nicht am Anfang klar definiert 
wird, was man erreichen möchte. Also Karopapier und Bleistift nehmen, 
Aufschreiben was das Gerät können soll, dazu Skizzen, Zeitabläufe, 
Zustandsdiagramme. Und wenn das fertig und konsistent ist, kannst Du 
einen simplen Automaten programmieren, der das Zustandsdiagramm 
abarbeitet - so wie im Informatik-Studium gelernt.

Martin

von Patrick C. (pcrom)


Lesenswert?

Dieterich schrieb:

> Patrick C. schrieb:
>> Guk mal vielleicht gibt es hier alles was du brauchst :
>> https://www.adafruit.com/product/2290
>
> Von den, aber auch Conrad und Reichelt oder gar Elektronikmärkten (bei
> dem Höhepunkt des Arduino und Raspberry Hypes gab es Boards tatsächlich
> teilweise in Vorortläden natürlich nur als Original zu absolut
> überteuerten Preisen)kann man in diesen Zusammenhang (kleine µC Boards,
> Bauteilesortimente, RGB LED Bänder usw.) nur abraten:
> ...
> Kernproblem ist aber:
> Um das wirklich zu erkennen braucht es entweder schon einige Erfahrung
> oder gute "saubere" Quellen, die nicht durch Influencer verseucht sind.

So wie ich das sehe hat OP (noch) nicht viel ahnung von hardware (nicht 
boese gemeint). So woll er zB ein 5V produkt speisen mittels 3V 
spannung.
Deswegen wuerde es fuer ihm denke ich gut sein eine gutes beispiel mit 
alles inklusiv was er benoetigd, sogar ein buch dabei.

Ob der Preis zu teuer ist fuer ihm, kann ich nicht einschaetzen. Die 
komponenten kann man auch separat bekommen.

Ich habe in meine lern-zeit als Elektroniker mehrmals sehr viel gelernd 
mittels gute bausatz/unterlagen. Und auch geld spendiert an sachen die 
nicht komplett waren oder schlecht documentiert.

Grusze Patrick aus die Niederlaende

von Hadmut F. (hadmut)


Lesenswert?

ESP32-S2 !

Dann kannst du die zahnputzgewohnheiten per WiFi gleich noch mitloggen 
:o)

von Cyblord -. (cyblord)


Lesenswert?

Martin H. schrieb:
> Also Karopapier und Bleistift nehmen,
> Aufschreiben was das Gerät können soll, dazu Skizzen, Zeitabläufe,
> Zustandsdiagramme.

Darauf zielte meine Frage nach der Realisierung der Pausenfunktion auch 
ab.
Dass sich der TE überhaupt mal Gedanken macht WAS er erreichen will.
Über das WIE kann man dann danach nachdenken.

Nur dann kam Gerald mit dem Helfersyndrom und nahm alles vorweg.

von Cyblord -. (cyblord)


Lesenswert?

Hadmut F. schrieb:
> ESP32-S2 !
>
> Dann kannst du die zahnputzgewohnheiten per WiFi gleich noch mitloggen
> :o)

Mitloggen? Das geht bei mir direkt und automatisch auf Insta. Wie die 
Klogänge auch. Mit vollständiger Analyse des Ergebnisses. Die Leute 
sollen ja nicht denken man hätte was zu verbergen.

von Hadmut F. (hadmut)


Lesenswert?

Hast du einen Farbsensor für die vollständige Analyse der Klogänge?

von Cyblord -. (cyblord)


Lesenswert?

Hadmut F. schrieb:
> Hast du einen Farbsensor für die vollständige Analyse der Klogänge?

Folge mir auf Insta für alle Details. Darmfluencer boomen aktuell 
sowieso.

von Maurice S. (wiminisse)


Lesenswert?

Darf ich auch noch mal eine Idee in den Ring werfen?!

Der Tiny25/45/85 kann doch "Fully Static Operation"

Im Prinzip müsstest Du das Programm ggf. noch nicht mal ändern, sondern 
nur die Fuses auf externen Takt umstellen, diesen dann einspeisen und 
bei Bedarf pausieren.
Schon hast Du Deine gewünschte Pausenzeit realisiert.
Extern könnstest Du einen passenden Oszillator nehmen und den Enable von 
diesem mit nem Schalter (vielleicht entprellt) auf GND oder VCC ziehen.

Das sollte dann schon funktioneren.

von N. M. (mani)


Lesenswert?

Was da wohl passiert wenn der gerade am raustackern des 
WS2812-Bitmusters ist?

von Steve van de Grens (roehrmond)


Lesenswert?

Malte schrieb:
> Aber wie übertrage ich den Code auf den Chip und in welcher
> Programmiersprache wird das programmiert?

Mit einem ISP Programmieradapter
http://stefanfrings.de/isp_programmieradapter/index.html

Als Programmiersprache kommt normalerweise C oder C++ zum Einsatz. Gerne 
auch in Form von Arduino.
https://wolles-elektronikkiste.de/attiny-mit-arduino-code-programmieren

Man kann auch ein Arduino Nano Board als Programmieradapter nutzen. Der 
zweite Link beschreibt das.

Wenn du den Mikrocontroller durch ein DigiSpark Board ersetzt, brauchst 
du keinen Programmieradapter. Dafür kostet das Digispark entsprechend 
mehr. Unterm Strich ist das nicht günstiger, aber weniger Fummelei. 
Achte darauf, für den Taster und und die LEDs möglichst freie Pins zu 
verwenden, die nicht zum USB Stecker gehen.

Malte schrieb:
> Kann man mit Hilfe eines Arduino auch den Programmcode
> des ATtiny45 auslesen, den dann verändern und wieder neu draufladen?

Auslesen ja, aber dann hast du nur den Maschinencode (einen Haufen 
Zahlen), den kannst du nicht lesen und ändern. Es ist für "Hacker" nicht 
unmöglich, aber kein normaler Mensch treibt den hohen Aufwand ohne große 
Not.

: Bearbeitet durch User
von Wolfgang H. (eierschale)


Lesenswert?

Hallo,
ich habe einen ähnlichen Timer mit dem ATTiny13a gebaut. Es ging zwar um 
die Bedenkzeit bei Brett-Spielen, aber das Prinzip ist ähnlich. Per 
Charlieplexing wurden 10 LEDs verbaut, da blieb noch Platz für einen 
Piezzolautsprecher. Der Einschalter wurde in Form eines 
Schüttelschalters an die Resetleitung gelegt. Aber Vorsicht, Reset hat 
Pullup, Kondensator nicht vergessen. Als Energieversorgung reichen mir 
zwei 1,5V Alkalizellen.

In einem transparenten Gehäuse eingebaut, ist das Ganze wasserdicht, da 
keine Löcher gebohrt werden müssen.

von Malte (stingermko)


Lesenswert?

So! Ich bin fertig mit meinem Projekt. Alles hat ganz wunderbar 
funktioniert. Ich habe einen arduino nano als ISP benutzt und dann auf 
einem Breadboard einen Attiny programmiert. Ich habe den attiny45 durch 
den 85 ersetzt, da der mehr Platz für das Script hat.
Es war ein bisschen Einarbeitung in die Fastled librbary, wie ich die 
Animation des Timers nachgebaut bekomme aber am Ende hat alles gut 
geklappt. Die Farben und die Animation habe ich ein bisschen meinem 
Bedürfnissen angepasst und das wichtigste: ich habe zwischen jedem 
Zahnbereich 2 Sekunden Pause eingebaut, das macht das ganze wesentlich 
entspannter :-)  Was mir auf jeden Fall geholfen hat ist die simulation 
in einem Sketch auf wokwi.com. Das hat ungemein Zeit gespart.
Alles in allem habe ich da 4-5 Abende   á 2-3 Stunden Aufwand 
reingesteckt.
Danke nochmal für eure Tipps!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.