Hallo, ich würde gerne mit einigen ICs auf dem Breadboard rumspielen. Hat da vielleicht jemand hier schon mal eine Liste für sich gemacht, was man so bestellen kann? Also sowas, wie ein Schieberegister, analoge und digitale Temperatursensoren, Infrarot-Sender und Empfänger und was es nicht so alles gibt... . Die vorgefertigten Boxen sind doch meist völlig überteuert. Also es muss ja keine Liste sein, aber wenn ihr ein paar Ideen habt, was ich so bestellen kann, wäre mir schon viel geholfen, da man bei so vielen Teilen, die es gibt, nicht an alles denken kann und ich auch nicht alles kenne. Und ich bräuchte auch ein paar billige ATMEGA Mikrocontroller (DIL), die bestimmt auch mal geschrottet werden meinerseits, am besten unterschiedliche. Da bin ich auch für jeden Vorschlag dankbar. Gibt es eigentlich sowas wie im Link https://www.reichelt.de/avr-schwenkhebler-nullkraftsockel-diamex-avr-sh-p305272.html?CCOUNTRY=445&LANGUAGE=de&trstct=pos_0&nbc=1&&r=1 als Platine, mit verschiedenen Größen, verschiedener Mikrocontroller (Beispielsweise DIL16, 18 oder 40) und den Anschlüssen rausgeführt und am besten eine Möglichkeit per USB die Versorgungsspannung drauf zu geben? Ist etwas schwammig formuliert, aber ich hoffe ihr versteht was ich meine. Ich glaube, ich habe so etwas auch schon mal irgendwo gesehen. Bin, wie gesagt, für jede Hilfe dankbar.
:
Bearbeitet durch User
Hi Warum es gibt? Es gibt doch PSPICE von TI, Warum willst du dich mit halbseidene Breadboards herumschlagen? MfG Spess
Spess53 .. schrieb: > Hi > > Warum es gibt? Es gibt doch PSPICE von TI, Warum willst du dich mit > halbseidene Breadboards herumschlagen? > > MfG Spess Hey, hab noch nicht davon gehört, aber ich will es halt einfach privat für mich machen, mehr als Hobby. Also es geht darum, mit verschiedenen Bauteilen und Mikrocontrollern zu experimientieren. Da geht es mir halt vor allem darum die Programmierung der Software für die Mikrocontroller zu schreiben. Habe vor einigen Tagen zum Beispiel mit einem Arduino, 8 LEDS und einem Schieberegister einen binären Zähler gebastelt, der von 0 bis 255 zählt (binär halt). Es macht einfach super viel Spaß, sowas zu programmieren und es dann auch in echt zu sehen. Der nächste Schritt wäre dann zum Beispiel mit einem Multiplexer eine (oder mehrere) 7 Segment- Anzeige(n) anzusteuern. Da ist es doch langweilig so etwas am PC zu simulieren. Die Bauteile sind doch meist auch billig, oder nicht?
:
Bearbeitet durch User
HI Hättest doch gleich sagen können das du Arduino verseucht bist. Versuchs mal im Aduino-Forum. MfG Spess
Spess53 .. schrieb: > HI > > Hättest doch gleich sagen können das du Arduino verseucht bist. > Versuchs mal im Aduino-Forum. > > MfG Spess Hi, nein, ich will auf ATMEGA programmieren mit MC Studio. Es war nur ein Beispiel, was mir Spaß macht. Ich habe doch sogar einen Post hier vor einigen Tagen, in dem mir erklärt wurde, einen XMEGA zu initiieren mit MC Studio. Ich möchte sehr gerne das gleiche, mit dem Schieberegister nochmal auf einer ATMEGA-Einheit programmieren, es geht doch nur ums lernen. Kommt meine Anfrage so falsch rüber?
:
Bearbeitet durch User
Hi
> es geht doch nur ums lernen.
Na Ja, Dann Lerne erst Mal programmieren. Früher hat man das studiert.
Jetzt glaubt der Dödel er könne programmieren.
MfG Spess
Spess53 .. schrieb: > Hi > >> es geht doch nur ums lernen. > > Na Ja, Dann Lerne erst Mal programmieren. Früher hat man das studiert. > Jetzt glaubt der Dödel er könne programmieren. > > MfG Spess Dann mache ich das, mein Lieber. Ich werde deine Tipps sowas von beherzigen und sie an die Wand hängen. Du bist so ein guter Mensch und ein Vorbild für all unsere Kinder. Mit meinen breiten Schultern bin ich ganz schön eingeschüchtert von deinen schmalen. Wir können uns ja gerne mal in echt treffen mein Lieber. Wie wäre es mit Übermorgen mit einem Ort Deiner Wahl, damit du mir endlich zeigst, wie dumm ich bin. ;)
Jürgen schrieb: > Also es muss ja keine Liste sein, aber wenn ihr ein paar Ideen habt, was > ich so bestellen kann Hallo, als ICs könnte man LM324, LM393, MCP6002, NE555 beliebige aus der CMOS 40er-Reihe siehe https://informatik.rostfrank.de/rt/lex04/cmos_liste.html da gab es entweder die vielen Zähler, die Flipflops, die Gatter, die Schieberegister oder die 7-Segment-Anzeigen-Treiber in Varianten, die D-Flipflops und das 4046-PLL-IC und die vielen addierer Man kann natürlich auch solche aus der HC Reihe oder HCT-Reihe nehmen, wenn man sie denn noch bekommt und zu moderaten Preisen versteht sich, denn das sind alles Dinosaurier als DIL. Den At90S2313 wird es nicht mehr geben, dafür eher den AT-Tiny2313 als Einstieg, später kann man dann auf die Mega-Typen mit wesentlich größerem Innenleben umsteigen, wenn man schon ohne Schwimmflügel zurecht kommt. als IR-Empfänger eignen sich die diversen TSOP-Typen, die sich in der Lichtfarbe und der Trägerfrequenz unterscheiden. Der Sender sollte die gleiche Wellenlänge möglichst haben. Wichtig sind noch die Spannungsregler z.B. 7805 und Standard-Transistoren wie BC547 und BC557 und ähnliche. Zum Spielen und Üben eignet sich auch noch der Temperatursensor DS18S20. analog KTY81 in Varianten. Widerstände in mindestens 10er-Mengen, besser 100er von 22 Ohm bis 470 kOhm, diverse Kondensatoren von 1 nf bis 220nF und Elkos von 1µF bis 470 µF, z.B. 16 V. diverse LEDs nach Belieben, mindesten 10 von jeder Farbe. Das dürfte bis Ostern an Beschäftigung reichen und wird 100€ deutlich überschreiten. mfg
Dann schau doch mal selber bei den Herstellern nach. Den ToF Sensor von STM bieten die auch selber auf einem Evalboard an. https://www.st.com/en/evaluation-tools/vl53l5cx-satel.html 23 Euro für 2 Platinen. Damit hat man einen ganzen Monat Spass. Viele andere Hersteller machen es ähnlich. Oft gibt es auch Platinen von Sparkfun o.ä die man einfach benutzen kann. https://www.sparkfun.com/ Aber dass jemand eine Liste von allem erstellt hat, daran glaube ich nicht. Und überteuert finde ich ein Accelerometer-Board LIS3DH für 6.95 $ nicht. Da ist eine Kinokarte oder ein McD Besuch teurer.
Spess53 .. schrieb: > Hättest doch gleich sagen können das du Arduino verseucht bist. > Versuchs mal im Aduino-Forum. Was bitte ist Arduino verseucht?
Jürgen schrieb: > Also es muss ja keine Liste sein https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.2 > Und ich bräuchte auch ein paar billige ATMEGA Mikrocontrolller (DIL) Da man die nur über einen iSP Dongle programmieren kann, haben sich inzwischen eher uC mit USB durchgesetzt, Arduino Nano passt ins Breadboard, es gäbe auch BluePill aber du willst ja ATMega. Jürgen schrieb: > Die vorgefertigten Boxen sind doch meist völlig überteuert. Na ja, eigentlich wäre der Weg andersrum: eine Beschreibung von vielen Experimenten, 100 oder gar 1000, mit guten Erklärungen, und dann die Liste was man dazu braucht, das ist der Weg der fertigen Experimentierkästen. Da gibt es einige mit Experimentiersteckbrettern.
Schieberegister: 74HC165 und 74HC595 A/D Wandler: MCP3208 USB-UART: MCP2221A AVR Mikrocontroller: 8 Pins: ATtiny 25, 45, 85 14 Pins: ATtiny 24, 44, 84, 441, 841 20 Pins: ATtiny 261, 461, 861 28 Pins: ATmega 48, 88, 168, 328 40 Pins: ATmega 164, 324, 644, 1284 Auf Vorrat habe ich davon nur den ATtiny85 und ein paar Arduino Nano Module. Meine regelmäßigen Vorräte an Widerständen habe ich inzwischen auf relativ wenige reduziert: 47, 100, 200, 470 Ω 1, 2.2, 4.7, 10, 22, 47, 100, 220, 470 kΩ 1 MΩ Bisher konnte ich mir alle nötigen Werte durch Kombination von 2 Widerständen herstellen. Da ich aber fast nur noch digital bastle, ist das nur selten nötig.
:
Bearbeitet durch User
Christian M. schrieb: > Was bitte ist Arduino verseucht? Ach, die meisten Arduino Basher sind einfach nur zu blöd um mit C++ zu arbeiten. Sie werden da gerade von den Arduino Jüngern überholt. Das macht Frust, welcher dann über Anfänger ausgeschüttet wird. Ein bisschen so, als wenn alternde Männer auf der Straße Kinder verprügeln, weil die eigene Potenz langsam den Bach runter geht.
Steve van de Grens schrieb: > 8 Pins: ATtiny 25, 45, 85 > 14 Pins: ATtiny 24, 44, 84, 441, 841 > 20 Pins: ATtiny 261, 461, 861 > 28 Pins: ATmega 48, 88, 168, 328 > 40 Pins: ATmega 164, 324, 644, Warum denn diesen alten Mist. Nimm von den neueren aus der DA, DB, DD oder EA Serie. Da ist alles einfacher.
> Was bitte ist Arduino verseucht? Das sind die Dummbeutel die: - LEDs ohne Vorwiderstand an ICs anschliessen - den Basisvorwiderstand einer Schaltstufe nicht ausrechnen koennen - unbenutzte IC Eingaenge einfach offen lassen - Abblockkondensatoren fuer ueberfluessig halten - OPVs mit zu wenig Spannung versorgen - an den OPV Ausgang einen Elko anschliessen, damit sie das Schwingen nicht mehr sehen - Taktsignale von einigen MHz ueber Meter mit ungeschirmten Kabeln fuehren - ihre Chinaboelleroszis nicht richtig bedienen koennen - 9 Volt Batterien fuer die einzig moegliche Energiequelle halten - das Arduino C++ Gestammel fuer gute Programmierung halten - statt Timern ihr Gestammel mit delay() anreichern - "normale" Controller nicht benutzen koennen, weil der "Bootlader" fehlt :) ... und dann auch noch denken, sie wuerden damit "irgendjemanden" ueberholen. Gut™ das es fuer PICs, DSPs und FPGAs diesen Kinderkram nicht gibt.
:
Bearbeitet durch User
Motopick schrieb: > 9 Volt Batterien fuer die einzig moegliche Energiequelle halten Und schaffen genuegend davon so zusammenzustecken bis es reicht fuer eine oneway Fahrkarte in die ewigen Jagdgruende.
:
Bearbeitet durch User
Jürgen schrieb: > nein, ich will auf ATMEGA programmieren mit MC Studio. Kannst auch Arduino Board unter diesen Bedingungen als Hardware nutzen. Da ich (ist schon länger her) ganz gerne für kleine Sachen den ATTiny10 benutze, programmiere ich erst auf einen Arduino Nano und wenn alles läuft, löte ich den programmierten ATTiny10 in die Schaltung. Hab mir eine Platine mit Zif-Sockel gebaut, zum programmieren der Tinys. Viele nehmen ATTiny85, aber da sind einige Sachen anders. Bei den ATTiny10 musst du nicht mehr viel an der Programmierung ändern. Benutze ruhig die Hardware weiter! Ist letztlich auch ein AVR, mit stabiler Hardware drum rum und lässt sich gut in ein Breadboard stecken. Musst halt nur einen Programmer anschaffen, dass du über die ISP-Schnittstelle programmieren kannst. Ein ICE ist toll, musst du aber nicht unbedingt nehmen. eHajo hat auch einen Programmer, der zumindest unter dem Atmel-Studio lief. Wie gesagt, ist schon ein bisschen her, dass ich was gemacht habe.
Arduino F. schrieb: > Sie werden da gerade von den Arduino Jüngern überholt. > Das macht Frust, welcher dann über Anfänger ausgeschüttet wird. Leider sind hier immer noch einige der Meinung, wenn du nicht mit Assembler anfängst, wirst du niemals ein echter Programmierer und wirst auch niemals Mikrocontroller verstehen. Ohne Arduino hätte ich den Kram gleich in die Ecke geworfen. Aber man kann durchaus genau andersrum anfangen. Denn wenn die Led blinkt, dann kommt das Interesse meistens von ganz allein mehr wissen zu wollen oder ein Projekt zwingt dich dazu. Natürlich kannst du, wenn du "von der Pieke auf" anfängst, das alles hinterher viel besser verstehen. Aber da ist dann noch eine ganz andere Baustelle. Der Mikrocontroller ist ja längst nicht alles. Ich hatte mit Elektronik schon beruflich zu tun und konnte Schaltpläne lesen, aber für mich war 1 Ampere damals fast kein Strom. Hier ist das schon richtig viel. Man öffnet durch den Einstieg in die Mikrocontroller eine Tür, hinter der ein ganzes Universum ist. Zumindest für Menschen die nicht schon in der Kindheit mit Elektronik angefangen haben. Damals dachte ich, dass ich schon ziemlich viel weiß, heute weiß ich, dass ich eigentlich viel zu wenig weiß. :-)
Frank O. schrieb: > Leider sind hier immer noch einige der Meinung, wenn du nicht mit > Assembler anfängst, wirst du niemals ein echter Programmierer und wirst > auch niemals Mikrocontroller verstehen. Stimmt, aber Ausnahmen bestaetigen die Regel. Die Ausnahme waere fruehzeitig noch mit Assembler hineinzuschnuppern.
Wilhelm M. schrieb: > Warum denn diesen alten Mist. Weile diese alle im DIL verfügbar sind und eine ISP Schnittstelle haben und so programmiert werden, wie in 95% aller Tutorials steht. Gerade für Anfänger ist es oft besser, gut abgehangene Bauteile zu verwenden. Zudem empfehle ich nur Bauteile, mit denen ich vertraut bin. Die DA, DB, DD oder EA Serie habe ich noch nicht verwendet. > Nimm von den neueren aus der DA, DB, DD oder EA Serie. > Da ist alles einfacher. Solange Wilhelm Frage dazu beantwortet, kann man das run.
:
Bearbeitet durch User
Steve van de Grens schrieb: > Wilhelm M. schrieb: >> Warum denn diesen alten Mist. > > Weile diese alle im DIL verfügbar sind Nimm den AVR128DA28, den gibt es auch als DIL. Oder löte einen TQFP-32 auf eine Adapterplatine, das schafft jeder Löt-Anfänger. > und eine ISP Schnittstelle haben UPDI braucht nur einen PIN, viel einfacher. > und so programmiert werden, wie in 95% aller Tutorials steht. Gibt es auch für die neuen, die so neu ja gar nicht sind, weil aus den xmega hervor gegangen. > Gerade für > Anfänger ist es oft besser, gut abgehangene Bauteile zu verwenden. An dieser Stelle: Quatsch. > Zudem empfehle ich nur Bauteile, mit denen ich vertraut bin. Die DA, DB, > DD oder EA Serie habe ich noch nicht verwendet. Dann solltest auch Du mal umsteigen. >> Nimm von den neueren aus der DA, DB, DD oder EA Serie. >> Da ist alles einfacher. > > Solange Wilhelm Frage dazu beantwortet, kann man das run. Mache ich täglich.
Motopick schrieb: > Das sind die Dummbeutel die: An dieser Aufstellung ist leider viel Wahres dran. Es ist nunmal so, daß diese Anfänger, die mit Arduino ihren Start machen, eigentlich sehr weit vorn einsteigen in die Welt der Elektronik, aber zuvor den langen und beschwerlichen Weg, auf dem man Erfahrung mit reinen Transistorschaltungen, analog ICs, Operationsverstärkern, TTL-ICs, dann CMOS ICs und so manchem umfangreichem Bauvorschlag, einfach niemals gegangen sind, weil sie nicht ganz hinten bei den einfachen Sachen und den Grundlagen eingestiegen sind. Zudem verführt die unermessliche Fülle des heutigen Internets dazu, den Überblick zu verlieren und halt "irgendwo" einzuhaken, um den Anfang zu bekommen. Ihr glaubt gar nicht, wieviele Komilitonen "damals" von praktischen Elektronikschaltungen überhaupt keine Ahnung hatten. "Damals" waren an 17-Zoll-Monitoren Internetseiten zu sehen, deren Aufbau sich in Minuten beobachten lies, da das ganze Gebäude quer durch die Stadt von nur einer einzigen vermutlich ISDN-Leitung Internetzugang hatte. Es gab aber schon bleifreies Benzin aber noch 20W50 Öl im größeren Supermarkt und die Fernseherinnen waren noch nicht flach. Und wieviele Elektronikteile und ICs sind meinen stümperhaften Anfängerversuchen geopfert worden? Die beiden UAA1003 waren nicht billig. mfg
:
Bearbeitet durch User
Frank O. schrieb: > Arduino F. schrieb: >> Sie werden da gerade von den Arduino Jüngern überholt. >> Das macht Frust, welcher dann über Anfänger ausgeschüttet wird. > > Leider sind hier immer noch einige der Meinung, wenn du nicht mit > Assembler anfängst, wirst du niemals ein echter Programmierer und wirst > auch niemals Mikrocontroller verstehen. > Ohne Arduino hätte ich den Kram gleich in die Ecke geworfen. > Aber man kann durchaus genau andersrum anfangen. Denn wenn die Led > blinkt, dann kommt das Interesse meistens von ganz allein mehr wissen zu > wollen oder ein Projekt zwingt dich dazu. > Natürlich kannst du, wenn du "von der Pieke auf" anfängst, das alles > hinterher viel besser verstehen. > Aber da ist dann noch eine ganz andere Baustelle. Der Mikrocontroller > ist ja längst nicht alles. > Ich hatte mit Elektronik schon beruflich zu tun und konnte Schaltpläne > lesen, aber für mich war 1 Ampere damals fast kein Strom. Hier ist das > schon richtig viel. > Man öffnet durch den Einstieg in die Mikrocontroller eine Tür, hinter > der ein ganzes Universum ist. Zumindest für Menschen die nicht schon in > der Kindheit mit Elektronik angefangen haben. > Damals dachte ich, dass ich schon ziemlich viel weiß, heute weiß ich, > dass ich eigentlich viel zu wenig weiß. :-) Tatsächlich habe ich die Microcontrollerprogrammierung in Assembler begonnen. Ich bin gelernter Elektroniker für Geräte und Systeme und wir haben erst Assembler programmiert, bevor wir überhaupt mit C in Konsolenfenstern angefangen haben (in der Schule). Was ich erstmal gar nicht so richtig verstanden habe, also ich habe Assembler besser als C verstanden. Leider war unser PICboard etwas beschränkt und ich habe so ziemlich alles mit einem Byte an LEDs auf diesem Board ausgeschöpft und mich seit Jahren nicht mehr damit beschäftigt und ich weiss nix mehr darüber, außer das hier noch irgendwo eine Liste mit allen Befehlen des spezifischen PICs rumliegt, und das man irgendwie die Werte immer verschieben muss und man plus und minus rechnen kann. Der Chef unserer Abteilung hat mir ein C Buch geschenkt, was mir mittlerweile etwas langweilig vorkommt, weil ich C zum grossen Teil schon kenne und ich beschäftige mich gerade mit C++, weil es mir Wilhelm M. empfohlen hat. Allerdings hat mir mein damaliger Vorgesetzter tatsächlich erklärt, dass es ihm schwer fällt in C zu programmieren, weil er zu sehr in Assembler steckt und ich war damals noch nicht so weit. Auf jedenfall schon mal danke für die ganzen Antworten. Muss erstmal alles lesen.
:
Bearbeitet durch User
Jürgen schrieb: > Der Chef unserer Abteilung hat mir ein C Buch geschenkt, was mir > mittlerweile etwas langweilig vorkommt, weil ich C zum grossen Teil > schon kenne und ich beschäftige mich gerade mit C++, weil es mir Wilhelm > M. empfohlen hat. Das stimmt so nicht. Du selbst hast gesagt, dass Du C++ kannst: Im Beitrag Beitrag "Re: LED toggeln mit ATxmega256A3BU" sagtest Du: "Und zu der Aussage möchte ich noch sagen, dass ich erst richtig gelernt habe C bzw. C++ zu nutzen, durch das Programmieren mit einem Arduino." Dort behauptest Du also, C++ zu können. Und deswegen habe ich dort in C++ geantwortet.
:
Bearbeitet durch User
> An dieser Aufstellung ist leider viel Wahres dran. Die Aufstellung liesse sich leicht weiter ergaenzen. > Es ist nunmal so, daß > diese Anfänger, die mit Arduino ihren Start machen, eigentlich sehr weit > vorn einsteigen Du verwechselst vorne und hinten. Wo "Arduino" ist, ist niemals vorn. :) Und "einsteigen" tun sie uebrigens auch nie wirklich, und so finden sie auch keinen weiteren Weg. Sie sind auf vorgefertigtes geistiges Eigentum anderer angewiesen. Mehr schaffen ihre Zellen um die Zirbeldruese herum nicht. Niemand wuerde auf den Gedanken kommen, einen Fusionsreaktor aus Legosteinen zusammenzustecken. Und mehr als Legosteine sind Arduinos eben nicht. Spess53 ist ganz sicher kein Troll. Er schreibt hier schon viele Jahr(zehnt)e fachlich gute Beitraege. Aber er ist ganz sicher, so wie andere hier auch, von dieser geistigen Bettelei genervt. "Listen" der Bauelemente, die fuer den Anfaenger empfehlenswert waere, findet sich genug. Und wenn es um Grundlagenwissen geht, sollte man Listen auf denen ein "Arduino" auftaucht, tunlichst meiden. Den braucht es fuer Grundlagen eben gar nicht. Und wenn dem TO hier 4000er CMOS empfohlen werden, zitiere ich mal aus meiner Aufstellung: > - unbenutzte IC Eingaenge einfach offen lassen Das werden bestimmt sehr "spannende" Experimente. :)
>Du verwechselst vorne und hinten. Wo "Arduino" ist, ist niemals vorn. :) Probiers mal etwas kleiner: Da wo du bist, ist niemals vorn. CERN: https://indico.cern.ch/event/1275950/
> Da wo du bist, ist niemals vorn.
Mir reicht es da zu sein wo ich bin. Wo auch immer das ist.
Manche nageln sich aus Steckbrettern ganze Computer zusammen: https://www.heiko-pruessing.de/projects/hbc65/marvin1.jpg
Motopick schrieb: > Niemand wuerde auf den Gedanken kommen, einen Fusionsreaktor aus > Legosteinen zusammenzustecken. Aber ziemlich sicher hat der Fusionsreaktorkonstrukteur im Kindesalter mit Lego konstruieren gelernt - ganz ohne Statikberechnung, Festigkeitsparameter und die örtliche Bauverordnung zu kennen.
Wilhelm M. schrieb: > Nimm von den neueren aus der DA, DB, DD oder EA Serie. Da ist alles > einfacher. Die Doku ist erheblich umfangreicher und viel schwerer zu verstehen. Viele Einheiten sind nur noch als Black-Box dargestellt, ohne das Innenleben. Das muß man sich erst umständlich aus dem Text zusammen klauben. Auch ist das Datenblatt nicht mehr vollständig, sondern man braucht immer das Usermanual. Man muß dann immer erst nachschauen, ob die Einheit im Usermanual auch wirklich in dem jeweiligen Derivat implementiert ist und in welchem Umfang.
Da kann man dann auch gleich auf STM32 oder andere ARM Controller upgraden - sofern einem die 5V nicht wichtig sind.
Peter D. schrieb: > Wilhelm M. schrieb: >> Nimm von den neueren aus der DA, DB, DD oder EA Serie. Da ist alles >> einfacher. > > Die Doku ist erheblich umfangreicher und viel schwerer zu verstehen. Finde ich überhaupt nicht. Insgesamt ist die Struktur wesentlich aufgeräumter. Der Mist ISP ist weg, man braucht keinen speziellen Programmieradapter mehr. Versorgungsspannungsbereich ist auch größer, mögliche Taktfrequenz höher. Ich mache im 8bit Bereich nichts mehr mit den alten Dingern.
Steve van de Grens schrieb: > Da kann man dann auch gleich auf STM32 oder andere ARM Controller > upgraden - sofern einem die 5V nicht wichtig sind. Die meisten IOs sind doch 5V tolerant. Und die G0xx sind doch die richtigen für Hobbyosten, auch im SOIC8. Wenn man einmal den RCC verstanden hat, ist der Rest doch easy.
Michael B. schrieb: >> Niemand wuerde auf den Gedanken kommen, einen Fusionsreaktor aus >> Legosteinen zusammenzustecken. > > Aber ziemlich sicher hat der Fusionsreaktorkonstrukteur im Kindesalter > mit Lego konstruieren gelernt - ganz ohne Statikberechnung, > Festigkeitsparameter und die örtliche Bauverordnung zu kennen. Atomkraftwerke baut man so: https://de.wikipedia.org/wiki/Weihnachten_bei_Hoppenstedts
Wilhelm M. schrieb: > Ich mache im 8bit Bereich nichts mehr mit den alten Dingern. Und der interne Taktgenerator ist ausreichend genau, Quarz meistens überflüssig.
> Aber ziemlich sicher hat der Fusionsreaktorkonstrukteur im Kindesalter > mit Lego konstruieren gelernt - ganz ohne Statikberechnung, > Festigkeitsparameter und die örtliche Bauverordnung zu kennen. Und, ist jemals dabei ein Fusionsreaktor herausgekommen? So ganz ohne Statikberechnung und Bauverordnung? Im uebrigen: Maedchen spielen mit Puppen. Jungs mit Puppenkoepfen.
Steve van de Grens schrieb: > Da kann man dann auch gleich auf STM32 oder andere ARM Controller > upgraden - sofern einem die 5V nicht wichtig sind. Heute müssen große Mikrocontroller schon 32 Bit breit sein. Aber es gibt auch kleinere Aufgaben, für kleinere Mikrocontroller. Die kann man sogar mit C programmieren, ohne ++.
Hallo Jürgen, du brauchst doch nur ICs im DIP Gehäuse die man damit direkt auf das Breadboard stecken kann. Und wenn es speziell wird und der Wunsch IC nur in SMD erhältlich ist lötet man ihn auf einen Adapter. Für Schieberegisterspielerreien nimmste zwei 74HC595 in DIP. Bsp. solche, gibts auch Einzeln in allen Formaten. https://www.ebay.de/itm/275579627518?hash=item4029d367fe:g:HBwAAOSwF91jmP1D https://www.ebay.de/itm/275970980675?hash=item404126fb43:g:WJYAAOSwKaRkw9re Achte nur darauf nicht die unnötig großen Multikulti Platinen zu erwischen die dann Steckreihen blockieren.
Peter D. schrieb: > Wilhelm M. schrieb: >> Nimm von den neueren aus der DA, DB, DD oder EA Serie. Da ist alles >> einfacher. > > Die Doku ist erheblich umfangreicher und viel schwerer zu verstehen. > Viele Einheiten sind nur noch als Black-Box dargestellt, ohne das > Innenleben. Das muß man sich erst umständlich aus dem Text zusammen > klauben. > Auch ist das Datenblatt nicht mehr vollständig, sondern man braucht > immer das Usermanual. Man muß dann immer erst nachschauen, ob die > Einheit im Usermanual auch wirklich in dem jeweiligen Derivat > implementiert ist und in welchem Umfang. Hallo Peter, also mal ehrlich, du wiederholst schon länger immer dem gleichen Mist. Da platzt mir bald der Kragen. Die Manuals sind einfacher zu lesen, eben weil aufgeräumter und mehrere benötige ich auch nicht pro Controller. Vielleicht solltest du einmal deine Sammlung aktualisieren. Die allerersten Manuals waren geteilt, ja, aber das ist schon lange Schnee von gestern. Ich weiß auch beim besten Willen nicht was du dich darüber laufend beschwerst. Vergleich doch mal die Kapitel. In den alten gehts kreuz und quer. Hier mal etwas Registererklärung da mal etwas Registererklärung. Alles übers Kapitel wild verstreut. In den neuen Manuals wird die Einheit erklärt und dann gibts die kompletten Registerübersichten mit allen drum und dran. Sogar mit Lesezeichen zum hinspringen. Ich wüßte nicht was daran schlechter sein soll. Das ist eindeutig besser. Hat man die Einheit einmal verstanden benötigt man nur die Registerübersichtstabelle. Benötigt man doch mal eine Biterklärung im Detail klickt man direkt dort rein. Absolut easy. Peter, ich schätze dich im allgemeinen, aber hier liegst du mit deiner Meinung absolut neben der Spur. Darum die klaren Worte. Und wer die Sperren aus den Manuals entfernt haben möchte jagd das Manual durch diesen Konverter, mein Liebling https://online2pdf.com/de/ Die Einstellung kann man belassen. Man sollte sie nur nicht zusammenfassen lassen falls man mehrere mit einmal bearbeiten lassen möchte.
Motopick schrieb: > "Listen" der Bauelemente, die fuer den Anfaenger empfehlenswert > waere, findet sich genug. Und wenn es um Grundlagenwissen geht, > sollte man Listen auf denen ein "Arduino" auftaucht, > tunlichst meiden. Den braucht es fuer Grundlagen eben gar nicht. > > Und wenn dem TO hier 4000er CMOS empfohlen werden, Hier gibt es was ohne Arduino und mit vielen 4000ern: https://www.youtube.com/watch?v=pvF4IiFHuBA&list=PLd91TQa8J24_cpUXZgXfyv16ZouuHnzds
Veit D. schrieb: > In den alten gehts kreuz und quer. Die neueren AVRs sind auf jeden Fall benutzerfreundlicher. Diese Kryptographie
1 | TCCR1A = (1<<COM1B1) | (1<<WGM10); |
2 | TCCR1B = (1<<WGM13) | (1<<CS11); |
brauchen sie nicht mehr.
Wilhelm M. schrieb: > Jürgen schrieb: >> Der Chef unserer Abteilung hat mir ein C Buch geschenkt, was mir >> mittlerweile etwas langweilig vorkommt, weil ich C zum grossen Teil >> schon kenne und ich beschäftige mich gerade mit C++, weil es mir Wilhelm >> M. empfohlen hat. > > Das stimmt so nicht. Du selbst hast gesagt, dass Du C++ kannst: > > Im Beitrag Beitrag "Re: LED toggeln mit ATxmega256A3BU" sagtest > Du: > > "Und zu der Aussage möchte ich noch sagen, dass ich erst richtig gelernt > habe C bzw. C++ zu nutzen, durch das Programmieren mit einem Arduino." > > Dort behauptest Du also, C++ zu können. Und deswegen habe ich dort in > C++ geantwortet. Ach, sei nicht so kleinkariert. Nachdem du deinen Quelltext gepostet hast, habe ich gemerkt, dass ich wohl doch noch nicht so viel von C++ kenne. Habe auch nach einem Buchtipp gefragt für C++ in dem Thread. Wichtig war mir in dem obigen Kommentar nur, dass du einen wichtigen Anteil daran hast, dass ich mich gerade vor allem mit C++ beschäftige. Danke dafür. Kern des Kommentars war eher zu sagen, dass Assembler zu können, wohl nicht immer nur ein Vorteil ist.
unbedingt auch mal einen Latch z.B. 74HC573 ausprobieren, damit kannst du sehr einfach I/O Ports erweitern. z.B. mal mit einem kleinem ATTiny und einen Latch ein LCD im 8 Bit Modus ansteuern. Vor allem geht die Ansteuerung viel schneller als mit Schieberegistern. Daten an einem Port anlegen an einem Pin des Latches klingeln schon hat er die Daten übernommen, jetzt schalest du seine Eingänge hochohmig und hast deinen Port wieder für andere Sachen zur Verfügung.
Georg M. schrieb: > Die neueren AVRs sind auf jeden Fall benutzerfreundlicher. > Diese Kryptographie TCCR1A = (1<<COM1B1) | (1<<WGM10); > TCCR1B = (1<<WGM13) | (1<<CS11); > brauchen sie nicht mehr. Nur, wer das nicht versteht, der hat kein Problem mit dem jeweiligen µC, sondern mit den grundlegenden Mechanismen der genutzten Programmiersprache.
Thomas O. schrieb: > unbedingt auch mal einen Latch z.B. 74HC573 ausprobieren, damit kannst > du sehr einfach I/O Ports erweitern. z.B. mal mit einem kleinem ATTiny > und einen Latch ein LCD im 8 Bit Modus ansteuern. Vor allem geht die > Ansteuerung viel schneller als mit Schieberegistern. Daten an einem Port > anlegen an einem Pin des Latches klingeln schon hat er die Daten > übernommen, jetzt schalest du seine Eingänge hochohmig und hast deinen > Port wieder für andere Sachen zur Verfügung. Die Ausgabegeschwindigkeit von Text-LCD ist natuerlich essentiell wichtig. Wie schliesse ich so einen Latch denn an einen 8 Pinner an?
Jürgen schrieb: > Habe auch nach einem Buchtipp gefragt für C++ in dem Thread. > Wichtig war mir in dem obigen Kommentar nur, dass du einen wichtigen > Anteil daran hast, dass ich mich gerade vor allem mit C++ beschäftige. Ich glaube, der Breymann wurde schon erwähnt. Ansonsten: achte dabei auf mindestens C++20 und ein Buch, in dem etwas über GUIs gefaselt wird, lasse links liegen. > Danke dafür. Gern. > Kern des Kommentars war eher zu sagen, dass Assembler zu können, wohl > nicht immer nur ein Vorteil ist. Assembler (welche CPU???) zu können ist, ist sicher ein Wert an sich. Allerdings: m.E. verleitet es zumindest den Anfänger beim Programmieren in die falsche Richtung zu denken. Denn bei streng-typisierten Sprachen ist es m.E. das wichtigste, in Datentypen zu denken (s.a. Stepanov: "Elements of Programming") und natürlich Algorithmen (keine for-Schleifen ;-)). Denn Datentypen sind das wichtigste, was uns eine "Hochsprache" geben kann. Und gerade das (Datentypen) hat man in Assembler ja nicht mehr. Also: nix gegen Assembler. Sollte man (so ungefährt wenigstens) lesen können. Aber fürs Programmieren mit einer Hochsprache hilft Dir das nix. Das andere sind Schaltnetze/Schaltwerke bzw. Automatentheorie. Das ist das wichtigste, wenn man mit µC irgendetwas anfangen möchte.
Jürgen schrieb: > Die vorgefertigten Boxen sind doch meist völlig überteuert. Finde ich auch. Tipp: Infrarot kannst du dir aus jedem(!) Gerät mit Fernbedienung einfach auslöten. Habe ich vor kurzem erst gemacht, mit einer uralten Universalfernbedienung kann ich nun bis zu 30 verschiedene "Befehle" übermitteln. Alte Navis (TomTom, Garmin) sind super Quellen für resistive Touchscreen. Wenn du dort Koordinaten für einzelne "tasten" definierst kannst du ganze Bedienoberfläche mit 4 ADC Pins gestalten. Rotary encoder gibt's manchmal in Stereoanlagen. Ansonsten sind die in jeder PC Maus zu finden. EEPROM: Fernseher, Receiver, Drucker*. *:Steppermotoren, Motortreiber, IR Lichtschranken, Temperatursensoren (NTC/PTC), RAM. TTL Fets gibt's ab und zu in Laptops oder Tablets. Auf Mainboard's allgemein finden sich auch (BIOS/Uefi) weitere Speicherbausteine. Netzteile für Optokoppler, Dioden und Leistungshalbleiter... Nur auf's breadboard würde ich auch Verzichten. Die werden leider irgendwann wackelig und was vor 5 Sekunden vor dem umstecken eines der Kabel noch ging klappt plötzlich nicht mehr. Lochrasterplatine ist mein Favorit, wenn man nicht zu sehr brutzelt kann man die auch wiederverwenden. Ist halt etwas aufwändiger.
Motopick schrieb: > Wie schliesse ich so einen Latch denn an einen 8 Pinner an? Man kann für alles Gegenbeispiele finden. Nur nützt das irgend wem?
Wilhelm M. schrieb: > achte dabei auf mindestens C++20 Du kannst es dir vielleicht nicht vorstellen, aber im echten Leben wird sehr häufig (ich vermute sogar: meistens) mit älteren Versionen der Programmiersprache gearbeitet. Nicht nur bei C++. Für das Erlernen eine Programmiersprache ist es auch nicht wichtig, dass das erste Buch gleich den gesamtem neuesten Sprachumfang enthält. Man kann das ohne Praxis sowieso nicht alles gleichzeitig erlernen. Gerade bei C/C++ ist es bisher immer so gewesen, dass neue Funktion hinzugefügt wurden, ohne die alten zu ändern. Insofern sind alte Lehrbücher zu C/C++ immer noch sinnvoll und gültig.
> Man kann für alles Gegenbeispiele finden. Nur nützt das irgend wem?
Es reicht, dem bekennenden Anfaenger, die Sinnhaftigkeit vorzufuehren.
Ansonsten bin ich grosser Freund der direkten Verwendung von Latchen,
Schieberegistern, Flip-Flops etc. als Peripherie.
Nur ein alphanumerisches LCD ist halt eing ganz schlechtes Beispiel.
P.S. Fuer LCDs habe ich sogar eine "Spezialschaltung" die nur ein Pin braucht. Und ein Schieberegister. :) Damit bleiben dann bei einem 8 Pinner sogar noch 5 Pins fuer andere sinnvolle Dinge uebrig.
Hallo Was soll eigentlich der ins persönlich gehende Hass und die Ignoranz, dass es für jeden halt verschiedene Priorität und Vorgehen gibt? Der eine will verstehen wie ein µC funktioniert, woher dieser (generell als irgendein µC) herkommt, die Geschichte bzw. die Logikgruppen bis hinunter zum Halbaddierer und AND Gatter dahinter verstehen. Für den ist, nachdem er sich mit den reinen Logikgattern und den tiefsten Grundlagen und Ideen von Speichern, Registern usw. auseinandergesetzt hat, ein wenig praktischer Assembler natürlich immer parallel, mit Blick auf dem Datenblatt (eher Datenbuch) der richtige und befriedigende Einstieg. Irgendwann (recht schnell) wird er feststellen - sehr interessant und man ist mit seinem µC bis ins Kleinste vertraut, aber der ganze Kram ist dann doch sehr anstrengend - dann schwenkt man als so trainierter und oft mehr an den µC und Elektronik als am fertigen Produkt interessierter auf C oder (C++) um. Der andere will ein schnelles und recht universelles Ergebnis haben - der nutzt halt (eventuell auch schon aus dem PC Bereich her bekannt) eine Hochsprache. Was auf "atomarer Ebene" und im Register 0815 beim Bit 7 interessiert ihn aber nicht. Und dann gibt es z.B. den Modellbahnen begeisterten, der nicht die unverschämten Preise für so manche kleine Steuerung zahlen will, aber null Ahnung von Elektronik hat und auch nie ein echtes Interesse und Begeisterung an der E-Technik und µC Programmierung an sich - böse kann man auch sagen als selbstzweck...;-) haben wird. Der googelt ein wenig und sieht, dass man mit einem Arduino Nano Clone die Sache (und vieles mehr =>"Will haben und kann "jetzt" auch bezahlen") auch für unter 5 Euro bekommen kann. Und super: Jemand anderes der es kann hat das schon erledigt, den Source code (das Arduino Script) fertiggestellt und zum kostenlosen "Download" angeboten und das auch noch mit einer guten Erklärung wie der Arduino (Hardware) und eventuell notwendige Elektronik angeschlossen wird und man als Unwissender den Code auf den Arduino "bringt" (ob das Flashen heißt oder sonst wie korrekt bezeichnet wird interessiert der Modelleisenbahn begeisterten nicht im Geringsten). All diese Vorgehensweisen, Erwartungen und "Philosophen" haben ihre Berechtigungen und niemand hat das moralische Recht (einfach wegen Respekt und eines vernünftigen Umgangs miteinander)über eine dieser Gruppen und erst recht nicht einer einzelnen Person herzuziehen und diese lächerlich zu machen. Und natürlich auch nicht über all die dazwischen liegenden Ausprägungen. Einfach nett oder zumindest neutral gegenüber "den anderen" sein... Ist das denn so schwer?
:
Bearbeitet durch User
Jürgen schrieb: > Hallo, > > ich würde gerne mit einigen ICs auf dem Breadboard rumspielen. Hat da > vielleicht jemand hier schon mal eine Liste für sich gemacht, was man so > bestellen kann? Also sowas, wie ein Schieberegister, analoge und > digitale Temperatursensoren, Infrarot-Sender und Empfänger und was es > nicht so alles gibt... Du kannst z.B. in diesen Links nach Anregungen suchen: https://www.mikrocontroller.net/articles/AVR https://www.mikrocontroller.net/articles/Standardbauelemente https://www.mikrocontroller.net/articles/AVR-Tutorial https://www.mikrocontroller.net/articles/AVR_Softwarepool http://www.avr-asm-tutorial.net/avr_de/index.html https://www.weigu.lu/tutorials/avr_assembler/index.html
˙ɟ uɐɟǝʇs schrieb: > Wilhelm M. schrieb: >> achte dabei auf mindestens C++20 > > Du kannst es dir vielleicht nicht vorstellen, aber im echten Leben wird > sehr häufig (ich vermute sogar: meistens) mit älteren Versionen der > Programmiersprache gearbeitet. Doch, das weiß ich sogar sehr gut, sogar im echten Leben für Schmerzensgeld. Du verwechselst allerdings alte Projekte mit neuen Projekten. > Nicht nur bei C++. Auch das weiß ich sehr gut. > Für das Erlernen eine Programmiersprache ist es auch nicht wichtig, dass > das erste Buch gleich den gesamtem neuesten Sprachumfang enthält. Man > kann das ohne Praxis sowieso nicht alles gleichzeitig erlernen. Das ist doch vollkommen klar und eine Selbstverständlichkeit. Was allerdings nicht selbstverständlich ist, und das ist Dir offensichtlich so gar nicht klar, ist, dass ein Buch eben das richtige an Themen enthalten muss. Und genau das ist bei bspw. C++ immens wichtig. Denn in dem sog. modernen C++ macht es überhaupt kein Sinn, mit irgendwelchen alten Zöpfen anzufangen, nur weil irgendwelche alten Code-Basen darauf aufsetzen. > Gerade bei C/C++ ist es bisher immer so gewesen, dass neue Funktion > hinzugefügt wurden, ohne die alten zu ändern. Insofern sind alte > Lehrbücher zu C/C++ immer noch sinnvoll und gültig. Und genau das ist das Problem von alten Lehrbüchern, was Du wohl immer noch nicht erkannt hast. Die Sprache hat leider das Mantra der inklusiven Abwärtskompatibilität. Das bedeutet aber nicht, dass das für einen, der die Sprache neu lernen will, auch sinnvoll ist. Nicht umsonst macht die Sprache eine Evolution durch. Der Anfänger sollte eben die alten Zöpfe zunächst nicht betrachten, sondern sich auf einfachere, moderne Aspekte konzentrieren. Und genau deswegen habe ich geschrieben, dass er ein Buch oder Kurs besuchen soll, der auf C++20 aufsetzt. Und auch keine Zusatzinfos wie GUIs odgl. enthält.
Peter G. schrieb: > Was soll eigentlich der ins persönlich gehende Hass und die Ignoranz, > dass es für jeden halt verschiedene Priorität und Vorgehen gibt? Oh, Du scheinst neu in diesem Forum zu sein, oder?
Georg M. schrieb: > Veit D. schrieb: >> In den alten gehts kreuz und quer. > > Die neueren AVRs sind auf jeden Fall benutzerfreundlicher. > Diese Kryptographie >
1 | > TCCR1A = (1<<COM1B1) | (1<<WGM10); |
2 | > TCCR1B = (1<<WGM13) | (1<<CS11); |
3 | > |
> brauchen sie nicht mehr. Ja, weil es diesen alten Timer-Typ nicht mehr gibt. Aber nun erzähl uns mal, wie Du auch bei moderneren AVRs alle Bits einigermaßen sprechend setzt, oder - schlimmer noch - einzelne Bits eines Registers modifizierst. Aber was Du schreibst ist auch nicht wirklich entscheidend, abgesehen von den kryptischen Namen für die Register bzw. Bit-Positionen. Tragisch ist es, dass Du ohne einen Compilationsfehler auch
1 | TCCR1B = (1<<COM1B1) | (1<<WGM10); |
2 | TCCR1A = (1<<WGM13) | (1<<CS11); |
schreiben kannst. Das kann man zwar in den Griff bekommen, aber die Hersteller tun das nicht, obwohl es einfach möglich wäre. Aber auch selbst kann man in C++ gut verbessern.
Die Ansteuerung eines LCDs erfordert sicher keine hohe Geschwindigkeit. Ich wollte damit nur ausdrücken das man das mit sehr wenig Programmieraufwand komplett weitere 8 Bits ausgeben kann. Also ohne erstmal in der Software das ganze womöglich in einer Schleife rauszuschieben usw. Man spart sich enorm Laufzeit gerade als Anfänger wo noch alles im"polling mode" läuft.
Jürgen schrieb: > Habe auch nach einem Buchtipp gefragt für C++ in dem Thread. Der C++ Programmierer. ISBN 978-3-446-42691-7
Frank O. schrieb: > Jürgen schrieb: >> Habe auch nach einem Buchtipp gefragt für C++ in dem Thread. > > Der C++ Programmierer. ISBN 978-3-446-42691-7 Wurde schon erwähnt ...
Wilhelm M. schrieb: > Wurde schon erwähnt ... Ups! Aber es ist so gut, da schadet mehrmals nicht. ;-)
Beitrag #7472683 wurde vom Autor gelöscht.
Beitrag #7473569 wurde vom Autor gelöscht.
Beitrag #7715018 wurde vom Autor gelöscht.
Beitrag #7715020 wurde vom Autor gelöscht.
> Habe vor einigen Tagen zum Beispiel mit einem Arduino, 8 LEDS und einem > Schieberegister einen binären Zähler gebastelt, der von 0 bis 255 zählt > (binär halt). Es macht einfach super viel Spaß, sowas zu programmieren > und es dann auch in echt zu sehen. Hallo Lese gerade deinen Text und suche ebenfalls einige ics fürs breadboard zum Experimentieren. hab mir den arduino Uno gekauft und einige breadboards... morgen sollte die Schieberegister ankommen, dann hoffe ich zu dem Ergebnis zu kommen das du bereits geschafft hast. Ich hab leider erst jetzt das Interesse daran gefunden. Aber macht Spaß. Viel Sinn hat mein Text jetzt nicht gemacht.. Grüße gehen raus.
Hallo. man musste das Programmieren noch nie studieren... man kann. Und was lernt man in der Uni was man selbst nicht lernen könnte. Und oft sind die besseren Programmierer die, die es nicht studiert haben. Jeden das seine Interesse. Grüße
Steffen W. schrieb: > morgen sollte die Schieberegister ankommen, Eventuell kannst Du dort mal spicken, welche Bausteine interessant sein könnten: https://de.elv.com/p/elv-bausatz-prototypenadapter-fuer-steckboards-pad6-cmos-logik-P155858/?itemId=155858
> Eventuell kannst Du dort mal spicken, welche Bausteine interessant sein > könnten: > https://de.elv.com/p/elv-bausatz-prototypenadapter-fuer-steckboards-pad6-cmos-logik-P155858/?itemId=155858 Hi. Für mich sind gerade alle Bauteile und Ic's interessant. Ich danke dir/ihnen vielmals. Grüße PS: Seit 3 Wochen suche ich genau diese teile.. Ich hatte diese mal gesehen, aber nicht wiedergefunden. 1k Dank
:
Bearbeitet durch User
Steffen W. schrieb: > morgen sollte die Schieberegister ankommen Für 8 LED braucht man kein Schieberegister, die passen direkt an einen Arduino. https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.2
Michael B. schrieb: > Für 8 LED ... Mit Charly-Plexing oder auch Bus-LEDs zum Beispiel, aber hier möchte der Fragende mit den Digital-IC experimentieren, so wie man mal eine alte einfache Analogendstufe mit Transistoren oder Röhren baut. Es gibt durchaus noch Digitalschaltungen mit Gattern und Schieberegistern. Zum Beispiel, wenn eine Retention Time nicht zuschlagen darf, etwas sehr einfache und sehr zuverlässige Logik braucht für die µC mit externen Watchdog-Chips oversized wären, usw.
Hallo Jürgen, ich finde es gut das du dich damit beschäftigen willst. Hier mal eine kleine Liste was ich schon verwendet habe. 74HC573 Latch kann man zum erweitern der Eingabe als auch Ausgabeports verwenden und dadurch aufs Multiplexing verzichten. Man übergibt die Daten an das Latch, schaltet die Latcheingänge wieder hochohmig und kann den Port danach wieder für andere Sachen verwenden sogar den Port dann wieder als Eingang verwenden. Sehr einfache Programmierung und es werden nur wenige Takte benötigt (Daten am Port ausgeben, Latch-Eingänge aktivieren,Daten am Latch übernehme und Latch wieder hochohmig schalten. https://www.mikrocontroller.net/attachment/106713/THEMENBLATT_PORTERWEITERUNG.PDF LM2901 4fach Komparator man stehlt dort 1-4 Schwellen ein und wenn diese über oder unterschritten werden wird ein Ausgang durchgeschaltet. Kann man z.B. verwenden wenn man keinen ADC hat so kann man Schwellwerte detektieren oder einen 2bit ADC bauen, Aussteueranzeigen(kaskadierbar), primitive Strommessung wenn man einen Shunt in die Masse einfügt und das Signal vor dem Shunt auf den Komparator gibt, so kann man 4 verschiedene Stromschwellen erkennen. z.B. Stromaufnahme zugering, normal, erhöht und zu hoch.... LM2902 4fach OP-AMP NE5532/4 Audio OP-Amp 74HC14 6fach Schmitt-Trigger Inverter, Signalaufbereitung für saubere Flanken NE555 Timer Baustein TSOP36/38.... IR demodulator wie TSOP36 oder Nachfolger, falls du mal mit einer IR-Fernbedienung am AVR etwas auslösen willst. Außerdem schau mal wie man einen I/O Pin am AVR schützt, im einfachsten Fall reicht schon ein Widerstand. Da muss man nicht immer einen AVR Schrotten ansonsten nimmt wirklich die günstigeres Tinys am Anfang die haben doch auch schon ADC, Timer...
Michael B. schrieb: > Steffen W. schrieb: >> morgen sollte die Schieberegister ankommen > > Für 8 LED braucht man kein Schieberegister, die passen direkt an einen > Arduino. > > https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.2 Ja das weiß ich... ich möchte dennoch die Schieberegister an sich testen. Schieberegister verstehe ich, komperator leider noch nicht so ganz. daher versuche ich alles einzeln. Danke und viele grüße
Jürgen schrieb: > wenn ihr ein paar Ideen habt, was > ich so bestellen kann, wäre mir schon viel geholfen Heute bastelt man ja eher mit Modulen, als mit einzelnen Mikrochips. Ab und zu muss man mal ein Signal verstärken, filtern oder invertieren, damit es zum Modul passt. Deswegen kommen auf meinen Steckbrettern (wenn überhaupt) meistens solche IC's zum Einsatz: - Operationsverstärker (TS912) - Invertierende Schmitt-Trigger (CD4584, CD40106, 74HC14) - AVR Mikrocontroller (ATtiny85, ATtiny84, ATmega328) Nachdem ich meine alten Operationsverstärker aufgebraucht habe, ist der TS912 mein neuer Standard-Typ. Leider gibt es den nur in SMD zu kaufen (obwohl das Datenblatt auch eine DIL Version zeigt), deswegen habe ich ein paar davon mit Adapter präpariert.
:
Bearbeitet durch User
Monk schrieb: > Nachdem ich meine alten Operationsverstärker aufgebraucht habe, ist der > TS912 mein neuer Standard-Typ. Leider gibt es den nur in SMD zu kaufen In DIP gibt es z.B. MCP6002 (nur bis 5 V), TLV2372, OPA2705.
Monk schrieb: > Deswegen kommen auf meinen Steckbrettern (wenn > überhaupt) meistens solche IC's zum Einsatz Auch der altgediente Herr Frings kann es nicht lassen ab und zu einen Deppenapostroph in seine Beiträge einzubauen. Bitte keine Deppenapostrophe. http://www.deppenapostroph.info
Monk schrieb: > Nachdem ich meine alten Operationsverstärker aufgebraucht habe, ist der > TS912 mein neuer Standard-Typ. Leider gibt es den nur in SMD zu kaufen Ich hatte mir vor kurzem den MCP6044 im DIL gekauft.
Christoph M. schrieb: > Ich hatte mir vor kurzem den MCP6044 im DIL gekauft. Guter Tipp! Der ist allerdings sehr langsam und rauscht stark, sollte man ggf. berücksichtigen, z.B. wenn es um Audio geht.
:
Bearbeitet durch User
Wilhelm M. schrieb: > Aber nun erzähl uns mal, wie Du auch bei moderneren AVRs alle Bits > einigermaßen sprechend setzt, oder - schlimmer noch - einzelne Bits > eines Registers modifizierst. Da gibt es tatsächlich erhebliche Fortschritte bezüglich der Lesbarkeit. Zum einen sind zunächst mal alle Bitpositionen und -Masken nach einem einheitlichen Schema vordeklariert. Alle Bitpositionen haben den Suffix _bp, die dazu gehörenden Bitmasken heißen jeweils gleich, haben aber den Suffix _bm. Das erspart schonmal diese vielen "(1<<Bitnummer)"-Konstrukte im Quelltext. Weiterhin gibt es für sehr viel Funktionalität vordefinierte Kombinationen aus Bitmasken. Die haben dann auch wieder einheitlich den Suffix _gc. Insbesondere diese Dinger machen vieles sehr viel einfacher lesbar, weil halt direkt im Symbol ein Bezug auf die gewünschte Funktionalität steckt. Das waren die Fortschritte im deklarativen Bereich. Dazu kommen dann noch die Fortschritte bei der Hardware selber, insbesondere in Form von SET- und CLR- Registern, deren Existenz es halt oft unnötig macht, mit RMW-Zugriffen und Bitmanipulationen zu hantieren, um einzelne Bits in SFIORs zu setzen bzw. zu löschen. Leider gibt es diese Art Register längst nicht überall. Für IO-Ports z.B. aber schon. Mal ein Beispiel, wie eine recht komplexe Initialisierung unter Benutzung dieser Features aussieht:
1 | PORTD.DIRCLR = 1 << 2; |
2 | PORTD.PIN2CTRL = PORT_ISC_INPUT_DISABLE_gc; |
3 | |
4 | VREF.ACREF = VREF_REFSEL_VDD_gc; |
5 | |
6 | AC0.INTCTRL = AC_INTMODE_NORMAL_BOTHEDGE_gc; |
7 | AC0.CTRLB = AC_WINSEL_DISABLED_gc; |
8 | AC0.DACREF = 0x80; |
9 | AC0.MUXCTRL = AC_INITVAL_HIGH_gc | AC_MUXPOS_AINP0_gc | AC_MUXNEG_DACREF_gc; |
10 | AC0.CTRLA = AC_POWER_PROFILE0_gc | AC_HYSMODE_SMALL_gc; |
11 | |
12 | TCB1.CTRLB = TCB_CNTMODE_CAPT_gc; |
13 | TCB1.EVCTRL = TCB_FILTER_bm | TCB_EDGE_bm | TCB_CAPTEI_bm; |
14 | TCB1.CTRLA = TCB_CASCADE_bm | TCB_CLKSEL_EVENT_gc; |
15 | |
16 | TCB0.CTRLB = TCB_CNTMODE_CAPT_gc; |
17 | TCB0.EVCTRL = TCB_FILTER_bm | TCB_EDGE_bm | TCB_CAPTEI_bm; |
18 | TCB0.CTRLA = TCB_CLKSEL_DIV1_gc; |
19 | |
20 | EVSYS.CHANNEL0 = EVSYS_CHANNEL0_TCB0_OVF_gc; |
21 | EVSYS.USERTCB1COUNT = EVSYS_USER_CHANNEL0_gc; |
22 | EVSYS.CHANNEL1 = EVSYS_CHANNEL1_AC0_OUT_gc; |
23 | EVSYS.USERTCB0CAPT = EVSYS_USER_CHANNEL1_gc; |
24 | EVSYS.USERTCB1CAPT = EVSYS_USER_CHANNEL1_gc; |
Wenn du Langeweile hast, kannst du dasselbe ja mal auf die "klassische" Art vollständig aus einzelnen Bits zusammenfiddeln und dann beide Fassungen einem neutralen Beobachter mit der Aufgabe vorlegen, daraus zu extrahieren, welche Funktion hier wohl initialisiert werden soll. Wohlgemerkt: es geht dabei nicht um Details, sondern er soll nur erst mal grob herausfinden, was hier die Intention ist.
Hi Jürgen Ich hab mal kurz die Antworten überflogen, na ja... Aber ich hab auch einen Tip für dich. Vor ein paar Jahren habe ich in dem Forum Makerconnect.de ein Buch veröffentlicht. Der Link sollte noch funktionieren https://www.makerconnect.de/media/user/oldmax/PC%20und%20Mikrocontroller%20Teil%201%20und%202%20Stand%2026.07.2019.pdf Einen Hinweis habe ich erhalten, allerdings nicht geprüft Bei den beiden Schaltungen auf den Seiten 593/594 ist der Transistortyp (BC328 (PNP) / BC338 (NPN)) vertauscht. Bei der ersten Schaltung sind außerdem noch die Bezeichnungen PNP / NPN vertauscht. Ok, das Buch ist entstanden, als ich mit Atmegas gearbeitet habe und nicht immer wusste, ob die Daten richtig bearbeitet werden. Daher habe ich mir einen Monitor geschrieben, der mir die Daten zur Laufzeit des Controllers visualisierte. Letztendlich fand ich es eine gute Idee, diese Programmentwicklung in VisualBasic sowie einige Experimente in Assembler für den Controller aufzuschreiben und zu veröffentlichen. Ist sehr umfangreich, aber nicht allzu kompliziert. Hoffe ich. Da steht auch drin, was du so an Material für Experimente benötigst. Klar kannst du auch diskrete Bauteile nehmen NAND, NOR, AND, FlipFlops und alles was es so gibt auf dem Breadboard verschalten, aber günstiger ist es, mit einem Controller zu arbeiten und wenn du mit Assembler programmierst, erkennst du auch, wie Logik funktioniert. Ok, diese Aussage ist nicht ganz korrekt und kann man drüber streiten, aber das ist ja auch nicht das Thema. Das Buch ist kostenlos, also schau mal rein. Vielleicht kannst du ja was davon gebrauchen. Gruß oldmax
Martin V. (oldmax) >Ok, das Buch ist entstanden, als ich mit Atmegas gearbeitet habe und >nicht immer wusste, ob die Daten richtig bearbeitet werden. Daher habe >ich mir einen Monitor geschrieben, der mir die Daten zur Laufzeit des >Controllers visualisierte. Das gute, alte Basic .. die Technik schreitet unaufhaltsam voran und heutzutage würde man vielleicht eher Micro-Python nehmen: https://www.coderdojotc.org/micropython/robots/02-base-bot/ https://randomnerdtutorials.com/projects-esp32-esp8266-micropython/
Ob S. schrieb: > Mal ein Beispiel, Wie man es möglichst unlesbar macht ? So wäre es lesbar;
1 | TCB1.EVCTRL.Filter = true; |
2 | TCB1.EVCTRL.Edge = RISING; |
3 | TCB1.EVCTRL.CAPTEI = true; |
oder sogar ohne Brucksichtigung welches Register:
1 | TCB1.EventFilter = true; |
2 | TCB1.EventEdge = RISING; |
3 | TCB1.EventCaptureEI = true; |
Weil man einfach mal ein unsigned long bitset für TCB1 verwendet und nicht den Scheiss kreuz und quer im Adressraum verteilt.
Michael B. schrieb: > So wäre es lesbar; >
1 | > TCB1.EVCTRL.Filter = true; |
2 | > TCB1.EVCTRL.Edge = RISING; |
3 | > TCB1.EVCTRL.CAPTEI = true; |
4 | >
|
5 | >
|
> oder sogar ohne Brucksichtigung welches Register: >
1 | > TCB1.EventFilter = true; |
2 | > TCB1.EventEdge = RISING; |
3 | > TCB1.EventCaptureEI = true; |
4 | >
|
> Weil man einfach mal ein unsigned long bitset für TCB1 verwendet und > nicht den Scheiss kreuz und quer im Adressraum verteilt. Hauptsache mal dumm rumgelabert. Effektiv erzeugen alle drei Varianten (meine eine und deine beiden) natürlich keinen "unsigned long bitset" (was immer das sein soll), sondern einen stinknormalen 8Bit breiten Schreibzugriff. Es könnte allenfalls noch dadurch ein Unterschied rauskommen, ob dabei die Adressierungsart direkt oder indirekt mit Offset verwendet wird. Das kommt darauf an, ob nur ein Zugriff auf ein Register oder mehrere, nah beieinander liegende erfolgt. Je mehr nah beieinander liegende Register am Stück angesprochen werden, desto wahrscheinlicher wird der Compiler statt direkt lieber indirekt mit Offset verwenden und den Overhead des Ladens eines Indexregisters in Kauf nehmen (würde ich in Assembler auch so machen). Was du Nixwisser wahrscheinlich meinst, ist, dass auf der Ebene, die du siehst und scheinbar ausschließlich begreifst, u.U. mehrere Zugriffe auf aufeinander folgende 8Bit-Register irgendwie zu einem "unsigned long-Schreibzugriff" verwurstet werden. Das ist aber natürlich reine Makulatur ohne jeden Sinn und Verstand. Auf der Ebene der Maschine muss das dann nämlich doch wieder in vier einzelne Byte-Zugriffe aufgelöst werden. Wir haben es hier schließlich mit einer 8Bit-Maschine zu tun, die 32Bit-Zugriffe schlicht und einfach überhaupt nicht kann. Da kann auch das ganze aufgeblähte C++-Gedöhns rein garnix dran ändern. Da kannst du dich auf den Kopf stellen, heftig mit den kleinen Füsschen aufstampfen und blau anlaufen. Isso. Und wird so bleiben.
Hi Christoph M. schrieb: > Das gute, alte Basic .. die Technik schreitet unaufhaltsam voran und > heutzutage würde man vielleicht eher Micro-Python nehmen: Ach Gott, ja. Das ich mir erlaubt habe, das Thema mit Basic aufzublähen... sowas aber auch. Warum nicht Delphi (Pascal) oder weils umsonst ist, Lazarus. Ich hab damals VB gewählt, weil es alle Komponenten hatte, die für eine Kommunikation mit einer Windows Application kostenlos verfügbar war. (Abgesehen von Lazarus). Leider ist in VB die serielle Schnittstelle in den zur Zeit verfügbaren Versionen nicht mehr vorhanden, daher schreibe ich meine Anwendungen in Lazarus. Aber egal welche Programmiersprache genutzt wird, man muss wissen, wie man ein Programm aufbaut. Einen Sprachsyntax zu lernen ist Fleißarbeit, um programmieren zu können erfordert es etwas Talent. Klar, kann man auch lernen, kenne genug Software von entsprechenden Programmierern, die auch der Meinung waren, nur Studierte können das. Aber da steht mir kein Urteil zu und es ist mir auch egal, letztendlich. Mit diesem Buch wollte ich Anfängern, die genug Interesse mitbringen, hartnäckig an einem Programm zu arbeiten, ein wenig zu zeigen, wie sich ein Programm aufbaut und wenn modular gestaltet, Erweiterungen relativ leicht einpflegen lässt. Sozusagen eine Einsteigerhilfe. Perfekt wird man ja erst durch Praxis. Übrigens, gibt es in Micro-Python eigentlich auch eine Anleitung zu einem umfangreichen Datenbankprogramm, welches die Visualisierung von Controllervariablen zur Laufzeit liefert, Einzelne Variablen markieren kann und mit Hilfe eines Triggers gezielt einen Zustand zu einem Zeitpunkt liefert? Darüber hinaus die Möglichkeit bietet, Bauteile, Zeichnungen, Schaltungen und Bilder zu Projekten zuordnen kann? Ok, es darf auch etwas weniger sein, vielleicht die Datenerfassung von Temperaturen und Energieverbräuchen durch einen µC mit einer Visualisierung. Da wär ich mal gespannt, ob das schon jemand mal veröffentlicht hat. Für lau natürlich. Nur um anderen beim Einstieg zu helfen. Auf den Link bin ich mal gespannt. Gruß oldmax
:
Bearbeitet durch User
Martin V. (oldmax) 12.08.2024 15:19 >Ich hab damals VB gewählt, weil es alle >Komponenten hatte, die für eine Kommunikation mit einer Windows >Application kostenlos verfügbar war. Basic ist out, heute is Python. Die Technik ändert sich nun einmal und insbesondere die Informatik. Als Auswahlkriterium einer Programmiersprache kann auch die Anzahl der Programmierer dienen, die sie können. Die sind es, welche das zukünftige Wartungspersonal eines Softwarepakets darstellen. Pascal (Delphi, Lazarus) sind hier nur eine Nische. https://www.heise.de/news/C-waechst-2023-am-staerksten-Tiobe-Index-kuert-die-Sieger-des-Jahres-9591269.html
Christoph M. schrieb: > Basic ist out, heute is Python. Martin, geh da gar nicht drauf ein. Du musst ihn nicht zufrieden stellen (Perlen vor die ...)
:
Bearbeitet durch User
Hi Sorry, hier geht es nicht um Programmiersprachen, sondern darum, das Jürgen mit ICs, bzw. Bauteilen arbeiten möchte. Mein Beitrag diente zwar wieder der Richtung µC, aber nur, weil mein Buch auch auf ein paar wenige Bauteile Bezug nimmt. Mir ist es völlig egal, mit welcher Sprache Ziele erreicht bzw. Projekte umgesetzt werden. Jeder soll das nehmen, welches ihm Erfolg verspricht. Und wenn man sich in einer Nische bewegt, was solls, Künstler findet man nicht in den Massen sondern in den Individuen. Aber behaltet euren Glauben an schnell wechselnde Sprachen, Python ist morgen vermutlich schon wieder überholt.... Wer programmieren kann, der fragt nicht, welche Sprache muss ich einsetzen, sondern fragt, was ist geeignet, mein Problem zu lösen. Aber wie lernt man das Programmieren? Ja, ein bisschen Ausbildung und ein bisschen mehr Talent sind notwendig, um zum Ziel zu kommen. Dazu ein kleines Beispiel: Eine Software erwartet ein Login mit Anwender und Passwort. Hat der Bediener nach der Eingabe des Anwendernamens die Eingabe mit ENTER abgeschlossen, wurde das Programm beendet, da kein Passwort eingegeben wurde. Die Aussage des Herstellers: Das ist in Windows so. Falsch, hätte man die Eingabe von ENTER abgefangen und zu einem TAB geändert, wäre das Problem gelöst. Völlig ohne Aufwand. Aber das hätte dem Programmierer von seinem Schulwissen zu seinem Talent führen müssen und das ist, so meine Erfahrung, für einige unmöglich. Also diskutiert nicht mit mir über Sprachen, ich bin 73, da werde ich nicht umschwenken. es sei denn, eines meiner Projekte erfordert es. Und dann setze ich ein. was ich für richtig halte. Jürgen kann ich empfehlen, ja, bastel mit ein paar Bauteilen, aber achte darauf, das du dich nicht verirrst. Schau hin, was du brauchst, um el. Signale von Sensoren für Controller aufzuarbeiten, Controllersignale für Relais und andere Aktoren zu verstärken. Alles andere kann der Controller für dich lösen und das ist genauso spannend wie bspw. der diskrete Aufbau einer Digitaluhr. Auch wenn Einige laut aufschreien, Assembler ist fast so wie Verdrahten einer Schaltung. Du lernst sehr viel über das Innere eines Controllers und wie er funktioniert. Und um Spaghetticode zu vermeiden, muss man lernen Modular vorzugehen. Das habe ich in dem Buch versucht zu erklären und nein, man muss nicht das ganze Buch lesen, sondern nimmt nur die Abschnitte, die man braucht. Ok, sollte reichen Gruß oldmax
Michael B. schrieb: > Weil man einfach mal ein unsigned long bitset für TCB1 verwendet und > nicht den Scheiss kreuz und quer im Adressraum verteilt. Michael, so sehr ich deine Beiträge schätze, aber für den, der das als Hobby betreibt, da soll sich nach Möglichkeit der Compiler drum kümmern, wo das Zeug landet. Stelle dir vor, dass du dir in deiner Freizeit ein Auto bauen möchtest. Irgendein cooles Teil. Du hast noch nie geschweißt (könnte man mit dem Programmieren vergleichen) und jetzt fängst du an. Erstmal wärst du froh, wenn du dir nicht einen Motorblock gießen musst, auch die Felgen und viele andere Teile gibt es fertig (wären die Libraries von Arduino). Wenn du dich schon bei den ersten Schweißübungen schwer getan hast, würdest du nicht auch zu einem Schweißgerät greifen, dass alles selbst einstellen kann? Das soll die Software für Leute wie mich und für viele Anfänger machen. Im Übrigen, selbst wenn du Räder, Motor, Getriebe und eine Menge mehr fertig genommen hast, so ist es am Ende trotzdem dein ganz individuelles Auto. Du kannst an den Kennfeldern arbeiten, vielleicht leichtere Kolben nehmen. Selbst den Auspuff verlegst du nach oben, denn du hast ja dieses tolle Schweißgerät. Genau das manchen die Arduino Programmierer. Der letzte Absatz ist nicht unbedingt für Michael bestimmt, sondern für alle die, die geringschätzig auf Arduino herunter schauen. Sicher steht bei vielen von den ein Auto, welches sie weder gebaut haben noch aus Einzelteilen zusammensetzen könnten.
:
Bearbeitet durch User
Martin V. schrieb: > Leider ist > in VB die serielle Schnittstelle in den zur Zeit verfügbaren Versionen > nicht mehr vorhanden Das ist doch kompletter Blödsinn. VB.net hatte bereits in der allerersten Version mit .Net 1.1 (VS2003) den SerialPort im Lieferumfang. Der steckt schlicht im .Net-Framework selber. Und daran hat sich bis heute nichts geändert.
Hi Ob S. schrieb: > Das ist doch kompletter Blödsinn. VB.net hatte bereits in der > allerersten Version mit .Net 1.1 (VS2003) den SerialPort im > Lieferumfang. Der steckt schlicht im .Net-Framework selber. Ok, danke für den Tip. Ist doch wahnsinnig nett, das so ein Experte gleich die ganze Historie einer Programmiersprache parat hat und natürlich aufgrund seines umfangreichen Wissens andere Beiträge als kompletten Blödsinn bezeichnen kann. Respekt! Für meine privaten Spielereien habe ich mir Visual Studio 2022 in einen neuen Rechner geladen. Wie so oft, auch das falsche Projekt geöffnet, eben nur Windows-Forms-App. Da war dann kein SerialPort. Grad ausprobiert und kontrolliert. Mit einer Windows-Forms-App (.Net Framework) ist SerialPort vorhanden. OK, kann passieren. Das ganze ist zwar hier etwas unpassend in dieser Diskussion, aber vielleicht ist auch ein anderer darauf reingefallen. Mir hat es nicht geschadet, weil ich dann doch mal wieder den Schritt zu Lazarus gegangen bin und damit meine Anwendung geschrieben habe. Gruß oldmax
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.