Hallo,
ich möchte meine Attiny-Platine so programmieren, dass, wenn ich das Rad
drehe, die Geschwindigkeit der abwechselnd aufleuchtenden LEDs erhöht
oder eben verringert wird.
Kann mir jemand sagen, wie das geht, am besten schon gleich in der
Programmiersprache (Basic), damit es dann auch wirklich klappt.
Das wäre total nett!
Hallo!
-> Was für eine Attiny-Platine? (Schaltplan?)
-> Was für ein Rad?
Warum muss man eigentlich immer selbst die Details erfragen? Es kann
einem nur geholfen werden, wenn man alle nötigen Informationen
hinschreibt.
Gruß
David
David Madl schrieb:
> Hallo!>> -> Was für eine Attiny-Platine? (Schaltplan?)> -> Was für ein Rad?>> Warum muss man eigentlich immer selbst die Details erfragen? Es kann> einem nur geholfen werden, wenn man alle nötigen Informationen> hinschreibt.
Alternativ kann man dann auch gleich das fertige Porgramm samt
zugehöriger Hardware liefern.
Am besten sollte der Fragesteller dann auch noch gleich die EMail
Adresse seines Lehrer/Betreuers/Auftraggebers posten, dann könnten wir
ihm diese Arbeit der Abgabe/Auslieferung auch noch abnehmen.
Lustig, dass solche Anfragen meistens so anfangen
> ich möchte meine Attiny-Platine so programmieren
***
Da dürfte wohl ein falsches Verständnis der Bedeutung des Wortes 'ich'
vorliegen.
>Alternativ kann man dann auch gleich das fertige Porgramm samt>zugehöriger Hardware liefern.>Am besten sollte der Fragesteller dann auch noch gleich die EMail>Adresse seines Lehrer/Betreuers/Auftraggebers posten, dann könnten wir>ihm diese Arbeit der Abgabe/Auslieferung auch noch abnehmen.>Lustig, dass solche Anfragen meistens so anfangen>> ich möchte meine Attiny-Platine so programmieren
***
>Da dürfte wohl ein falsches Verständnis der Bedeutung des Wortes 'ich'>vorliegen.
Ich habe keinen Auftraggeber, ich arbeite an einer Schularbeit und rede
demnach von dem wirklichen "ich"
Lucy schrieb:
> Hier der Schaltplan, wo sich das Rad befindet, habe ich mit einem roten> Kasten markiert, ich hoffe, dass hilft als Information, danke.
naja, das ist kein Schaltplan...
>Hier der Schaltplan, wo sich das Rad befindet, habe ich mit einem roten>Kasten markiert, ich hoffe, dass hilft als Information, danke.
Das ist kein Rad, das ist ein Poti. Also AD Wandler benutzen.
>Ich habe keinen Auftraggeber, ich arbeite an einer Schularbeit und rede>demnach von dem wirklichen "ich"
Schularbeiten sind dazu da das man sie SELBER macht.
Das ist also ein "ICH" Job und kein "WIR" Job.
Lucy schrieb:
> dann muss es der hier sein!
jep, jetzt sieht man auch, dass es ein poti ist.
Da könnte man mit dem ADC die Analoge Spannung in "Zahlen" konvertieren
und dann entsprechend die LEDs blinken lassen.
Lucy schrieb:
>>Da dürfte wohl ein falsches Verständnis der Bedeutung des Wortes 'ich'>>vorliegen.>> Ich habe keinen Auftraggeber, ich arbeite an einer Schularbeit und rede> demnach von dem wirklichen "ich"
Na ja.
Was hindert dich dann daran, es selber zu programmieren?
Das ist schliesslich die Bedeutung von 'Hausaufgaben'. Die machen nur
dann Sinn, wenn man sie selber macht. Sozusagen als Übung.
OK. Im Ernst:
Welche Teile kriegst du selber hin und wobei brauchst du Hilfe?
Die allgemein akzeptierte Vorgehensweise hier sieht so aus:
Du zeigst, was du bisher geschafft hast und jemand verbessert Fehler
oder zeigt Wege auf, wie man den Rest angehen könnte. Aber primär kommst
du mit einem Programm und jemand hier sieht es sich an.
Ja ich mache das ja auch selbst, nur ich kann das nur mit dem Taster
dimmen, aber den Taster brauche ich zu etwas anderem, deswegen dachte
ich, man könnte hier mal fragen. Wie macht man das mit dem AD-Wandler?
also der uC ist höchstwahrscheinlich n tiny2313.
Das "Rad" nennt sich Potentiometer (P1), die eingestellte Spannung steht
an Uvar bereit.
Falls ich Richtig lieg mit dem tiny2313, hast du keine
Analog/Digitalwandlereingänge, die diese Spannung abfragen können.
Woher hast du das Board eigentlich? Schule?
Lucy schrieb:
> Ja ich mache das ja auch selbst, nur ich kann das nur mit dem Taster> dimmen, aber den Taster brauche ich zu etwas anderem, deswegen dachte> ich, man könnte hier mal fragen. Wie macht man das mit dem AD-Wandler?
Hast du denn keine Unterlagen zu deiner Programmiersprache oder ein
Handbuch oder dergleichen. In BASCOM ist das alles eigentlich ziemlich
einfach zu benutzen. Dein Stichwort dafür lautet ADC.
Hier ist zb der Link zur BASCOM Hilfe.
http://avrhelp.mcselec.com/bascom-avr.html
Lies doch dort mal unter "BASCOM Language Reference" beim Befehl
"GETADC" nach. Dort findet sich auch ein Beispiel (Hint, Hint!)
Nein dergleichen haben wir nicht bekommen, wir sollen nur ein Programm
schreiben und es einreichen bis Ende der Woche und ich bin total
überfordert, aber ich les mir die Seiten mal durch, danke.
Lucy schrieb:
> Nein dergleichen haben wir nicht bekommen, wir sollen nur ein Programm> schreiben und es einreichen bis Ende der Woche und ich bin total> überfordert, aber ich les mir die Seiten mal durch, danke.http://avrhelp.mcselec.com/bascom-avr.html
Lies doch dort mal unter "BASCOM Language Reference" beim Befehl
"GETADC" nach. Dort findet sich auch ein Beispiel (Hint, Hint!)
>Falls ich Richtig lieg mit dem tiny2313, hast du keine>Analog/Digitalwandlereingänge, die diese Spannung abfragen können.
Stimmt. Da müßte er sich was mit dem Komparator basteln.
holger schrieb:
>>Falls ich Richtig lieg mit dem tiny2313, hast du keine>>Analog/Digitalwandlereingänge, die diese Spannung abfragen können.>> Stimmt. Da müßte er sich was mit dem Komparator basteln.
Also geht das, was ich vorhabe, bzw. machen soll, garnicht mit meiner
Platine?
Lucy schrieb:
> holger schrieb:>>>Falls ich Richtig lieg mit dem tiny2313, hast du keine>>>Analog/Digitalwandlereingänge, die diese Spannung abfragen können.>>>> Stimmt. Da müßte er sich was mit dem Komparator basteln.>> Also geht das, was ich vorhabe, bzw. machen soll, garnicht mit meiner> Platine?
Ich sag mal so:
Wenn man weiß, was man tut, geht es schon (und ein paar zusätzlicher
Bauteile, die du wahrscheinlich nicht hast)
Aber ich fürchte, du wirst das nicht hinkriegen.
Aber nur zur Sicherheit: Was steht denn auf deinem µC (das ist das
größte IC auf der Platine) drauf? Wenn da 2313 steht, dann hast du die
A...karte
Es geht nicht ohne zusätzliche Beschaltung.
Evtl. ist mit dieser Aussage die Aufgabe bereits
gelöst.
Sonst gibt es diverse Lösungsansätze z.B. mit AD-Wandler
uber I²C oder nur PWM-RC-AIN0 und Poti an AIN1 oder...
Blos was ist gefragt?
avr
Karl heinz Buchegger schrieb:
> Aber nur zur Sicherheit: Was steht denn auf deinem µC (das ist das> größte IC auf der Platine) drauf? Wenn da 2313 steht, dann hast du die> A...karte
Da steht nichts drauf, ich denke mal, es ist eine eigens für die Schule
zusammengebaute Platine.
Flo schrieb:
> Wie wärs wenn du uns mal verratest, wo du die Platine her hast und ob ne> Beschreibung dabei war.
Demnach war auch keine Beschreibung dabei
avr schrieb:
> Es geht nicht ohne zusätzliche Beschaltung.> Evtl. ist mit dieser Aussage die Aufgabe bereits> gelöst.> Sonst gibt es diverse Lösungsansätze z.B. mit AD-Wandler> uber I²C oder nur PWM-RC-AIN0 und Poti an AIN1 oder...
Und wenn es nicht ohne zusätzliche Bauteile geht, dann werde ich wohl
einfach aufgeben, trotzdem danke.
Du musst doch wissen, welcher Microcontroller da verbaut ist. Ohne diese
Info könnte da genauso ein Stück altes Brot eingelötet sein...
Vielleicht isses ja ein tiny26, tiny261 o.ä... Da wird das ganze dann
wieder einfach...
Naja wenn dus ganz bauernmäßig aufbauen willst, kannste auf AIN0 das
Poti anschließen und an AIN1 den PWM-Ausgang OCx, am besten über einen
Tiefpass.
Dann kannste dir softwaremäßig eine Regelroutine schreiben, die das
Puls-Pausen-Verhältnis der PWM erhöht bis AIN1 größer AIN0 ist. Dein
PWM-Wert entspricht dann (verhältnismäßig) dem Analogwert des Potis.
Ist aber ziemlich umständlich, ungenau und verschwenderisch (3 Pins
gehen dafür drauf + Analogkomparator und PWM-Timer).
;-)
Ungast schrieb:
> Du musst doch wissen, welcher Microcontroller da verbaut ist. Ohne diese> Info könnte da genauso ein Stück altes Brot eingelötet sein...>>> Vielleicht isses ja ein tiny26, tiny261 o.ä... Da wird das ganze dann> wieder einfach...
Ich hab nochmal geguckt attiny 2313 ist es
Lucy schrieb:
> Karl heinz Buchegger schrieb:>> Aber nur zur Sicherheit: Was steht denn auf deinem µC (das ist das>> größte IC auf der Platine) drauf? Wenn da 2313 steht, dann hast du die>> A...karte>> Da steht nichts drauf, ich denke mal, es ist eine eigens für die Schule> zusammengebaute Platine.
Nicht auf der Platine.
Am IC selber!
Ich weigere mich zu glauben, dass die IC-Beschriftung für so etwas
popeliges abgeschliffen wurde!
Bei Tiny26 bzw. Tiny261 passen die Pins nicht.
Ein 89C2051 wäre auch möglich wenn ich mich noch richtig
erinnere. Ist aber dann kein AVR! Kein Tiny!
avr
Flo schrieb:
> Naja wenn dus ganz bauernmäßig aufbauen willst, kannste auf AIN0 das> Poti anschließen und an AIN1 den PWM-Ausgang OCx, am besten über einen> Tiefpass.
Oder man wirft einen kurzen Blick auf den verbauten Tiny und sein
Datenblatt. Stellt fest dass es eine DIP20-Tiny-version MIT ADC ist,
und bastelt eine kleine Schleife wie
a=GETADC
SETPWM(a)
(Details kennt die BASCOM-Hilfe...)
Flo schrieb:
> Dann kannste dir softwaremäßig eine Regelroutine schreiben, die das> Puls-Pausen-Verhältnis der PWM erhöht bis AIN1 größer AIN0 ist. Dein> PWM-Wert entspricht dann (verhältnismäßig) dem Analogwert des Potis.> Ist aber ziemlich umständlich, ungenau und verschwenderisch (3 Pins> gehen dafür drauf + Analogkomparator und PWM-Timer).> ;-)
+ 3 Wochen Einarbeitungszeit, was da eigentlich abgeht :-)
Wenns auf der Platine wenigstens einen frei verfügbaren Spannungsteiler
gäbe (neben dem Poti). Dann könnte man mit Spannungsteiler,
Bandgap-Spannung und natürlich dem Poti, dem Poti wenigstens 3 Bereiche
abringen: Kleiner werden, gleich bleibend, größer werden.
Aber so hat man nur 2 Potibereiche.
Hmm. Ein wenig Phantasie:
da sind 2 Taster.
Taster 1 drücken und
Poti am linken Anschlag: Blinkfrequenz verringern
Poti am rechten Anschlag: Blinkfrequenz erhöhen
Taster wieder auslassen: Poti hat keinen Einfluss mehr.
> Bei Tiny26 bzw. Tiny261 passen die Pins nicht.
So genau hab ich mit das nicht angesehen... Wär ja wohl nicht zuviel
verlangt, wenn die TE das mal nachsehen könnte... Wenn wir ihr schon die
Hausaufgabe machen...
Vielleicht ist es auch ein PIC, dafür gibts auch Basic ... dann passen
aber wahrscheinlich auch die PINs nicht.
Ungast schrieb:
>> Bei Tiny26 bzw. Tiny261 passen die Pins nicht.> So genau hab ich mit das nicht angesehen... Wär ja wohl nicht zuviel> verlangt, wenn die TE das mal nachsehen könnte...
Hat sich ja mitlerweile geklärt.
Es IST ein 2313
Lucy schrieb:
> Ich glaube das hat keiner gelesen: Es ist ein Attiny 2313-2OPU
Tja, dann hat der Lehrer die entsprechende Aufgabe entweder nicht
besonders gut durchdacht (für euren Wissensstand), oder es wurde in der
Stunde nicht zugehört.
Es gibt/gab doch Ansteuerbausteine (quasi AD-Wandler) für
8 LED mit Spannungseingang.
Finde gerade keinen, aber sowas an PortB (ist auf Stiftwanne
kpl. erreichbar) als Byte einlesen wäre das einfachste.
avr
avr schrieb:
> Es gibt/gab doch Ansteuerbausteine (quasi AD-Wandler) für> 8 LED mit Spannungseingang.> Finde gerade keinen, aber sowas an PortB (ist auf Stiftwanne> kpl. erreichbar) als Byte einlesen wäre das einfachste.>> avr
Wenn schon zusätzliche Elektronik, dann am einfachsten einen 555 Timer
IC. Dann braucht man auch nix programmieren.
Alternativ mit mehr Teilen, aber ohne 555 sowas in die Richtung:
http://www.hobby-bastelecke.de/projekte/multivibrator_einstellbar.htm
(Multivibrator mit Poti)
Rainer schrieb:
> ...Sollte eigentlich die Hilfe zum GETRC-Befehl aufrufen ;-)
Der wär natürlich schön.
Ist aber mit ihrer vorhandenen Hardware nicht realisierbar.
Hallo,
nicht so kompliziert für ne Hausaufgabe.
Ein extra Kondensator und der "Analog Comparator (PIN 12/13
AIN0/AIN1)"im ATTINY2313 reichen doch. Kondensator über einen Port und
das Poty Laden bzw. Entladen und die zeit dafür bestimmen.
siehe hier:
http://www.atmel.com/dyn/resources/prod_documents/doc0942.pdf
cu,
Ralf
Ralf E. schrieb:
> Hallo,>> nicht so kompliziert für ne Hausaufgabe.
LOL.
Wir mussten 3 mal nachfragen, welchen Prozessor sie überhaupt benutzt.
Denkst du wirklich sie kriegt das mit Zusatzhardware gebacken?
> Ein extra Kondensator und der "Analog Comparator (PIN 12/13> AIN0/AIN1)"im ATTINY2313 reichen doch. Kondensator über einen Port und> das Poty
Das Poti auf der Platine kann sie dafür nicht benutzen.
Hi,
natürlich kann sie das Poti verwenden um die Spannung an AIN0 zu legen,
R/C dann an AIN1, genau wie in der Appnote. Darum frag ich ja, was alles
dabei war.
cu
Hi,
da muss es noch zusätzliche Teile gegeben haben!
Sonst kann Ihre erste aussage schon nicht stimmen:
>abwechselnd aufleuchtenden LEDs
ich sehe im Schaltplan nur die Power-LED.
cu
<offtopic>
>Tja, dann hat der Lehrer die entsprechende Aufgabe entweder nicht>besonders gut durchdacht ...
Das vermute ich mal. An der Bu1 wo RxD, Txd, MISO und MOSI anliegt keine
Masseleitug zu spendieren (oder ich habe sie übersehen ?!) ist schon
merkwürdig.
TxD heißt doch auch eigentlich _T_ransmit Data ... also vom uC zum
PC/wasauchimmer ... irgendwie scheint TxD und RxD (wenn ich mir die
Transistoren so anschaue) aber genau in die jeweils andere Richtung zu
zeigen. Und das "Rad" (also Poti) hat zwar schön VCC und GND ... aber wo
Uvar hingeht steht auch nirgends beschrieben ...
Also irgendwie versteh ich den Schaltplan nicht so ganz, jedenfalls
Widerspricht es einigen üblichen Konventionen. Kein Wunder das da Fragen
aufkommen ...
Ich würd dem Lehrer (wenn der den Schaltplan verbrochen hat) jedenfalls
ne 6 geben ...
Aber das ist nur meine Meinung.
</offtopic>
Ralf E. schrieb:
> R/C dann an AIN1,
Hab ich auch nicht gewusst:
Aber wenn R/C möglich ist, dann gibts dafür im BASCOM schon was
Fertiges. Und dazu braucht sie noch nicht mal den Komperator.
> genau wie in der Appnote.
Siehe BASCOM/GETRC
Ralf E. schrieb:
>>abwechselnd aufleuchtenden LEDs> ich sehe im Schaltplan nur die Power-LED.
Hmm.
Dieser Argumentation kann man schwerlich etwas entgegen setzen.
Hallo,
ich vermute, daß in BU3 LEDs eingesteckt sein könnten... Da ist doch ein
Widerstandsnetzwert 470 Ohm gegen Masse dahinter.
Lade doch mal ein (kleines) Bild hoch.
Gruß, Lui
Rene Böllhoff schrieb:
> Und das "Rad" (also Poti) hat zwar schön VCC und GND ... aber wo>> Uvar hingeht steht auch nirgends beschrieben ...
Naja DAS kann ich gerade noch nach vollziehen. Es ist ein 'Testboard'
also kann man den Poti wohl mit Hilfe von Drahtbrücken auf einen
beliebigen Pin zu legen.
Jochen (Gast)
>Rene Böllhoff schrieb:>> Und das "Rad" (also Poti) hat zwar schön VCC und GND ... aber wo>>>> Uvar hingeht steht auch nirgends beschrieben ...>>Naja DAS kann ich gerade noch nach vollziehen. Es ist ein 'Testboard'>also kann man den Poti wohl mit Hilfe von Drahtbrücken auf einen>beliebigen Pin zu legen.
Ja; sicher. Es sind ja genügend Jumper-Felder vorhanden, sogar ein
Jumper, der das "LED" benannte Signal auf einen eigenen Anschluss legt
(Lötnagel?).
Trotzdem sollte Lucy zunächst einmal mitteilen, wo denn bitte die
"beiden" LEDs angeschlossen sind, die sie derzeit per Taster steuert,
bevor wir uns hier weiter die Nacht um die Ohren schlagen. Vielleicht
hilft ja auch schon der Quellcode der bisherigen Blinkfrequenzsteuerung.
Ralf E. schrieb:
> da muss es noch zusätzliche Teile gegeben haben!> Sonst kann Ihre erste aussage schon nicht stimmen:>>>abwechselnd aufleuchtenden LEDs>> ich sehe im Schaltplan nur die Power-LED.
Also mit der Platine habe ich 10 LED-Leuchten bekommen, die in B0-B7 und
D5 und D6 stecken. Außerdem habe ich noch ein Verbindungskabel zum
Computer und ein Kabel bekommen, das ich zum verbinden nutzen kann.
Lucy schrieb:
> Also mit der Platine habe ich 10 LED-Leuchten bekommen, die in B0-B7 und> D5 und D6 stecken. Außerdem habe ich noch ein Verbindungskabel zum> Computer und ein Kabel bekommen, das ich zum verbinden nutzen kann.
Und wo bite ist der Code?