INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Motorradsimulation
19.06.2020, 20:12
Beitrag #1
Motorradsimulation
Hallo Fans,
als Opa habe ich jetzt mehr Zeit für mein Hobby Elektronik und kann mich nun endlich auch mit der Programmierung von Microkontrollern beschäftigen.
Als mein erstes Projekt möchte ich eine Schaltung zur Simulation einesMotorradgeräusches mit einem ATtiny steuern.
Dazu habe ich mir einen Arduino UNO R3 besorgt und diesen als Programmer eingerichtet, sodaß ich damit den ATtiny13-20PU programmieren kann.
Bei der Erstellung des erforderlichen Sketch habe ich folgende Probleme:
Aus der Literatur/Internet habe herausgefunden, daß die PIN Angaben im Sketch nicht unbedingt mit den Angaben auf dem Arduino bzw ATtiny übereinstimmen. Muß ich im Sketch die PIN Angaben PBx für den ATtiny eventuell verwenden? Oder wie? Leider habe ich dazu keine Angaben gefunden.
Desweiteren möchte ich einen Ausgangspin für eine ganz bestimmte Zeit, etwa zwischen 20 und 800 ms auf HIGH schalten.
Zur Realisierung dieser Funktion im Programm/Sketch habe ich in der Literatur ebenfalls noch keine brauchbare Angabe gefunden.
Vielleicht kann mir da jemand weiterhelfen.
Eine Buchempfehlung wäre auch ganz hilfreich.
Vielen Dank im Voraus
ArduinoOpa
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.06.2020, 21:07
Beitrag #2
RE: Motorradsimulation
Wo in Deinem Beitrag stellst Du ein Tutorial bereit oder gibst einen Literaturhinweis?

Schau mal unter welcher Rubrik Du Deinen Beitrag gepostet hast. Wer lesen kann, ist klar im Vorteil.
Wenn Du einen Tiny programmierst, solltest Du auch dessen Pinbezeichnungen benutzen.

@Mod: Bitte verschieben.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.06.2020, 09:45
Beitrag #3
RE: Motorradsimulation
Ah, ein Leidensgenosse!
Ja, der Attiny13A ist schon lustig.

Als erstes mal, was Tommy gesagt hat. Genau das. Du gibst zu wenig Infos.
Ich weiß nämlich nicht, was du alles schon versucht hast und wo du überhaupt hängst.
Das Einzige, was ich deshalb hier vorschlagen kann ist "images.google.com" und dort "pin attiny13A" eingeben. Und das ist n bisschen dürftig.

Aber zum Zweiten lese ich heraus, dass das dein erster Attiny ist, den du da programmierst.
Vorschlag von mir wäre da, evtl. mit dem Attiny85 anzufangen, der hat eine größere Fanbase und braucht genau den gleichen Sockel.

Ansonsten:
https://blog.podkalicki.com/100-projects-on-attiny13/
Das hat mich zu vielen Schandtaten inspiriert.

In der heutigen Zeit ist gesunder Menschenverstand so etwas Ähnliches wie eine Superkraft - aber keine nützliche.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.06.2020, 15:48
Beitrag #4
RE: Motorradsimulation
Hallo,

ich versuche mal die beiden konkreten Fragen zu beantworten:

a) Pins: Es gibt tatsächlich immer zwei Bezeichnungen für die Pins: Die Arduino-Bezeichnung und die Prozessor-Bezeichnung. Z. B. die digitalen I/O-Pins 1-13: Du schreibst z. B. digitalWrite(3,HIGH) um IO-3 auf HIGH zu schalten. Bei dem Prozessor auf dem UNO (328P) muss dazu Bit 3 im Register PORTD gesetzt werden. Da findet man dann die Bezeichnung PD3. Beim MEGA müste Bit 5 in Register PORTE gesetzt werden und bei anderen Prozessoren und Boards ist das wieder anders. Mit der Auswahl eines Boards in der IDE wird automatisch auf eine entsprechende Übersetzungstabelle zugegriffen, so das Dein digitalWrite(3,HIGH) auf allen Arduino-Boards Pin 3 schaltet.

b) Pin für bestimmte Zeit setzen: Das Beispiel "Blink.ino" zeigt ein sehr einfaches Beispiel. Viel besser ist aber Blinkwithoutdelay.ino. Siehe Dir die Beispiel mal an.
(Die Beispiele sind im Arduino-Ordner.../Arduino/examples/)

