Klare Sache für einen Mikrocontroller...
siehe https://www.mikrocontroller.net/articles/AVR-Tutorial
MfG Urs
Einen schönen Mittag/Abend/Früh an alle Leser.
Erstmals möchte ich mich hier und mein Projekt vorstellen. Ich komme aus Fürth und bin seit Anfang des Jahres dem DC Car verfallen.
Nun soll es nicht bei einfach fahrenden Autos bleiben, nee man(n) braucht ja unbedingt was besonderes :-O.
Nun zu meinem Problem. Ich möchte ein Lauflicht in einen Anhänger einbauen, welches von links nach rechts läuft und die letzte SMD LED sozusagen aufläuft.
Es sollen 6 SMD LED verbaut werden.
Hier mal der versuch es euch zu erklären.
LED1 geht an und läuft bis LED6 in 1 sec Rhythmus. LED6 soll weiter leuchten.
nun geht es wieder los bei 1 nun aber nur noch bis LED5. LED6 leuchtet weiter.
wieder los ab LED 1 nun bis LED4. LED5 und 6 sollen weiter leuchten.
usw. usw.
Wenn alle LEDs leuchten sollen alle 2x im 2sec Rhythmus blinken und nach 2 sec Pause wieder von vorne losgehen.
Ist sowas umsetzbar? Habe keine Ahnung vom Programiren. Diverse Foren habe ich auch schon durchsucht meist aber nur Bahnhof verstanden. Kann mir jemand bei dem Projekt aus dem Raum Nürnberg behilflich sein? Kenne mich in der Elektronik nicht wirklich aus, klar plus und minus gibt es und wenn die zusammentreffen raucht es.
Würde mich freuen wenn sich jemand finden würde.
Grüße
Bruchi
Klare Sache für einen Mikrocontroller...
siehe https://www.mikrocontroller.net/articles/AVR-Tutorial
MfG Urs
Assembler ist für einen Neuling schon eine Hausnummer. Teuerer aber einfacher: http://www.arduino.cc/ und in C programmieren.
viele Grüße
Andreas
#define true ('/'/'/')
#define false ('-'-'-')
Gerade für einen Einsteiger ist ggf. auch die Arduino-Familie eine Überlegung wert. Da bekommst Du größtenteils vorgefertigte Hardware, die sich recht einfach programmieren läßt. Für den Anwendungsfall mit den 6 LED's wäre ein Digispark geradezu ideal, da er in der Basisversion ohne alles genau 6 Ports zur Verfügung stellt Bei Kosten von unter 9 Euro ist das denke ich auch ein erschwingliches Teil.
Abhängig von der Leistungsaufnahme der LED's braucht es aber ggf. noch eine Treiber-Stufe aus Transistoren. Die Hardware dafür ist sehr schön im Tutorial beschrieben, das Horstelin schon gepostet hat.
Für Arduino spricht die einfachere Programmierung. Man muss sich auch nicht groß mit Programmier-Adaptern und Kabeln abmühen. Die Digisparks zum Beispiel werden einfach zum Programmieren in den USB-Port gesteckt und fertig. Die Programmiersprache ist für Einsteiger auch sehr gut geeignet und es gibt eine große Community dafür.
Wenn Du aber (neben den LED-Treibern) gerne selber den Lötkolben schwingen und Mikrocontroller-Schaltungen von Grund auf selber bauen willst, dann ist das AVR-Tutorial genau das richtige für Dich.
Hallo Horstelin und danimath,
genau auf der Seite habe ich angefangen mit dem Tutorial, leider werden hier so viele Fachbegriffe verwändet, das man als Neuling nichts versteht. Schon allein die verschiedenen Programiersprachen oder wie das heist, ist ein ziemliches Wirrwar.
Ich werde es mal weiter versuchen.
Ist mein Vorhaben überhaupt möglich?
Danke nochmal für eure Antworten.
Grüße
Bruchi
Ja ist absolut machbar!
Du hast bei Atmega (was ich benutzen würde) immer Ports a 8 Pins (in deinem Fall bis zu 8 LEDs pro Port)
Ein einfacher code zum ein und ausschalten wäre:
worüber du dich noch informieren solltest, sind delays, sonst geht die LED nur einen takt an, wie man den ganzen code auf den Atmega/attiny bekommt und wie schleifen und if abzweigungen funktionieren damit du deine gewünschte reihenfolge einhältst.#include <avr/io.h>
int main()
{
DDRB = 0xff; // Alle Pins des Ports B als Ausgang definieren:
PORTB |= (1<<PB2); // schaltet Pin2 an port B ein
PORTB &= ~(1<<PB2); // schaltet Pin2 an port B aus
}
MfG Urs
PS: Vorwiderstände für die LEDs nicht vergessen
Also...das Assembler für einen Neuling eine "echte Hausnummer" ist ist absoluter Blödsinn. Es ist nicht schwerer als C. Dafür lernt man mit Assembler aber über das Innenleben eines Controllers weit mehr und es erleichtert das evt. Erlernen einer zweiten Sprache.
@Bruchi:
Also, machbar ist dein Projekt auf jeden Fall, keine Frage.
Aber was für Fachbegriffe verstehst du denn nicht...die sind doch im AVR-Tutorial auf mikrocontroller schön erklärt?
Das möchte ich mal mit dem unteren Link untermauern, obwohl ich mich da auch schon oft beim AVR-ASSEMBLER verhaspelt habe.
Vor allen Dingen mit SBIS, SBIC, SBRS, SBRC, SBI, CBI, SBR, CBR, SBCI, SBC
http://www.avr-asm-download.de/beginner_de.pdf
Ist aber halt alles eine Lernsache.
Bernd_Stein
CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler
Einen schönen guten Abend.
Erstmal ein herzliches Dankeschön für die Hilfestellungen.
Ich habe mir nun einen Digispark USB zugelegt. Nun stehe ich vor der Frage welcher Anschluss wo ist.
P0 - P5 sind wohl die Arbeitsausgänge, welche ich mit LED (mit Vorwiederstand) bestücken möchte. Was für ein Ausgangspolung liegt nun vor? Nach meinem Gefühl würde ich
mal den Pluspol hier sehen. Aber woher bekomme ich nun den Minuspol her? Kann ich da einfach direkt an die Batterie gehen?
Dieses wäre Problem 1,
nun kommt Problem 2:
Auf der Platine sind noch drei Steckplätze frei mit den Bezeichnungen VIN / GND / 5V.
5V denke ich einfach einmal das es der Pluspol für die Platine ist. Bin ich da richtig?
VIN und GND keine Ahnung was da gemeint ist.
Hoffe ihr könnt mir wieder Helfen habe echt keinen Durchblick.
Grüße
Die Ausgänge werden je nach Programm entweder mit 5V oder GND ( = Ground = Masse = "Minus") verbunden. Somit brauchst du nur deine LED+Vorwiederstand an 5V anschließen und den "Minuspol" der Verbindung auf den Pin legen. Dieser schaltet dann alle 1s hin und her, somit leuchtet einmal die LED (5V -> GND = Potentialunterschied = Spannung = Strom kann fließen) oder eben nicht (5V -> 5V = gleiches Potential = keine Spannung = kein Strom = kein Licht)
Die Anschlüsse GND/VIN brauchst du in deinem Fall nicht belegen. GND ist wie bereits angesprochen, Bei VIN kann eine externe Spannung angelegt werden (Datenblatt beachten) die dann intern auf die 5V herab geregelt wird.
Deine Schaltung sieht dann so aus:
(Für die anderen LED's gleich)
Die Berechnung des Vorwiderstands der LED läuft folgendermaßen ab:
Für U_LED und I_LED musst du den Spannungsabfall (U) und den Strom (I) deiner LED (steht im Datenblatt) einsetzen.
grüße
Lesezeichen