Forum: Mikrocontroller und Digitale Elektronik RGB-Led's per Knopf umschalten?


von Florian H. (thanquol)


Lesenswert?

Schönen guten Abend,

ich bin leider jenseits von Bits und Bytes nicht sonderlich bewandert.
Vielleicht könnt ihr mir sagen nach welcher Art von Schaltung / 
Controller ich hierfür suchen muss:

Mir ist auf der letzten Party folgendes Teil zugeworfen worden:
http://www.classicline-gmbh.de/nav.php?lan=en&com=1&mg=000001&sg=100026&an=579-040
Über einen kleinen Knopf kann man verschiedene Funktionen nacheinander 
abrufen:
Rot blinken, Grün blinken, Blau blinken, langsam zwischen den Farben 
wechseln, ganz wirr durcheinander blinken.

Ich würde sowas in der Art gerne "nachbauen".

Mit einem Raspberry Pi hab ich das bereits hinbekommen.
Aber wie schaffen die das mit einem VK-Preis von 39cent? Welcher 
Mini-Controller ist da verbaut? Oder ist das was komplett andres?

Leider ist auf dem "Controller" nur ein großer schwarzer Batzen... den 
bekomm ich aber nicht weg und die Finger sind schon blutig vom 
abrutschen :(

Sieht im Endeffekt so aus:
Versorgung via 4,5V Batterie (3x1,5V)

Chip Ausgang 1 -> Minus-Pol LED 1
Chip Ausgang 2 -> Minus-Pol LED 2
Chip Ausgang 3 -> Minus-Pol LED 3
Chip Eingang 1 -> Pluspol 4,5V
Chip Eingang 2 -> Minuspol, Taster-Kabel 1
Chip Eingang 3 -> Taster-Kabel 2

Sonst keine weiteren Bauteile, keine Widerstände o.Ä.

-> Um was für eine Art Chip / Bauteil kann es sich bei sowas handeln? 
Wirklich irgendein Mini-Chip mit nem kleinen C-Programm drauf?


Tausend Dank,
Florian

von Max H. (hartl192)


Lesenswert?

Mit dem Kontroller von RasPi wir das sicher viel mehr kosten. Das 
Schwarze auf dem Controller vom RasPi ist der RAM.
Ohne Vorwiderstände für die LEDs wird es nicht möglich sei .
Ich würde so etwas mit einem 6 Pin Microkontroller wie z.B. dem 
PIC10F200 lösen.
Um es für 39c zu verkaufen wirast du aber seeeehhhhr viele Stück 
verkaufen, wenn es überhaupt möglich ist. Habe mit dem Markt keine 
Erfahrung, ich bin nur Bastler...

Das Schwarze auf deiner Platine ist Epoxy um den Chip zu schützen. Bei 
so billigen Dingen wird oft der Silizium Chip dirket auf die Platine 
gebondet. Es könnte eine RGB LED mit integrierten Widerständen sein, 
falls es so etwas gibt. Es könnten auch Stromquellen im Chip eingebaut 
sein.

: Bearbeitet durch User
von Max H. (hartl192)


Lesenswert?

Ein PIC10F200 mit 256word RON und 16 Byte RAM kostet im SOT-23 bei 
microchipdirect 0.31€, bei 100+ Stück 0.26€ und  bei 5000+ Stück 0.23€ 
pro Stück.
Wenn der Speicher des 10F200 zu klein ist könnte man auf dem 10F202 
(512word ROM, 24byte RAM) für 0.34€, 0.28€ bei 100+ und 0.25€ bei 5000+ 
Stück umsteigen.
SMD 0603 Vorwiderstände gibt es ab 0.5ct bei 100+ Stück. (TME)
Und noch ein 100nF zwischen Vdd und Vss für 0.6ct bei 100+ Stück.(TME)
Ein Mikroschalter kostet 2.7ct bei 100+ Stück. (TME)

Bei 100 Stück mit dem 10F202 bist du bei 0.298€ für die Bauteile,
es kommen aber noch Kosten für RGB LED, Platine, Batterien und Gehäuse 
dazu.

Florian H. schrieb:
> Aber wie schaffen die das mit einem VK-Preis von 39cent?
Nach meiner Rechnung dürfte das nicht möglich sein...

Bei so wenig ROM/RAM wird man mit C aber vllt. nicht weit kommen und ASM 
verwenden müssen.

: Bearbeitet durch User
von Max H. (hartl192)


Lesenswert?

Wenn 6 bit PWM mit 200Hz reicht, hast du 78 Befehlszyklen für jeden 
Schritt.
Du brauchst:
  3 für die Kontextsicherung
  3 fürs vorladen des Timers und loschen des interrupts flag
  3 fürs inkrementieren und Modul 64 eines Zählerregisters
  2 fürs auf eins setzen der PWM Pins, wenn das Zählerregister von 63
    auf null geht
3*4 um die PWM Pins auf null zu setzten, wenn das Zählerregister gleich
    dem Duty-Register ist
  4 für die Kontextwiederherstellung
  2 RETFIE
_____
=29
Das entspricht ca. 37% CPU Auslastung fürs PWM. Du hast also noch genug 
Zeit für andere Sachen, wie z.B. dem Fading der LEDs und einlesen des 
Tasters.

Edit:
Ich habe gesehen, dass der PIC10F20x kein Timer Interrupt hat, man 
könnte das problem Lösen, indem man den nicht PWM Code in Stücke kürzer 
alc ca. 50 befehlszyklen zerlegt und dazwischen den Timerstand nach 
einem Überlauf pollt. Man könnte auch den PIC10F320 (100+: 0.31€, 5000+: 
0.27€ im SOT-23-6 bei microchipdirect) mit 256word ROM und 64byte RAM 
und Timer-Interrupt verwenden

: Bearbeitet durch User
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.