Gruß
Günter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.06.2020, 16:06
Beitrag #5
RE: Motorradsimulation
Hallo Tommy und Vapalus, Eure Antworten sind nicht sehr hilfreich. Vielleicht habe ich mich nicht richtig verständlich gemacht !? (Tutorial/Pinbelegung) Ich kenne sehrwohl die Pinbelegung des ATtiny13. Doch welche Angabe gehört in den Sketch ? Pin 2 oder (PB)3, Pin 7 oder (PB)2 ? Das ist mein erstes Problem.
Ein Tutorial <für mich> wäre hilfreich, ich habe nicht geschrieben, daß ich ein Tutorial bereitstelle !
Bisher habe ich noch keinen Sketch geschrieben, ich bin noch beim Lernen, aber ich habe schon einige Vorstellungen. Und ich werde auch beim ATtiny 13 bleiben. Dafür habe ich mir ein Shield gebaut.
Mein größtes Problem ist jedoch die zeitliche Steuerung. Ein Pin/Output soll für eine genau definierte Zeit auf HIGH geschaltet werden.
Wie kann ich das im Sketch/Programm realisieren ?
Einen schnellen Erfolg suche ich auch nicht, ich habe mir schon 2 Bücher zum Thema gekauft.
Ich hoffe, daß ich hier ein wenig Hilfe erhalte !
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.06.2020, 16:41
Beitrag #6
RE: Motorradsimulation
Bevor es hier ein Missverständnis gibt:
Das war nicht böse gemeint. Da ich aber seit ner Weile mit den Dingern arbeite kann ich mir nicht vorstellen, wo es bei dir überhaupt hängt.
Fangen wir am Anfang an:
Welche IDE verwendest du (Vermutlich Arduino IDE)
Verwendest du einen MicroCore (a.k.a. Bordverwalter URL, ohne die du bestimme Befehle nicht verwenden kannst, beispiel wäre ->pinMode<- und ->digitalWrite<-, beides die Befehle, die im Sketch den Pin setzen, die Bordverwaltung muss bei Attinys extra heruntergeladen werden)
Und zu guter Letzt, wenn du nach der Pinbelegung googlest kommen da mehrere Ergebnisse, einer davon mit den Arduino Pin, die du zum Beispiel mit pinMode(2,OUTPUT) und digitalWrite(2, HIGH) auf high ziehen kannst.
Beim Attiny13A sind alle PB-Pins gleichbedeutend mit den Arduino Pins, d.H. PB2 ist Arduino Pin 2, das wäre pinMode(2, OUTPUT), das ist zum Beispiel beim 2313 nicht so.

Anders gesagt, Attinys kann man nicht einfach reinschieben und programmieren, die brauchen Vorbereitung - nicht nur bei der Hardware, sondern auch bei der Software.

Darum brauchen wir die Infos welche Tutorials und Bücher du schon gewälzt hast, bevor wir dir überhaupt helfen können.

Und spätestens bei Timern wirst du mit Interrupts und Registerschieben anfangen müssen, und ich weiß nicht, wieviel Erfahrung du da bereits gesammelt hast. Bevor wir also anfangen Interrupts durch die Gegend zu schmeißen sollte erst einmal eine LED blinken.

In der heutigen Zeit ist gesunder Menschenverstand so etwas Ähnliches wie eine Superkraft - aber keine nützliche.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.06.2020, 16:46
Beitrag #7
RE: Motorradsimulation
Wenn es Pin Nummer 2 ist, gehört die 2 in den Sketch.

Für die ersten Schritte zun Lernen der Grundlagen wäre evtl. ein Arduino UNO besser geeignet, als ein doch etwas exotischer AtTiny. Das ist aber letztendlich Deine Entscheidung. Es wird aber evtl. nur weinge geben, die mit diesem Prozessor Erfahrungen haben. Dadurch könnte die Hilfe stark eingeschränkt sein. Ich kenne ihn z.B. nicht.

Zeitsteuerungen macht man im Normalfall mit millis(). Beispiel BlinkWithoutDelay in der IDE.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.06.2020, 14:26
Beitrag #8
RE: Motorradsimulation
Hallo GuaAck und Vapalus,
Vielen Dank für eure hilfreichen Anregungen. Nachdem ich mir mehrere Sketche blinkwithoutdelay angesehen habe, weiß ich, daß meine geplante Zeitsteuerung mit der Funktion millis , wenn auch recht kompliziert, realisieren kann.
Als Programmieranfänger muß ich mich zunächst noch etwas mehr mit den Grundlagen beschäftigen.
„mit der Auswahl eines Boards in der IDE wird automatisch auf eine Übersetzungstabelle zugegriffen“
Wo finde ich diese? Wenn ich später vielleicht einen anderen ATtiny programmieren möchte.
Vapalus schrieb: Alle PB Pins des ATtiny entsprechen einem Arduino PIN z.B. PB2 ATtiny = Pin2 des Arduino.
Wenn das so ist, dann habe ich erst mal weiter kein Problem und kann nach weiterem Einarbeiten in die Grundlagen vielleicht bald mein Projekt verwirklichen.
Noch ein paar Worte zu euren Fragen:
Ich habe mir die Arduino IDE Version 1.8.12 als App auf meinen neuen selbst zusammengebauten Win10 PC geladen. Dazu sämtliche Boardverwalter für ATtiny ( ATtinyCore und DIY ATtiny).
Die Bücher Arduino Kompendium und Die elektronische Welt mit Arduino entdecken habe ich schon ein erstes Mal durchgesehen. Ein weiteres Buch zur Programmierung habe ich bestellt.
Tutorials: Im Internet habe ich die verschiedensten Seiten zum Thema eingesehen und auch einiges heruntergeladen. Z.B.: avr-asm; kollino; kreativkiste; wolles-elektronikkiste; esg-bretten; bastelnmitelektronik; netzmafia; B.Kaina; Arduino Tutorial; fundino und andere
Nochmals vielen Dank für eure Hilfe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste