Hallo, Bin neu hier :), erstmal ein dank an das super Forum :) und natürlich auch einen Gruß an die Forengemeinde.Ich stelle mich kurz vor, heiße Nico komme aus der nähe von Bad Kreuznach, Rheinland-Pfalz bin 19 und angehender Elektroniker für Betriebstechnik.Soviel dazu, nun mein Problem ich würde gerne das Programmieren lernen also ich bräuchte vorerst nur den Tiny 13, Sprache unwichtig am besten so einfach wie möglich.Wird also nicht oft gebraucht und wenn auch nur einfache Dinge ich werde dann bei meinen weiteren Projekten bei diesm Chip bleiben oder nochmal neu anfangen zu lernen.Und zwar soll es ein LED Blitzer werden der 2 KSQ ansteuert so das sie blinken wie in einem Flugzeug, das heißt das eine LED soll einen Doppelblitz machen, das andere einen einfachen jewals eine halbe sekunde Pause ( wird aber ausprobiert was am besten passt.)Mein Problem ist es das ich es nicht hinbekomme ein Programm dafür zu schreiben, habe das Lernpaket Mikrocontroller aber naja es will nun nicht so wie ich möchte, brauche ein paar Basics, wäre super wenn Jemand in der Umgebung mal Zeit hätte und Lust (auch gegen eine Aufwandsentschädigung) mir ein wenig unter die Arme zu greifen. Vielen Dank im voraus, Gruß, Nico :)
Guck dir das AVR-GCC-Tutorial oder das AVR-Assembler Tutorial an. Links oben auf dieser Seite. Wenn du das gewissenhaft durcharbeitest bringt dir das weit mehr als jedes unter die Arme greifen. Fragen kannste dann hier stellen.
Nico schrieb: > Lernpaket Mikrocontroller Das wird hier kaum einer kennen. Welche Programmiersprache benutzt es? Was hast Du damit schon programmiert? Der ATtiny13 kann zwar einiges, aber naturgemäß sind Anfänger nicht so dolle darin, effizienten und Ressourcen schonenden Code zu schreiben. Ein ATmega88 hat da schon deutlich mehr Luft oder ein ATtiny44. Peter
Für schnelle und einfache Entwicklung ohne große Einarbeitung empfiehlt es sich einen möglichst großen Mikrocontroller zu nehmen, da kann man dann zur Not auch in einer richtig hohen Sprache seinen Code schreiben. Z.B. mit dem GNUBLIN Board von http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=1296 kannst du in Python, Lua & Co deine LEDs blinken lassen. Da ist die Einstiegshürde deutlich geringer. Und auf der Homepage gibt es jede Menge Anleitungen und Beispiele. (Letzteres ist kein Argument gegen den Tiny, sondern eine Feststellung über das GNUBLIN Board.) Grüße Thilo
Ach so, genau für solche Zwecke gibt es natürlich auch Arduino.
Nico schrieb: > Und zwar soll es ein LED Blitzer werden der 2 KSQ ansteuert so > das sie blinken wie in einem Flugzeug, das heißt das eine LED soll einen > Doppelblitz machen, das andere einen einfachen jewals eine halbe sekunde > Pause Ich weiß zwar nicht, was "KSQ" sind, aber einen Blitzer für einen Heli habe ich vor gut 6 Jahren mal geschrieben, allerdings noch für den Tiny12. Da Du ja mit Hilfe Deines Lernpaketes "lernen" willst, kannst Du ja den Quelltext im Anhang analysieren und an den Tiny13 und Deine Anspüche anpassen. Zur Analyse des Quelltextes empfiehlt sich, das Datenblatt des Tiny12 griffbereit zu haben und die Funktion der Register und deren Bits darin nachzuschlagen. Wenn Du an irgendeiner Stelle nicht weiter kommst, kannst Du gerne konkrete Fragen stellen. ...
Hannes Lux schrieb: > Ich weiß zwar nicht, was "KSQ" sind, Konstantstromquellen. Liest du etwa keine "LED-ohne-Vorwiderstand-Threads"? Hannes Lux schrieb: > Da Du ja mit Hilfe Deines Lernpaketes "lernen" willst, kannst Du > ja den Quelltext im Anhang analysieren Das ist aber harter Tobak für einen Newbie mit (Bascom-)Lernpaket. Denke mal es geht um das von Franzis. @Nico (Gast) Basiert das nicht sogar auf Atmega88? Da kann man sich doch auch erstmal mit austoben und was Lauffähiges zustande bringen. Das dann auf einen 8-Pin-Tiny zu kriegen, ist das kleinere Übel. Gibt auch noch was anderes als die alten Tiny13. Auch mit mehr Speicher: 25/45/85. mfg.
Im Franzis Lernpaket für den ATTINY 13 ist doch ein LED- Blinker drin. Wenn man lesen kann, sollte es kein Problem sein, den zum Laufen zu bringen. Das zur Programmierung verwendete MCBASIC ist einfach und bringt schnell die gewünschten Ergebnisse. Also für mich war dieses Lernpaket ein schneller und leichter Einstieg.
Also mit einem Attiny13 kann man schon einiges anstellen und zum Blinken von 2 LEDs sollte er ausreichen. zB: Beitrag "Blinky61 - vielseitiges Blink- und Lauflicht - ATtiny13 mit 6 LEDs [ASM]" mit einigen Einstellmöglichkeiten ;-) Falls Du mit Bascom programmierst, kannst Du Dir mal Beitrag "einfacher Schlafmodus und aufwecken Attiny13" anschauen (gegen Ende)
...ich habe über das "Lernpaket Mikrocontroller" damals auch meine ersten Schritte mit den AVRs gemacht. Das Lernpaket was ich habe,hat kein MCBASIC (oder sonst was exotisches) genutzt, sondern ganz normalen AVR-Assembler, insofern solltest Du hier was die Software betrifft, auf große Fachkenntnis stoßen. Das beigelegte Handbuch bietet auch m.E. einen sehr guten Einstieg. Die Hardware ist (bis auf den Tiny13) allerdings "proprietär". Das flashen des MC ist in der Schaltung nur mit dem Programm von Franzis möglich. Was genau funktioniert denn nicht ? Bekommst Du denn ÜBERHAUPT ein Programm in der Schaltung zum Laufen ? Gruß Tom
Thomas Eckmann schrieb: > Konstantstromquellen. Danke, diese Abkürzung war mir nicht bekannt, obwohl ich weiß, wie Konstantstromquellen funktionieren... > Liest du etwa keine "LED-ohne-Vorwiderstand-Threads"? Nein, schon lange nicht mehr. Da kann man doch sowiso nicht helfen weil ja immer wieder einer daherkommt, der behauptet, dass LEDs an konstanter Spannung betrieben werden, möglichst noch parallel. Thomas Eckmann schrieb: > Das ist aber harter Tobak für einen Newbie mit (Bascom-)Lernpaket. Aber gut geeignet, zu zeigen, dass ein AVR kein Multimediakonsumgerät ist und dass beim Kauf eines Lernpaketes noch lange nicht das zum Benutzen erforderliche Wissen mitgekauft wurde. Ich halte diese Lernpakete für Abkassiererei, sie suggerieren Erfolg ohne Wissen bzw. Fleiß, die meisten landen auf dem Müll, ehe das erste (eigene) Programm darauf läuft. Und nein, ich beschäftige mich nicht beruflich mit AVRs, ich hatte auch keine Ausbildung bezüglich Mikrocontroller und auch kein Lernpaket. Daher bevorzuge ich auch Assembler, ist auf kleinen Systemen mit begrenzten Ressourcen irgendwie eindeutiger und berechenbarer als Hochsprachen. ...
Hallo, danke für die unglaublich vielen posts :) echt super also ja das eig problem für mich ist es das Programm so hinzubekommen wie ich es brauche , das flashen und so mit vorgeschriebenen Programmen nach Anleitung hat geklappt.Das Lernpaket war kostenlos, von meiner Firma weil Geld hätte ich dafür nicht bezahlt, es zeigt zwar ein paar Sachen und gibt codes vor aber etwas eigenes kann man damit auf keinen Fall entwickeln, ein Tiny 13 muss es sein weil ich davon 1. 20Stück habe 2, es klein sein muss und alles auf dieser Schaltung basiert, bzw sie ist identisch außer das ich anstatt eine KSQ 2 ansteuern möchte http://www.roberts-r2d2-bau.de/fmblightsanticollbau.htm. Ich habe es einfach nachgebaut, da ich nicht die 100% nötige erfahrung hatte mit was und wie ich es machen sollte also nicht die nötigen Kenntnise so etwas rein aus dem Kopf ohne hilfe zu entwickeln.Da diese Schaltung für meie zwecke passt und leicht veränderbar ist dachte ich mir nehme ich sie , die teile habe ich auch alle hier also fehlt eig nur das nötige Programm.Ein anderes Problem ist wohl auch das ich keine Ahnung der Befehle hab also eine art Libary wäre da nicht schlecht was diese können.Ich werde mich mal durch einige hier gepostet Links lesen.Den Code von der Seite hatte ich probiert nur mein Bascom-Avr hatte Probleme gemacht anfags bis ich 2 werte herabgesetzt hatte einmal Framestack und Hw stack auf 10, dann ging es zwar zu speichern und simulieren nur habe ich es nicht hinbekommen es so zu speichern das ich es mit LP Mikros flashen kann.Da das Paket ja bezügl. Flash soweit ich weiß an die Platine gebunden ist bzw habe ich nur eine Nachbildung der Platine meines Meisters, der sie geätzt und gebohrt sowie das Layout erstellt hatte.Also kurz und knapp brauch ich mal so ein paar Seiten wo alles sage ich mal erklärt wird was man dazu braucht , wo man Befehle findet, wie diese kombiniert werden müssen, welche Sprache die beste ist.Im Vordergrund stehen keine komplexen Programme, lediglich LED Blinkereien (vorerst).Ob Bascom oder Assembler oder C ist mir egal , da ich bei keiner Grundkenntnisse habe. Vielen Dank :) Gruß, Nico
Naja, du kannst ja mit LPMikros auch nur Programme flashen, die in den Kontroller reinpassen, ohne das der 'Bootloader' überschrieben wird. Leider hat das Lernpaket anscheinend keinen Modus, der das flashen eines beliebigen Codes ermöglicht (notfalls mit Setzen der Reset Brücke). Dazu kommt noch, das die mitgelieferten Programme nich wirklich schön geschrieben und kommentiert sind. Bitmuster werden einfach als Bytes geschrieben, Konstanten kommentarlos mitten im Code plaziert - alles nicht wirklich beispielhafter Code, vor allem in einem 'Lernpaket' zu einem völlig überhöhten Preis. Wenn du aber erstmal damit weitertesten willst, denke daran, PORTB.2 dauerhaft auf high zu legen, damit der 'Bootloader' (ist nicht wirklich einer, aber nennen wir in mal so) nicht aktiv wird. Oder du schaltest am Anfang deines eigenen Programmes PORTB.2 gleich auf Ausgang und high. Dann sollten Tiny13, die mit der Lernpaket Mimik programmiert wurden, auch stand alone laufen.
Hallo, also ich habe ja das Programmierinterface, funktioniert das auch mit anderen Programmen also das flashen weil ich hab ja einfach nur ein serielles Interface.Bzw gibt es Programmen zu flashen oder sollte man es gleich in AVR Studio machen, ich weiß auchnicht genau wie ich alles einstellen muss das es funktioniert, steht das auch in dem Tutorial ?. Ich hab schonmal das AVR tut angeschnitten, wo bekomme ich nun die ganzen Parameter her und die Auswirkung.Gibt es eine liste ? bzw libary ?. vielen dank :), Gruß,Nico
Du kannst die Franzis Mimik auch nur mit den Programmen von Franzis benutzen. Es erfordert einige Klimmzüge, um mit AVR Studio Programme zu schreiben und sie dann mit dem Franzis LP in den Kontroller zu programmieren. Vor allen Dingen musst du die Syntax mit dem Programmstart wie in den mitgelieferten Beispielen in deine AS Projekte übernehmen. Das beste wirds wahrscheinlich sein, dir einen Programmer zuzulegen, der direkt von AS unterstützt wird, z.B. den AVRISP MkII. Dann noch ein kleines Programmieradapter, mit dem du Tiny12/13/25/45/85 programmieren kannst, die haben alle die gleiche Pinbelegung. Ich habe mir dazu ein kleines Board mit einem 8-pin Sockel und dem 6poligen ISP Anschluss gebaut, was aus USB gespeist wird.
Nö, Matthias stimmt nicht: Er kann sehr wohl andere Programme als die mitgelieferten Franzis- Programme laden und ausführen. Wenn er alle Franzis- Programme durch hat, kann er die kostenlose Demo- Version von BASCOM aus dem INET holen und gleich eigene Programme schreiben umd mit dem Franzis- Programm auf den TINNY 13 übertragen. Ich habe mir einen RS232 Programmieradapter Adapter gebaut nach der Franzis Vorlage gebaut mit dem ich alle TINNY 13 und auch andere TINNY - Typen programmiere. Den Bootlader braucht man hierzu nicht, den kann man überschreiben und - wenn ich mich richtig entsinne- auch bei Bedarf wieder laden d.h. er ist auch auf der mitgelieferten CD vorhanden.
Nö schrieb: > Nö, Matthias stimmt nicht: Er kann sehr wohl andere Programme als die > mitgelieferten Franzis- Programme laden und ausführen. Jaja, das habe ich ja auch oben schon angedeutet. Allerdings ist es damit immer noch nicht möglich, die Fuses zu setzen und z.B. die Tinys mit voller Geschwindigkeit oder externem Quarz/Takt laufen zu lassen. Wie gesagt, für die ersten Schritte mag das LP ganz nett sein, aber auf längere Sicht ist ein richtiger Programmer nicht zu umgehen. Und der Tiny 13 mit BASCOM und 1.6 Mhz? Das macht keinen Spass. Glücklicherweise hatte ich das LP geschenkt bekommen, sonst hätte ich mich sehr geärgert, auch über die schlechte ASM Programmierung. Würde man eines dieser Programme hier zur Diskussion stellen, würden sich die meisten mit Recht über die Syntax beschweren.
Matthias Sch. schrieb: > Und der > Tiny 13 mit BASCOM und 1.6 Mhz? Das macht keinen Spass. Das (1,6 MHz) ist auch nicht möglich, der rennt ab Werk mit 9,6 MHz und Vorteiler 1:8, also mit 1,2 MHz. Das ist aber nicht zwingend, denn man kann ihn auch ohne Fusebit-Manipulation schneller (oder langsamer) takten, denn die CKDIV8-Fuse bewirkt nur eine Voreinstellung des System-Taktvorteilers CLKPR auf 1:8. Diese kann jedoch jederzeit durch das Programm im AVR geändert werden. Dazu ist in CLKPR das Bit für die Schreibsperre (Bit 7) zu setzen, und sofort darauf zweimal hintereinander der neue Wert für den gewünschten Vorteiler zu schreiben. Das sind also ganze 3 I/O-Zugriffe. Weitere Infos bietet das Datenblatt des Tiny13 unter dem Suchbegriff CLKPR. Aber Datenblätter lesen ist ja soooo uncool... Ich hänge als Beispiel mal den Bascom-Quältext einer Rundumleuchte mit 6 LEDs und Poti an, wo der System-Taktvorteiler per Software auf 1:1 eingestellt wird, damit der Tiny13 mit 9,6 MHz taktet. ...
Hallo, danke für die zahlreichen Antworten, leider verstehe ich davon nur sehr wenig, mir geht es garnicht um solche Aktionen mit taktung und sowas.Ich möchte ja erstmal nur Das Led über PWM oder so blinken lassen,dass es einen Doppelblitz macht und das andere, welches dann noch dazu kommt einen einfach , das beste ist ich lese erstmal so eine Erklärung der ganzen Sachen wie z.b fusebits usw.Ich muss betonen , dass ich von Mikrocontrollertechnik überhaupt keine Ahnung habe und vorher noch nie programmiert habe. Gruß, Nico :)
Hannes Lux schrieb: > also mit 1,2 MHz. Is ja noch schlimmer. Hannes Lux schrieb: > Dazu ist in CLKPR das Bit für die Schreibsperre (Bit 7) > zu setzen, und sofort darauf zweimal hintereinander der neue Wert für > den gewünschten Vorteiler zu schreiben. Das sind also ganze 3 > I/O-Zugriffe. Super - und hängst im gleichen Augenblick die gesamte Bootloadermimik ab, weil die Programmierer zur Baudratenerzeugung Taktzyklen zählen und nicht mal den Timer benutzen. Das ist doch fernab von der Praxis, um nicht 'Mist' zu sagen. Immerhin will Nico seine LEDs blitzen lassen und sich mit dem Tiny13 beschäftigen, weil er davon so viele hat, und sich nicht mit dem Sinn oder Unsinn des F-LPakets beschäftigen. Hannes Lux schrieb: > Aber Datenblätter lesen ist ja soooo uncool... Nö, eigentlich nicht. Hab jetzt aber das vom Tiny13 nicht dahingehend untersucht. Persönlich bevorzuge ich eh die modernen Nachfolger 25/45/85. Übrigens ist das Ende des ATTiny13 nahe, es wartet der Tiny13A.
Matthias Sch. schrieb: > Super - und hängst im gleichen Augenblick die gesamte Bootloadermimik > ab, weil die Programmierer zur Baudratenerzeugung Taktzyklen zählen und > nicht mal den Timer benutzen. Das ist doch fernab von der Praxis, um > nicht 'Mist' zu sagen. Na Du musst es ja wissen... Ich habe lediglich Deiner falschen Aussage widersprochen, dass der Tiny13 mit 1,6 MHz laufen würde und man ohne Änderung der Fusebits damit leben müsse. Bootloadermimik? - Ich übertrage die Programme per ISP. Matthias Sch. schrieb: > Persönlich bevorzuge ich eh die modernen Nachfolger > 25/45/85. Tiny85 nutze ich selbstverständlich auch, da wo sie hinpassen (z.B. Soundmodul für Diesellok oder Dampflok). Aber für Kleckerkram wie Blinker, Rundumleuchten, RC-Schaltmodule, Servo-Ansteuerungen usw. reicht der Tiny13 völlig aus. Man muss nicht immer mit Kanonen auf Spatzen schießen. > Übrigens ist das Ende des ATTiny13 nahe, Ja, es naht das Ende der Welt... > es wartet der > Tiny13A. Ja und? Habe ich bereits in Benutzung. Ist doch kompatibel. Wo ist das Problem??? ...
Auch auf die Gefahr hin gelüncht zu werden... Vielleicht ist ein Blick auf den MSP430 interessant. Besorg Dir das LauchPad (http://e2e.ti.com/group/msp430launchpad/m/project/default.aspx) für $4,30 und lade Dir CCS5.1 MCU herunter (http://www.ti.com/tool/ccstudio&DCMP=dsp_ccs_v4&HQS=Other+OT+ccs). Das LaunchPad ist ein kleines Entwicklungsboard für kleine MSP430 Microcontroller die den Atmel AVR uC an Performance locker ebenbürtig wenn nicht überlegen sind. Und ausserdem kann man mit dem LaunchPad und CCS5.1 die MSP430 super debuggen, was bei den AVRs mit dem AVRISP mkII nicht möglich ist. Mann muss sich jedoch mit dem umfangreichen CCS anfreunden (Eclipse basierend) und C/C++ programmieren - was jedoch zu empfehlen ist, da in der uC-Welt C/C++ der Standard ist. Einziges Manko ist, das die MSP430 uC für den Otto-Normalverbraucher eher schlecht zu besorgen sind.
Hi
>Auch auf die Gefahr hin gelüncht zu werden...
Aber nicht weil du MSPs vorschlägst, sondern weil du anscheinend unfähig
bis eine Situation zu erfassen.
MfG Spess
MSP430 Benutzer schrieb im Beitrag #2681542: > Vielleicht ist ein Blick auf den MSP430 interessant. Für mich nicht, da ich gern mit mehr als 3,3V arbeite... ...
Wie schön hier alle auf die Bedüfnisse des TE eingehen... Also der ATtiny13 soll es sein, mit dem hab ich such schon so einiges angestellt. Ich programmiere ihn in C, und es passt durchaus einiges rein, zumindest im Vergleich zu dem geforderten Blinker. In diesem Forum wirst Du am meisten Hilfe bei C oder Asm finden. Ich bevorzuge ersteres, weil es komfortabler ist. Ich glaube, das Board beim Lernpaket ist recht schlicht (um es mal freundlich auszudrücken) und funktioniert wohl nur mit der mitgelieferten Software (wenn ich das richtig verstanden habe), ich empfehle einen moderneren Programmer, kostet auch nicht viel. Ich benutze am liebsten meinen mySmartUSB light (15 E, lässt sich von vielen IDEe direkt benutzen), aber es geht auch noch billiger. An Software benutze ich AVRstudio 4 (IDE) und WinAVR (C-Compiler, AVRstudio kann den einbinden), die neueren AVRstudios haben den Compiler wohl schon dabei, alles kostenlos. Ich denke, Dein nächster Schritt sollte sein, Dich für eine Sprache zu entscheiden, dann kann Dir konkreter geholfen werden.
Hallo,:) geht ja echt schnell hier mit den Antworten :) also ich werde dann wahrscheinlich C nehmen, da Assembler zu schwer zu verstehen ist und ich etwas universales möchte.So ich werde mich dann nun erstmal einlesen im laufe der Tage, also ein paar erklärungen suchen von allen Fachbegriffen usw.Werde mich dann nochmal melden, muss ja von 0 anfangen habe ja keinerlei Vorerfahrung diesbezüglich also Fachbegriffe etc. Gruß, Nico
Nico schrieb: > also ich werde dann > wahrscheinlich C nehmen, da Assembler zu schwer zu verstehen ist Schreibs in C und werfe ab und zu einen Blick auf das Assemblerlisting, was man vom Compiler generieren lassen kann. Dabei lernst du Assembler auch ein wenig kennen und siehst u.A., wie bestimmte C-Schreibweisen als Assemblercode aussehen. Es kann nicht schaden, sich in diesem Bereich etwas Hintergrund anzusehen, ist aber für Bastelzwecke nicht unbedingt ein "Muss". Einen guten Start in C bekommst du aber nicht gleich bei der µC-Programmierung. Vieles ist dort nur über "Stützkrücken" und Erweiterungen der Sprache erreichbar. Schreib erstmal ein paar Kommandozeilen-Progrämmchen auf dem PC, um die Sprache kennenzulernen. Es kann aber auch sein, dass dir C unmöglich unlogisch erscheint. Dann kannst du z.B. Bascom probieren, wenn dir Basic und dessen Dialekte besser liegen. mfg mf
Moin! Für unsere Modellbahn habe ich mal eine Disko in einem tiny13 programmiert. Der µC steuert drei farbige LEDs in der Helligkeit und feuert unregelmässig und unabhängig zwei ultrahelle, weiße LEDs als Blitzer ab. Vielleicht kannst Du Dir dort etwas abgucken, ausschneiden ... etc. Der tiny läuft mit internem Takt ohne DIV8-fuse. Ach ja: Die Kommentare im Code stimmen nicht immer mit dem Code überein :-/ Gruß Jobst
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.