Mir ist aufgefallen, dass wenn ich das I2C-Display anspreche, andere Funktionen gestört sind. Das betrifft u.A. den Sinusgererator (für den 25Hz Pilotton). Ich musste das für die Unterspannungsanzeige mit einer if-else-millis()-Orgie lösen, die das Display wirklich nur einmal anspricht wenn die Unterspannung da ist oder eben nicht. Das stört nicht weiter, da die Anzeige Unterspannung nur im Fehlerfall auftritt und für eine Periode den Pilotton verbeult. Wenn ich mir den Audiopegel als Zahlenwert darstellen lassen will, bekomme ich aber ein Problem, weil dieser Wert sich ja häufig ändert. wie löst man das? Der Sketch ist dort hochgeladen: Beitrag "<rotary.h> mit bool "ein" und Ausschalten." LG old.
:
Gesperrt durch Moderator
Aus der W. schrieb: > wie löst man das? Indem mal mal guckt, wie die I²C-Library funktioniert: Ist si polling- oder interrrupt gesteuert? Ansonsten muss man sich sowas halt selber bauen. Arduino bedeutet nicht, dass die Funktionen optimal gebaut sind, sondern, dass sie akzeptabel funktionieren. Da kann es auch passieren, dass sie blockierend arbeiten.
Mehr als 2 mal die Sekunde braucht man kein Display updaten. Schneller liest kein Mensch. Ansonsten sollte man statt millis() lieber etwas vernüntfiges nehmen und gleich auf ein Echtzeitsystem wechseln (FreeRtos). Oder sich zumindest mit Interrupts anfreunden. Vielleicht sollte man sich auch im Voraus die Anforderungen klarmachen, bevor man anfängt auf einem kleinen Arduino zu prokeln.
Wenn Deine I2C-Library blockierend arbeitet dann musst Du dafür sorgen daß es die niedrigste Priorität bekommt, sprich alles andere was kritisch vom Timing ist muß in einen Interrupt. Dann kann I2C (und anderes unkritische Zeug) in der main loop herumtrödeln so sehr es will.
Gibt es denn für mich die Möglichkeit zumindest den 25Hz Sinus aus der Blockade rauszunehmen? LG old.
PittyJ schrieb: > Mehr als 2 mal die Sekunde braucht man kein Display updaten. Schneller > liest kein Mensch. Das ist doch wohl ein schwaches Argument. Guck dir mal an, wie das Spektrum eines 25Hz Pilottones aussieht, wenn er "nur" 2 mal in der Sekunde verunstaltet wird.
Bernd K. schrieb: > sprich alles andere was > kritisch vom Timing ist muß in einen Interrupt. Mal davon abgesehen, dass ich dazu nicht fähig bin … Der 25Hz Sinus muss ja ständig da sein und es würde nichts anderes mehr funktionieren. LG old.
Bernd K. schrieb: > Wenn Deine I2C-Library blockierend arbeitet dann musst Du dafür sorgen > daß es die niedrigste Priorität bekommt Das sagst du einem Arduino-User der es nicht mal schafft seine Code Kreation übersichtlich zu formatieren? Wie soll er mit deinen vagen Tips die Auslastung seines Arduinos auf die Reihe bringen?
OMG schrieb: > Das sagst du einem Arduino-User der es nicht mal schafft seine > Code Kreation übersichtlich zu formatieren? > > Wie soll er mit deinen vagen Tips die Auslastung seines Arduinos > auf die Reihe bringen? Eben. Ist ein Luxusproblem, die Pegelanzeige im Display ist nicht wirklich nötig. Für mich ist der Code übrigens so übersichtlich. Der Journalstreifenstiel a la Registrierkasse von stefanus ist gut gemeint aber nicht so meins. Ich werde sowieso die LM13700 für die ALC über einen PWM-Pin steuern. (Anders kann ich das gar nicht. Das Glück ist mit die Dummen.) LG old.
Aus der W. schrieb: > Mal davon abgesehen, dass ich dazu nicht fähig bin … > Der 25Hz Sinus muss ja ständig da sein und es würde > nichts anderes mehr funktionieren. Dann pack die Erzeugung des Sinus in einen Timer-Interrupt. Wie machst Du das überhaupt? DDS mit Lookuptabelle und ADC? Tu das in nen Timer-Interrupt und fertig!
Aus der W. schrieb: > Der 25Hz Sinus muss ja ständig da sein und es würde > nichts anderes mehr funktionieren. Hier siehst du ein Beispiel, wie du dich an den Timer0-Interrupt, der auch für millis() den Takt bereit stellt, einklinken kannst. https://learn.adafruit.com/multi-tasking-the-arduino-part-2/timers Dann kannst du im 1ms Takt einen Software DDS-Generator für die 25Hz-Ausgabe aktualisieren.
Aus der W. schrieb: > Mir ist aufgefallen, dass wenn ich das I2C-Display anspreche, > andere Funktionen gestört sind. > Das betrifft u.A. den Sinusgererator (für den 25Hz Pilotton). Das passiert eben, wenn man alles in der Mainloop hintereinander klatscht und keine Interrupts verwendet. Packe den Sinus einfach in einen Timerinterrupt, dazu sind Interrupts ja da.
Aus der W. schrieb: > Mir ist aufgefallen, dass wenn ich das I2C-Display anspreche, > andere Funktionen gestört sind. Dann solltest du I2C-LCD-Lib ankucken, warum das passiert. Somit lernst du auch etwas. Das erleichtert dir die Zukunft. Es könnte auch Problem mit der Schaltung sein: z.B. Lib wartet auf Busy, aber Pin R/~W ist fest an GND und somit kein Lesen aus LCD überhaupt möglich. Dann wartet Lib so lange, bis irgendein Mechanismus für Fehlerbehandlung die Versuche zu lesen umgeht. Selbstverständlich macht Mikrocontroller während diesen Leseversuchen nichts anderes und somit ist das Programm blockiert.
:
Bearbeitet durch User
Maxim B. schrieb: > Somit lernst > du auch etwas. Das lerne ich nicht mehr und mir fehlt auch das Talent dazu. Entweder bekomme ich Hilfe oder eben nicht. Was ich noch nicht getestet habe ist, ob der Rotaty mit seinen Interrupts, bei parallelem Display, mir auch den Sinus plattmacht. LG old.
Aus der W. schrieb: > Das lerne ich nicht mehr und mir fehlt auch das Talent dazu. > Entweder bekomme ich Hilfe oder eben nicht. Falls ich den Thread "richtig" gelesen habe: Dir wurde gesagt, woran es liegt, und was zu tun ist. Der Ball ist jetzt bei dir.
Aus der W. schrieb: > Maxim B. schrieb: >> Somit lernst >> du auch etwas. > > Das lerne ich nicht mehr und mir fehlt auch das Talent dazu. Warum beschäftigst Du Dich dann überhaupt mit solchen extrem speziellen Tätigkeiten wie µC-Programmierung die nun wirklich normalerweise nur von Leuten ausgeübt werden die da irgend nen inneren Drang oder Interesse für die Materie haben? Das ist ungefähr so als ob Du sagst Du möchtest gerne Deiner Verwandtschaft was auf dem Klavier vorspielem aber Du hast keine Lust es zu lernen und auch kein Talent dazu. Ja WTF, warum denn dann??? Warum nicht was anderes stattdessen, etwas was Dich auch interessiert? > Entweder bekomme ich Hilfe oder eben nicht. Die hast Du bekommen. Viele Stichworte zum Googeln und konkrete Vorschläge.
Bernd K. schrieb: > Warum beschäftigst Du Dich dann überhaupt mit solchen extrem speziellen > Tätigkeiten wie µC-Programmierung Vermutlich wurde er von einem Arduino Vermarkter dazu gebracht. Die erzählen ja der ganzen Welt, dass die Programmierung ganz einfach ist und dass man eigentlich gar keine Fachkräfte mehr braucht, weil das jede Putzfrau kann.
Was zu tun ist, habe ich getan. Die Unterspannungsanzeige funktioniert. Für die Audiopegelanzeige habe ich LEDs, die definitiv besser sind als eine sich ändernde Zahl auf einem trägen Display. Jedenfalls weiß ich jetzt weshalb ich mir für die Unterspannungsanzeige einen Abbrechen musste. Auch die Lautstärkeeinstellung mit dem Rotary werde ich nicht ausführen, weil ich eine ALC dafür "programmiere". Natürlich ohne I2C, Interrupt und wie immer in der void loop. Und jetzt wird erstmal nur noch gelötet ... LG old.
Bernd K. schrieb: > Warum beschäftigst Du Dich dann überhaupt mit solchen extrem speziellen > Tätigkeiten wie µC-Programmierung die nun wirklich normalerweise nur von > Leuten ausgeübt werden die da irgend nen inneren Drang oder Interesse > für die Materie haben? Das was ich mit dem Arduino machen kann ist schon weit mehr als ich mir je erträumt habe. > Das ist ungefähr so als ob Du sagst Du möchtest > gerne Deiner Verwandtschaft was auf dem Klavier vorspielem aber Du hast > keine Lust es zu lernen und auch kein Talent dazu. Ja WTF, warum denn > dann??? Warum nicht was anderes stattdessen, etwas was Dich auch > interessiert? Was wollt Ihr denn? Ihr baut doch vorgekochte Analogschaltungen an den Prozessor ohne zu verstehen wie die Analogschaltung arbeitet? Da kommt doch auch keiner und sagt, Du darfst das nicht. LG old.
Aus der W. schrieb: > Das was ich mit dem Arduino machen kann ist schon weit mehr als > ich mir je erträumt habe. Da dann ist ja alles in Ordnung. Hier bist du an die Grenzen gestoßen. Ist nicht weiter schlimm.
Aus der W. schrieb: > Was wollt Ihr denn? Ihr baut doch vorgekochte Analogschaltungen > an den Prozessor ohne zu verstehen wie die Analogschaltung > arbeitet? Da kommt doch auch keiner und sagt, Du darfst das > nicht. Du musst nicht von Dir auf andere schließen. Viele haben die Elektronik von der Pike an gelernt. Ich spreche hier von einer vollständigen Ausbildung oder ein Studium.
Aus der W. schrieb: > Das lerne ich nicht mehr und mir fehlt auch das Talent dazu. Das ist nicht schlimm: jemand sollte auch Straßen putzen. Wenn alle Akademiker wären, wer sollte das tun?
Christian H. schrieb: > Du musst nicht von Dir auf andere schließen. Viele haben die Elektronik > von der Pike an gelernt. Ich spreche hier von einer vollständigen > Ausbildung oder ein Studium. Und? Bis vor kurzem konntet Ihr weder mit einem XOR eine Frequenz verdoppeln, noch danach einen Sinus formen. Also mal den Ball flach halten. Beitrag "Frequenzverdoppeln 74XXX Gatter ?" Beitrag "Wie aus Rechteck im Bereich von 100KHz bis 2MHz Sinus machen (5V)." LG old.
Aus der W. schrieb: > Und? Bis vor kurzem konntet Ihr weder mit einem XOR eine > Frequenz verdoppeln, noch danach einen Sinus formen. > Also mal den Ball flach halten. "Ihr" gleich alle? Was soll diese Verallgemeinerung?
Christian H. schrieb: > "Ihr" gleich alle? Ja, auch Du bist gemeint. Hattest zwei Jahre Zeit eine Lösung zu finden. Und auch der Fehler in der Zeichnung vom selbsternannten Elektronikkompendium hält sich wacker. Mit falschem Grundwissen kommt man halt nicht drauf. LG old.
Aus der W. schrieb: > Hattest zwei Jahre Zeit eine Lösung zu finden. Ich wünsche Dir viel Spaß, Dein Problem selber zu lösen.
Lesen und Verstehen tust Du nicht. Von der Pike an. Beitrag "Re: I2C "blockiert" Arduino" Leere Worte, nichts dahinter. Wie so oft.
Aus der W. schrieb: > Auch die Lautstärkeeinstellung mit dem Rotary Um auszuschließen, dass der Rotary mit seinen Interrupts den Arduino blockiert, habe ich die Displayansteuerung deaktiviert. Bild. Die Frequenz lässt sich verstellen, der 25Hz Pilot bleibt davon unbeeindruckt. Es liegt also ausschließlich an der <LiquidCrystal_I2C.h>. Ich werde nach Alternativen dafür suchen und sie testen. LG old.
Aus der W. schrieb: > Ich werde nach Alternativen dafür suchen und sie testen. Die Alternative lautet: Die Erzeugung der 25Hz muss offensichtlich anders implementiert werden da sie in der jetzigen Form unzuverlässig ist. Es hat absolut nichts mit I2C zu tun, Du hast falsche Vorstellungen davon wie das normalerweise funktionieren und zusammenspielem muss, deshalb kommst Du zu falschen Diagnosen. Es ist die 25Hz-Erzeugung die hier offensichtlich falsch implementiert ist. __ PS: Der Code im anderen Thread auf den Du verweist ist ein vollkommen unleserlicher Müllhaufen, Du könntest den zumindestens mal halbwegs anständig formatieren und einrücken und nen einheitlichen Klammerstil anwenden damit man ihn überhaupt ansatzweise lesen kann wenn Du mit uns darüber diskutieren möchtest. Es zeugt von einer unaussprechlichen Fehleinstellung wenn Du glaubst Du kannst so einen unleserlich hingerotzten Müllhaufen ins Forum rotzen um es allen potentiellen Helfern extra schwer zu machen weil sie ertmal knietief durch den Müll waten müssen um irgendwas darin zu sehen und dann dennoch zu erwarten prompt geholfen zu bekommen! Es ist fast so als ob Du bevor Du Deine Schuhe zum Reparieren der Absätze zum Schuhmacher bringst vorher nochmal durch 20cm tiefen Schlamm und Matsch und anderen Dreck gestiefelt wärst und sie dann direkt in dem massiv verdreckten Zustand dort auf den Ladentisch knallst daß der Dreck 2 Meter weit in alle Richtungen fliegt anstatt vorher wenigstens mal kurz wenigstens den gröbsten Dreck zu entfernen, es würde schon reichen sie vor der Tür nochmal kurz ordentlich abzuklopfen, nicht mal das hast Du gemacht! Also mach das gefälligst, mach das wenigstens halbwegs grob sauber bevor Du das hier vorlegst! Das ist eine Unhöflichkeit sondersgleichen! Was ist falsch gelaufen mit euch Arduino-Typen daß ihr alle so unterwegs seid, daß ihr selbst so grundlegende Dinge nicht merkt? Wenn es aber so ist daß Du gar keine Hilfe willst dann hör auf Deine Selbstgespräche hier zu posten!
:
Bearbeitet durch User
Bernd K. schrieb: > Die Alternative lautet: Die Erzeugung der 25Hz muss offensichtlich > anders implementiert werden Nö, dass betrifft auch andere Funktionen die der Prozessor ausführen muss. Komisch, dass die Putzfrau das dem Programmierer erst schreiben muss. Bernd K. schrieb: > wenn Du glaubst Du kannst so einen unleserlich > hingerotzten Müllhaufen ins Forum rotzen um es allen potentiellen > Helfern extra schwer zu machen weil sie ertmal knietief durch den Müll > waten müssen um irgendwas darin zu sehen und dann dennoch zu erwarten > prompt geholfen zu bekommen! Du erkennst weder das Problem noch die Folgen und hast keine Lösung. Da wirft der Programmierer halt Nebelkerzen. Übrigens hat User stefanus hat den Sketch doch für Euch mundgerecht bearbeitet. Also meckere nicht rum! Die Lösung der Putzfrau das Display nur dann anzusprechen wenn nötig, hat das Problem gelöst. Mag sein, dass es bessere Alternativen gibt. Die Putzfrau meistert das Ding auch so. Bernd K. schrieb: > Wenn es aber so ist daß Du gar keine Hilfe willst dann hör auf Deine > Selbstgespräche hier zu posten! Die Programmierer mit Erfolgen zu piesacken und ihnen zu Zeigen, dass es auch ohne sie geht, macht der Putze durchaus Freude. :) Die Putzen teilen ihre Erfahrungen im Internet und kommen so zum Erfolg. Beitrag "Re: I2C "blockiert" Arduino" LG old.
Aus der W. schrieb: > Nö, dass betrifft auch andere Funktionen die der Prozessor > ausführen muss. Die sind aber vielleicht nicht so zeitkritisch wie die saubere 25Hz Erzeugung. Hat was mit Priorisierung zu tun ... Häng das Ding in einen Timer0-Interrupt mit rein und gut ist.
Aus der W. schrieb: > Du erkennst weder das Problem noch die Folgen und hast keine Lösung. Das sagt der Mann(?), welcher weder das Problem begreift, noch die Lösung umsetzen kann. Denn sonst könnte nicht so ein irriger Ansatz folgen.. Aus der W. schrieb: > Es liegt also ausschließlich an der <LiquidCrystal_I2C.h>. > Ich werde nach Alternativen dafür suchen und sie testen. Klarer Fall: Problem nicht begriffen.
Bernd K. schrieb: > Was ist falsch gelaufen mit euch Arduino-Typen daß ihr > alle so unterwegs seid, daß ihr selbst so grundlegende Dinge nicht > merkt? Wieder das übliche Arduino Bashing. Die neurotische Fehlanpassung eines einzelnen wird gegen Arduino gerichtet, und alle User in einen Topf geworfen. Warum versuchst mich mit diesem ***** in einen Topf zu werfen? Welche Befriedigung verschafft dir das? Eins kann ich dir versprechen: Auch in den Arduino Foren wird zu einer lesbaren Formatierung erzogen. Und solche ***** bekommen dort heftigen Gegenwind, überleben dort nicht lange, oder passen sich an.
Arduino Fanboy D. schrieb: > Klarer Fall: > Problem nicht begriffen. Klarer Fall: Bug in der <LiquidCrystal_I2C.h>. Das hier darf gar nicht auftreten. STK500-Besitzer (Gast) hat ja erklärt wo es hakt. Der AD9850 wird auch seriell angesprochen und das ohne Auswirkungen auf andere Programmteile. Arduino Fanboy D. schrieb: > lesbaren Formatierung Für mich ist die lesbar. Und wenn ich das kann, können das andere auch. Ich weiß nicht aus welcher Dekade Eure Formatierung stammt. Möglicherweise nutzte man damals Registrierkassen mit Kassenrolle als Terminal. Die Arduino-Umgebung erlaubt mehr als 10 Zeichen pro Zeile und das nutze ich auch der Übersichtlichkeit halber. Ganze Zeilen für Anmerkungen und Leerzeilen vermeide ich, Zeilen werden nummeriert um schnell Programmteile zu finden. Ausschweifende Erklärungen werden unten angehangen. Da ich einen Sketch erweitert habe, ist das noch nicht durchgängig so. LG old.
Aus der W. schrieb: > Arduino Fanboy D. schrieb: >> lesbaren Formatierung > > Für mich ist die lesbar. Und wenn ich das kann, können > das andere auch. Dieser Meinung ist der Joseph G aka bome bei seinem 8-Bit-Retro-Computer auch...
Aus der W. schrieb: > Bug in der <LiquidCrystal_I2C.h>. Wow! Wie bist du darauf gekommen? Kannst du den Bug zeigen? > Das hier darf gar nicht auftreten. Ich hoffe, das ist nicht die einzige Begründung. Hey, da ist ein Bug und ich weiß das ganz genau, weil er nicht auftreten dürfte. So hast du es hoffentlich nicht gemeint.
Aus der W. schrieb: > Für mich ist die lesbar. Aus dem Code: > }}} Am Ende von Funktionen: > }; An den linken Rand geklebt. Aus der W. schrieb: > Und wenn ich das kann, können das andere auch. Nicht jeder will sich deine durchgekauten Kaugummi in den Mund stecken. Meine Sicht: Wer anderen das Lesen erschwert, will keine Hilfe. Aus der W. schrieb: > Klarer Fall: > Bug in der <LiquidCrystal_I2C.h>. Klarer Fall, Irrtum in der Sache. Aus der W. schrieb: > STK500-Besitzer (Gast) hat ja erklärt wo es hakt. Hat er, du aber seinen Beitrag nicht verstanden. Und darum geht die Lösung auch an dir vorbei. Rundrum: Keinerlei Einsicht zu erkennen.
Arduino Fanboy D. schrieb: > Rundrum: Keinerlei Einsicht zu erkennen. Bei Dir auch nicht. Und? Mir egal, Hilfe kommt von Dir eh nicht. Auch nicht mit der Formatierung von stefanus. Ich komme mit allen Formatierungen zurecht, egal ob der Code so }}} oder so } } } geschrieben wurde. Schaltpläne, auch französische und fritzing sind für mich kein Problem. LG old.
Aus der W. schrieb: > Klarer Fall: > Bug in der <LiquidCrystal_I2C.h>. > Das hier darf gar nicht auftreten. > STK500-Besitzer (Gast) hat ja erklärt wo es hakt. > > Der AD9850 wird auch seriell angesprochen und das > ohne Auswirkungen auf andere Programmteile. Old, das von dir geschilderte Problem (Störung des 25Hz-Sinus durch LiquidCrystal_I2C) ist generell nicht trivial zu beheben. Es stellen sich da Fragen nach zum Beispiel den längsten Zeiten von Interrupt-Unterdrückung in den Bibliotheken. Bug ist zudem ein hartes Wort. Es bedeutet ja nicht, nicht den Wünschen entsprechend, sondern nicht der Spezifikation entsprechend. Und die Arduino-Bibliotheken sind (wie viele andere) notorisch unterspezifiziert. Seriell ist auf dem Atmega328P auch nicht ganz so zeitkritisch wie I2C, weil die USART nicht direkt aus UDR sendet sondern UDR zum Senden erst in ein shift register kopiert, während die TWI-Unit direkt aus TWDR die Bitpegel generiert. LG, Sebastian
:
Bearbeitet durch User
Stefanus F. schrieb: > Wow! Wie bist du darauf gekommen? Mit dem Oszilloskop. > Kannst du den Bug zeigen? Nein. Aber Der Gast hier könnte das möglicherweise: Beitrag "Re: I2C "blockiert" Arduino" LG old.
Aus der W. schrieb: > Hilfe kommt von Dir eh nicht. Sie kommt nicht an. Der Sender kann machen, was er will, wenn der Empfänger taub ist. Man lese nur, was der STK500-Besitzer gesagt hat, und was du daraus gemacht hast. > Klarer Fall: > Bug in der <LiquidCrystal_I2C.h>. Bernd K. (prof7bit) postet die richtige Lösung, und was machst du draus? > Klarer Fall: > Bug in der <LiquidCrystal_I2C.h>. Was soll ich dazu noch sagen? Außer, dich auf die Diskrepanz hinzuweisen. Auswerten musst du das gesagte schon selber. Und ja, Formatierung ist Geschmackssache! Zwei wesentliche Linien, es gibt: Den 1TBS und den, wo die zusammengehörigen Geschweiften in einer Spalte stehen. Den ersten kann ich lesen, den zweiten bevorzuge ich selber. Aber, was du ablieferst ist weit jenseits davon. Ich kann nur raten, entweder verstehst du den Sinn dahinter nicht, oder du verweigerst die Einsicht.
Sebastian W. schrieb: > Old, das von dir geschilderte Problem (Störung des 25Hz-Sinus durch > LiquidCrystal_I2C) ist generell nicht trivial zu beheben. Es stellen > sich da Fragen nach zum Beispiel den längsten Zeiten von > Interrupt-Unterdrückung in den Bibliotheken. Dann ist es ratsam nicht generell ein I2C Display zu verwenden, sondern nur wenn das aufgrund mangelnder I/O-Pins absolut notwendig ist. Und dann halt tunlichst darauf achten, das Display nicht bei jeder loop neu zu beschreiben, was man beim parallelen Anschluss ja machen darf. Wenn ich da jetzt keine Lösung gefunden hätte, müsste eben ein zweiter Atmega, nur für die Audioanwendungen, auf die Leiterplatte. Wobei ich dann ein größeres Gehäuse ... LG old.
Aus der W. schrieb: >> Kannst du den Bug zeigen? > Nein. Aber Der Gast hier könnte das möglicherweise: > Beitrag "Re: I2C "blockiert" Arduino" Das Problem wurde dir schon aufgezeigt! Es ist nicht die LiquidCrystal_I2C.h Wie das Arduino Wire Lib funktioniert ist dokumentiert(halbwegs) und sie liegt im Quellcode vor. Wie schon gesagt, die Lösung steckt hier: Beitrag "Re: I2C "blockiert" Arduino" ---- Mach was draus, oder lass es.
Aus der W. schrieb: > Sebastian W. schrieb: >> Old, das von dir geschilderte Problem (Störung des 25Hz-Sinus durch >> LiquidCrystal_I2C) ist generell nicht trivial zu beheben. Es stellen >> sich da Fragen nach zum Beispiel den längsten Zeiten von >> Interrupt-Unterdrückung in den Bibliotheken. > > Dann ist es ratsam nicht generell ein I2C Display zu verwenden, > sondern nur wenn das aufgrund mangelnder I/O-Pins absolut > notwendig ist. Und dann halt tunlichst darauf achten, das > Display nicht bei jeder loop neu zu beschreiben, was man > beim parallelen Anschluss ja machen darf. Wenn ich deinen Quellcode richtig verstehe, dann erzeugst du den 25Hz-Sinus indem du bei jedem Durchlauf durch loop() den Duty-Faktor eines PWM-Signals anpasst, richtig?
1 | pwmDuty = 128 +126 * sin(micros() * 0.000157); |
2 | analogWrite(5, pwmDuty); // 25Hz PWM an Pin12 Atmega |
Und dabei beobachtest du auf dem Oszilloskop Artefakte, korrekt? Wie sieht die Störung des 25Hz-Sinus Analogsignals denn auf dem Oszi genau aus? Es kann nämlich auch an Überlagerungen zwischen der PWM-Frequenz und der loop()-Rate liegen ... LG, Sebastian
Aus der W. schrieb: > Es liegt also ausschließlich an der <LiquidCrystal_I2C.h>. > Ich werde nach Alternativen dafür suchen und sie testen. Eine Alternative wäre, dass du die LCD-Zugriffsorgie weg lässt und durch eine kompakte Übertragung von deinen anzuzeigenden Bytes ersetzt. Dazu legst du dir das Zeugs vorher im Speicher zurecht und schickst dann einen Befehl ans LCD. Die Übertragung machst du direkt nachdem der 25Hz Generator mit Daten versorgt wurde. Dann jittert das LCD Update aber nicht der Generator. Mit dem Logikanalysator klärst du vorher, ob die LCD-Übertragung zeitlich zwischen zwei Generator-Updates passt - sollte aber bei 400kBit/s auf dem I2C kein Problem sein, solange du nicht Kommandos mit langer Ausführungszeit schickst (z.B. Return Home Commando)
Sebastian W. schrieb: > Wenn ich deinen Quellcode richtig verstehe, dann erzeugst du den > 25Hz-Sinus indem du bei jedem Durchlauf durch loop() den Duty-Faktor > eines PWM-Signals anpasst, richtig? >
1 | > pwmDuty = 128 +126 * sin(micros() * 0.000157); |
2 | > analogWrite(5, pwmDuty); // 25Hz PWM an Pin12 Atmega |
3 | >
|
Ohne die ständige sin-Berechnung würde es dem AVR doch langweilig werden.
Sebastian W. schrieb: > Es stellen > sich da Fragen nach zum Beispiel den längsten Zeiten von > Interrupt-Unterdrückung in den Bibliotheken. Wenn diese I2C-Library allerdings irgendwelche Interrupts blockiert dann wäre sie in der Tat fehlerhaft und deren Autor als vollkommen unfähig enttarnt und müsste nochmal 4 bis 6 Monate lang in die Ohrfeigenmaschine eingespannt werden für die Straftat sowas zu veröffentlichen.
Bernd K. schrieb: > Wenn diese I2C-Library allerdings irgendwelche Interrupts blockiert dann > wäre sie in der Tat fehlerhaft und deren Autor als vollkommen unfähig > enttarnt und müsste nochmal 4 bis 6 Monate lang in die Ohrfeigenmaschine > eingespannt werden für die Straftat sowas zu veröffentlichen. Die Lib benutzt selber Interrupts, für den Verkehr mit der TWI Einheit. Wie es auch Serial tut und der Timer für millis() und seine Brüder. Sperrt sie also nicht. Zumindest nicht lange. Diese Interruptlaufzeiten scheinen kein Problem zu sein. Was allerdings blockiert, ist die Wire::endTransmission() Methode. Während sie auf das Ende der I2C Kommunikation wartet, ist allerdings genug Zeit für andere Interrupts.
Arduino Fanboy D. schrieb: > Was allerdings blockiert, ist die Wire::endTrannsmission() Methode. > Während sie auf das Ende der I2C Kommunikation wartet, ist genug Zeit > für andere Interrupts. Dagegen ist ja auch nichts einzuwenden. Blockierende Methoden blockieren nun mal, das liegt in der Natur ihrer Sache. Solange sie dabei alle anderen Interrupts unbeeinträchtigt lässt ist das auch vollkommen OK. Man muss halt wissen wie man in seinen Programm mit blockierenden Methoden umzugehen hat und wie man den Rest seines Programms dann gestaltet damit er immer noch funktioniert. Im Falle des OP schlage ich vor daß er seine DDS in einem Timer-Interrupt verfrachtet, am besten einen der ein ganzzahliges Vielfaches von 100Hz (=4*25) ist, dann kann er auch ne simple Lookuptabelle für den ersten Quadranten nehmen anstatt den Sinus immer und immer wieder zu Fuß auszurechnen.
:
Bearbeitet durch User
Bernd K. schrieb: > Man muss halt wissen wie man in seinen Programm mit blockierenden > Methoden umzugehen hat und wie man den Rest seines Programms dann > gestaltet damit er immer noch funktioniert. So ist es wohl.... (aber hier nicht gegeben(?)) Bernd K. schrieb: > Im Falle des OP schlage ich vor daß er seine DDS in einem > Timer-Interrupt verfrachtet, am besten einen der ein ganzzahliges > Vielfaches von 100Hz (=4*25) ist, dann kann er auch ne simple > Lookuptabelle für den ersten Quadranten nehmen anstatt den Sinus immer > und immer wieder zu Fuß auszurechnen. Timer0 läuft mit knapp unter 1000Hz (auf 16MHz AVR Arduinos) Der hat noch 2 Interruptquellen frei. Alternativ: Die anderen Timer verwenden...
Carl D. schrieb: > Ohne die ständige sin-Berechnung würde es dem AVR doch langweilig > werden. Ja, L und R muss er auch ständig aus Summen und Differenzsignal berechnen. Mir wird dieser Thread auch langweilig. Es tut sich nichts bis auf ein paar Trolle, die sich trollen. Heute habe ich die Unterspannungserkennung und den Taster auf A1 und den Reset vom AD9850 auf A0 gelegt. Jetzt habe ich einen PWM-Pin frei für die LS-Steuerung. Das genügt mir für heute. Als nächstes versuche ich dann eine Spannung über die PWM bei gedrücktem Pushbutton Rotary für die Lautstärke zu bekommen. Als übernächstes den Wert in den Speicher zu schreiben um ihn beim Wiedereinschalten zu bekommen. Damit bin ich erstmal beschäftigt. Als Muster zur Orientierung habe ich ja die Frequenzeinstellung. Übrigens braucht der AD9850 den Reset nur beim Einschalten. Die Frequenzeinstellung macht der ohne Reset und kommt auch nach dem Drehen am Rotary ohne Reset mit der eingestellten Frequenz. Das zur Info. Ich könnte also auch mit dem bool "start" einmal die Frequenz schreiben lassen und den Resetpin an GND löten. Das spart einen Pin. LG old.
Aus der W. schrieb: > Ich musste das für die Unterspannungsanzeige mit einer > if-else-millis()-Orgie lösen Du mußtest nicht, sondern Du wolltest es so. Wenn Du mal die Funktion des Codes beschreiben würdest, könnte man das sicher viel einfacher lösen. Aus der W. schrieb: > Klarer Fall: > Bug in der <LiquidCrystal_I2C.h>. > Das hier darf gar nicht auftreten. Klarer Fall, daran liegt es also garantiert nicht. Wie kommt einer bloß darauf, Quelltext als PNG zu posten. Jeder, der länger als 3 Tage programmiert, weiß, daß das als Sakrileg empfunden wird. Was stört Dich an C oder INO? Überhaupt zerlegt niemand Zahlen händisch in dezimal, bestenfalls für sehr kleine MCs (ATtiny13). Man benutzt z.B. sprintf().
:
Bearbeitet durch User
PittyJ schrieb: > Mehr als 2 mal die Sekunde braucht man kein Display updaten. > Schneller > liest kein Mensch. Hat nichts mit dem Prpblem zu tun (der hat keinen plan) > > Ansonsten sollte man statt millis() lieber etwas vernüntfiges nehmen und > gleich auf ein Echtzeitsystem wechseln (FreeRtos). > Oder sich zumindest mit Interrupts anfreunden. Ein RTOS jemandem zu empfehlen, der keine Ahnung hat warum lahme Operationen anderes blockieren, sehr Sinnfrei > > Vielleicht sollte man sich auch im Voraus die Anforderungen klarmachen, > bevor man anfängt auf einem kleinen Arduino zu prokeln. Jepp. Einfach nur Jepp.
PittyJ schrieb: > Vielleicht sollte man sich auch im Voraus die Anforderungen klarmachen, > bevor man anfängt auf einem kleinen Arduino zu prokeln. Das hat nichts mit der Größe zu tun, mit dem falschen Programmaufbau bricht auch ein 64Bit 8-Kerner zusammen. Nur verlangt der Autor, daß jeder Helfende die Funktion des Programmes gefälligst aus seinem Kraut und Rüben Code zurück entwickeln soll. Ohne Beschreibung keine Hilfe, so einfach ist das.
Aus der W. schrieb: > Übrigens braucht der AD9850 den Reset nur beim Einschalten. > Die Frequenzeinstellung macht der ohne Reset und kommt > auch nach dem Drehen am Rotary ohne Reset mit der eingestellten > Frequenz. Da hatte ich den Reset noch nicht an GND gelötet. > Ich könnte also auch mit dem bool "start" > einmal die Frequenz schreiben lassen und den Resetpin an GND > löten. Das spart einen Pin. Noch besser: Reset vom AD9850 an GND, die Zeilen den Reset betreffend aus dem Code löschen, das war es schon. Der Sketch schiebt beim Start sowieso die Frequenz in den AD9850 und macht den Reset überflüssig. LG old.
Peter D. schrieb: > Ohne Beschreibung keine Hilfe, so einfach ist das. Klick mal auf den link in Zeile 252 du Schlaumeier. Sebastian W. schrieb: > Wenn ich deinen Quellcode richtig verstehe Zeile 254. Im Code. Für Euch kann man sich nur noch fremdschämen. Leider sind die Zeilennummern nicht in der Codeansicht sichtbar. Deshalb als PNG. (Bemängele ich nicht zum ersten mal.) LG old.
Wieso nennt der sich eigentlich "Aus der Werkstatt", das ist doch eher "Aus der Anstalt". Und es liegt nicht an den Röhren, der kann das auch digital.
Aus der W. schrieb: > Klick mal auf den link in Zeile 252 du Schlaumeier. Ich fange ein Buch auch immer hinten an zu lesen... *** Der Code bricht einfach mit Einrückungsregeln, die ich gewohnt bin. z.B. wozu gehören die geschweiften Klammern?
1 | lcd.setCursor(0,1); lcd.print(hertz);}} |
*** storeMEM() funktioniert erst wenn showFreq() aufgerufen wurde. Ein fiese Falle. *** Copy & Paste Programmierung... Das wird doch sicher alles sehr ähnlich verwendet.
1 | bool clip; |
2 | unsigned long cstart; |
3 | unsigned long cist; |
4 | unsigned long causverz = 200; // MF Clippanzeige |
5 | bool voll; |
6 | unsigned long vstart; |
7 | unsigned long vist; |
8 | unsigned long vausverz = 500; // MF Vollaussteuerung |
9 | bool sum; |
10 | unsigned long sumstart; |
11 | unsigned long sumist; |
12 | unsigned long sumausverz = 1000; // MF Summensignal |
13 | bool diff; |
14 | unsigned long diffstart; |
15 | unsigned long diffist; |
16 | unsigned long diffausverz = 1000; // MF Differenzsignal |
*** Magische Konstanten wie z.B. -356 -> Das macht es einfach schwer den Code zu lesen.
yesitsme schrieb: > z.B. wozu gehören die geschweiften Klammern? Gehe ich recht in der Annahme, dass Du die Arduino- Umgebung nicht auf Deinem Rechner hast? Für das Weitere siehe Seiten 16 und 17, Kap. 7 Analoger Input - Output im Arduino- Programmierhandbuch von DK2JK. Gibt es frei im Netz. LG old.
Carl D. schrieb: >> pwmDuty = 128 +126 * sin(micros() * 0.000157); Allein für diese eine Codezeile würde ich gern mal das listing sehen...
Aus der W. schrieb: > Programmierhandbuch von DK2JK http://www.ov-meschede.de/wp-content/uploads/2018/05/Arduino-Programmierhandbuch.pdf
Aus der W. schrieb: > Für das Weitere siehe .....im Arduino- > Programmierhandbuch von DK2JK. Gibt es frei im Netz. Da solltest du dir mal die Quellcode Formatierung anschauen. Der/Die/Das kann das. Selbst Strg-T macht das besser(als du). Aus der W. schrieb: > dass Du die Arduino- > Umgebung nicht auf Deinem Rechner hast? Lade dein Programm in die IDE und drücke Strg-T Kostet nichts und tut kaum weh.
Moin, äxl schrieb: > Carl D. schrieb: >>> pwmDuty = 128 +126 * sin(micros() * 0.000157); > > Allein für diese eine Codezeile würde ich gern mal das listing sehen... Da muesste wohl noch ein Additionstheorem mit rein, sonst wird das bestimmt zu schnell... Duck&Wech WK
Aus der W. schrieb: > Klick mal auf den link in Zeile 252 du Schlaumeier. Da passiert nichts, in einem PNG kann man keinen Link anklicken. Warum willst Du es einem immer maximal schwer machen? Links gehören in das Posting und nicht in irgendwelche Anhänge. Und auch immer gleich an den Anfang, damit man sehen kann, worauf sich eine Frage bezieht. Das mit den Zeilennummern stört keinen. Die meisten öffnen einen Anhang eh in ihrer Lieblings-IDE und schauen, ob es überhaupt compiliert und welche Warnungen es gibt. Du solltest daher immer Zeilennummern angeben, auf was sich Deine Frage bezieht. Aber erstmal AStyle drüber jagen zu müssen, das ist mir dann doch zu blöd. Und ja, die meisten hier haben kein Arduino installiert, können aber trotzdem auf C Fragen sehr fundiert antworten und Tips geben. Mit Anblaffen wird das aber nix.
Willst Du stereo auf Mittlewelle senden/empfangen? Was genau hast Du vor? BTW: Was sich der Richard AD7C da ausgedacht hat: die Frequenz als String im EEPROM zu speichern/ zu lesen, ist tatsächlich so gewollt? Diese rx/1000%10 usw für die Darstellung der einzelstellen auch? Da sieht mir einiges sehr, na - sagen wir mal - "ungelenk" aus. Das bitgeklappere zum DDS-Chip hin ist notwendig oder lässt sich hier die SPI -Schnittstelle verwenden, Ich habe jetzt das Datenblatt des DDS Chips nicht gelesen, aber das wird ja wohl eine "normgerechte" SPI-Ansteuerung sein, sodass man doch sicher auch die SPI-Hardware des Arduinos verwenden kann, oder? Aus der W. schrieb: > Das betrifft u.A. den Sinusgererator (für den 25Hz Pilotton). Du solltes Dir angewöhnen, die Leute ein wenig zu teasern / zu spoilern, indem Du beschreibst, was du eigentlich machen willst. Deine Ausführungen wirken ansonst sehr aus dem Zusammenhang gerissen, niemand wird sich ernsthaft erst einmal durch deinen Blog wühlen wollen... So könntest du den einen oder anderen, der sich besser in der Arduino-Programmierung auskennt, hinterm Ofen vorlocken und bräuchtest nicht eingeschnappt mit "entweder ich bekomme Hilfe oder eben nicht" reagieren. Das ist eindeutig der falsche Ansatz und die falsche Basis. Ich, in zweiter Generation, der im exessiven AFU-Umfeld aufwuchs, kann da sehr gut mit umgehen, weil ich weis, wie die "alten Funkamateure" (bestes Beispiel für mich -> Fred ex.DM2CND, ex.Y23ND, sk.DL1RON) ticken und wie exentrisch/eigenbrötlerisch/uneinsichtig eben viele von jenem Schlage sind/waren und die wahren "Qualitäten" eben oft für andere im Verborgenen blieben. Das ist in der Tat sehr schade. Äxl DG1RTO
Leute, lasst ihn doch einfach sterben. Er weiß sowieso alles besser. Wer am laufenden Band gegen alle Hinweise meckert hat verloren. Aus die Maus.
Peter D. schrieb: > Da passiert nichts, in einem PNG kann man keinen Link anklicken. Da muss man halt die .ino Datei für öffnen. Der Einzige User mit Grips hier ist stefanus. LG old.
äxl schrieb: > Was sich der Richard AD7C da ausgedacht hat: Ist absolut genial. tnx fr sharing. LG old.
äxl schrieb: > niemand > wird sich ernsthaft erst einmal durch deinen Blog wühlen wollen... Vor allen Dingen muss ich den erst noch verfassen. Freut mich, dass du dich schon im Vorhinein darüber ärgerst, hi hi.
Aus der W. schrieb: > Der Einzige User mit Grips hier ist stefanus. Ich habe mehr Langeweile als Grips.
http://c-quam.blogspot.com/2015/10/c-quam-pruefsender.html Was bist du denn für einer?!? Aus der W. schrieb: > Freut mich, dass du dich schon im Vorhinein darüber ärgerst, hi hi. Ich ärgere mich nicht über deinen BLOG, ich bin wohl eher einer der jenigen, der Dir versucht, deine sozialen Defizite aufzuzeigen. Und das, wie ich finde, auf eine freundschaftlich-nette Art und Weise. Wenn Du deinen eigenen Blog nicht kennst, mich statt dessen von der Seite anblaffst, dann lege ich auf eine weitere Konversation keinen Wert. HAM-Spirit hin oder her. Habe ich nicht nötig. Baue Du weiterhin grüne Leuchtdioden in alte Anzeigeröhren ein und such Dir'n anderen Dummen, an dem Du deine schlechte Laune auslassen kannst. Zu blöd, nen IIC-Oled zusammen mit'm 25Hertz DDS laufen zu lassen, aber hier die grosse Fresse haben? Du machst dich hier gerade total lächerlich und stellst dich in ein Licht, dessen Du augenscheinlich mehr als gerecht wirst. Da ich nicht in diesem Schatten stehen mag, bin ich zu diesem Thema raus. komplett. Viel Spaß beim gemeinsamen Hobby. kopfschüttelnd. Äxl DG1RTO
Warum Du nicht einfach per PWM ein 25Hz Rechteck-Signal generierst und mit Deiner Rest-Pilotton-Schaltung in einen Sinus umwandelst erschließt sich mir nicht. Scheint doch sowieso konstant zu sein, warum also ein Sinusgenerator per Programm. Wahrscheinlich bin aber auch ich einer von denen ohne Grips :-)
äxl schrieb: > Carl D. schrieb: >>> pwmDuty = 128 +126 * sin(micros() * 0.000157); > > Allein für diese eine Codezeile würde ich gern mal das listing sehen... Ja, das ist maximal Ressourcen verbrauchend. Wird jede 1ms ein neuer Wert für 25Hz berechnet, dann sind das nur 40 Stützstellen. Das geht ganz einfach mit einem Array und die umständliche float Sinus-Berechnung entfällt komplett.
1 | #include <avr\io.h> |
2 | |
3 | uint8_t sintab[] = { 0, 20, 39, 58, 75, 90, 103, 113, 121, 125, |
4 | 127, 125, 121, 113, 103, 90, 75, 58, 39, 20, |
5 | 0, -20, -39, -58, -75, -90, -103, -113, -121, -125, |
6 | -127, -125, -121, -113, -103, -90, -75, -58, -39, -20, |
7 | };
|
8 | |
9 | void int_1ms(void) // to be called from the 1ms interrupt |
10 | {
|
11 | static uint8_t step25; |
12 | if (step25 >= 40) |
13 | step25 = 0; |
14 | OCR0A = 128 + sintab[step25]; |
15 | step25++; |
16 | }
|
Man sieht auch sehr schön, daß nur eine Viertelwelle berechnet werden muß. Der Rest ergibt sich durch Spiegelung bzw. Vorzeichenumkehr. Man könnte daher die Tabelle auch auf 10 Einträge reduzieren und die beiden Subtraktionen in Echtzeit machen. Durch den Aufruf im Timerinterrupt gibt es auch keinen Jitter mehr durch andere Tasks.
äxl schrieb: > lege ich auf eine weitere Konversation keinen > Wert. Das freut mich sehr. :) Hugo H. schrieb: > Warum Du nicht einfach per PWM ein 25Hz Rechteck-Signal generierst und > mit Deiner Rest-Pilotton-Schaltung in einen Sinus umwandelst erschließt > sich mir nicht. Scheint doch sowieso konstant zu sein, warum also ein > Sinusgenerator per Programm. Der Semir hat mir netterweise einen Sinus geschenkt. Warum soll ich dann einen Reckteck nehmen? Je harmonischer der Pilotsinus ist, desto besser ist das. Die Oberwellen landen ja im Differenzsignal. LG old.
Peter D. schrieb: > Das geht ganz einfach mit einem Array Danke Dir, werde ich demnächst mal testen. Wird eher zum WE passieren. LG old.
Oh manno... Das mit der Tabelle kam in diesem Thread schon gefühlte 100 mal vor! Bei "Sinus und µC" muss das doch das erste sein, was einem da einfällt. Am Rande: Wie kann jemand (du) so arrogant sein und dann das Prinzip einer "Lookup Table" nicht kennen. Ob es da wohl noch mehr Lücken gibt? Ob du dir da wohl mit deiner eigenen Einstellung (Halsstarrigkeit) im Wege rum stehst?
Peter D. schrieb: > Da passiert nichts, in einem PNG kann man keinen Link anklicken. Warum > willst Du es einem immer maximal schwer machen? > Links gehören in das Posting und nicht in irgendwelche Anhänge. Und auch > immer gleich an den Anfang, damit man sehen kann, worauf sich eine Frage > bezieht. ich hatte mir mal die Mühe gemacht, in den Quellen war keine falsche Einrückung weder in der Arduino IDE noch in Notepad++ Ich frage mich so langsam auch was uns der TO da mitteilen will Links in PNG, kein Bezug auf was er meint..... trolliger oder "do**er" gehts ja kaum noch Irgendwann wird ihn JEDER ignorieren weil es die Mühe nicht lohnt! PS: lcd.setCursor(0,1); lcd.print(hertz);}} habe ich an keiner Stelle gefunden
:
Bearbeitet durch User
Joachim B. schrieb: > PS: lcd.setCursor(0,1); lcd.print(hertz);}} > > habe ich an keiner Stelle gefunden Im ersten Post ist ein Link auf einen anderen Thread, dort wiederum in dessen ersten Post ist Code angehängt, um den geht es. Dort kommt die obige Zeile drin vor und auch tausend andere Verbrechen gegen die Leserlichkeit, der ganze Code ist eine Serie von Faustschlägen ins Gesicht eines jeden wohlwollenden Lesers.
:
Bearbeitet durch User
Bernd K. schrieb: > Im ersten Post ist ein Link auf einen anderen Thread, dort wiederum in > dessen ersten Post ist Code angehängt, um den geht es. Dort kommt die > obige Zeile drin vor und auch tausend andere Verbrechen gegen die > Leserlichkeit. da soll einer drauf kommen "OMG" Joachim B. schrieb: > Irgendwann wird ihn JEDER ignorieren weil es die Mühe nicht lohnt!
Peter D. schrieb: > ... Das geht ganz einfach mit einem Array und die umständliche > float Sinus-Berechnung entfällt komplett. ... > Man sieht auch sehr schön, daß nur eine Viertelwelle berechnet werden > muß. Perle für die Schweine...
Peter D. schrieb: > Durch den Aufruf im Timerinterrupt gibt es auch keinen Jitter mehr durch > andere Tasks. Du hast vergessen, (ihm) aufzuzeigen, wie er die Routine in den Timerint. bekommt, aufdass diese auch alle 1msek aufgerufen wird... Den Rotary Encoder kann man da auch gleich mit reinbasteln, wenigstes ein Flag setzen.
äxl schrieb: > aufzuzeigen, wie er die Routine in den > Timerint Aus meiner Wühkiste:
1 | /**
|
2 | *
|
3 | * Timertick Interrupt
|
4 | *
|
5 | * Genutzt wird die Arduino Voreinstellung des Timers
|
6 | *
|
7 | * Intern arbeitet der uebliche AVR Arduio mit Timer0 Overflow Interrupts,
|
8 | * um die Werte für millis(), delay() usw zu erzeugen. Leider koennen wir
|
9 | * darum diesen Overflow Interrupt nicht für eigene Zwecke nutzen.
|
10 | *
|
11 | * Der Vorteiler wird auf 64 gesetzt und da Timer0 ein 8 Bit Timer ist,
|
12 | * erfolgt alle (16000000/64/256)ms ein Compare Interrupt.
|
13 | * Bei einem Uno, also alle 0,977ms
|
14 | * Bei einem 8MHz Pro Mini alle 1,953ms
|
15 | *
|
16 | * Hier am Beispiel eines UNO
|
17 | * Der genutzte Kanal kann auch weiterhin für PWM verwendet werden, erzeugt
|
18 | * dann aber bei Wertänderungen einen Jitter im ISR Timimg
|
19 | *
|
20 | */
|
21 | |
22 | |
23 | |
24 | volatile unsigned int ticks = 0; |
25 | |
26 | void setup() |
27 | {
|
28 | DDRB |= _BV(PB5); |
29 | OCR0A = 42; // Wert ist egal |
30 | TIMSK0 |= _BV(OCIE0A); |
31 | TIFR0 |= _BV(OCF0A); |
32 | }
|
33 | |
34 | void loop() {} |
35 | |
36 | |
37 | ISR(TIMER0_COMPA_vect) |
38 | {
|
39 | if(++ticks>=1000U) |
40 | {
|
41 | PINB = _BV(PB5); // toggle pin |
42 | ticks=0; |
43 | }
|
44 | }
|
Sehr interessant, wie hier einem erwiesenen Rotzlöffel geduldig geholfen wird. Respekt an alle, die sich die fremde Spucke aus dem Gesicht wischen und höflich weiterhelfen.
Kastanie schrieb: > und höflich weiterhelfen. Der spuckt und pieselt gegen den Wind. Irgendeinem anderen mag der Thread allerdings helfen. Sowohl auf fachlichen, als auch auf sozialem Gebiet. Meine Oma sagte damals schon: > Selbst den größten Idioten kann man gebrauchen. > Und sei es auch nur als abschreckendes Beispiel.
Kastanie schrieb: > Sehr interessant, wie hier einem erwiesenen Rotzlöffel geduldig geholfen > wird. stimmt, manchmal hat man Langeweile oder muss den Kopf von eigenen Problemen ablenken. Andererseits ist es nicht ausgeschlossen das Hilfe nicht dem Rotzlöffel hilft sondern anderen die den Thread finden.
Ich finds kacke, wie sich manche hier benehmen dürfen. Das vorweg. Sehr ärgerlich finde ich, dass die Riege der Funkamateure durch dieses unempathische Verhalten eines einzelnen OM verunglimpft wird. Dabei kenne ich aus jenem Kreis genug, die ihr hohes Bildungsniveau auch im sozialen Umfeld mitführen. Andererseits kenne ich jetzt wenigstens einen, bei dem das nicht so ist. Also: #isso; Haken drann. Sehr befremdlich, dass ein durchaus interessantes Thema (AM-Stereo hatte ich noch nicht auf dem Schirm - scheint ja aber eh vorbei zu sein) bei mir jetzt gleich negativ besetzt ist. Aber: ich kehre wieder zum Tagesgeschäft zurück, ich bin noch nicht in Rente... Gruß Äxl PS: kann man das benötigte Sendesignal nicht direkt im µC erzeugen?
Ein Autofahrer hört im Radio: > "Ein Geisterfahrer auf der A44!" Sagt der Fahrer: > "Was? Einer? Hunderte!"
äxl schrieb: > PS: > kann man das benötigte Sendesignal nicht direkt im µC erzeugen? Es wird wahrscheinlich leichter wenn man einen µC mit DAC wählt und nicht mit PWM als DAC-Ersatz rummachen muss. Dann könnte man wohl irgendwas erzeugen das man nachher nur noch hochmischen muss, das müsste noch im Rahmen der Leistungsfähigkeit eines nicht allzu lahmen µC sein sag ich mal so aus dem Bauch raus. SSB genauso.
Moin, äxl schrieb: > PS: > kann man das benötigte Sendesignal nicht direkt im µC erzeugen? Ich lehn' mich mal etwas aus dem Fenster und sag': Das koennte wahrscheinlich sogar der ATMega328 machen. Wenn man den z.B. mit 16MHz takten wuerde, koennte ich mir vorstellen mit dem ADC 2 (Audio-)Kanaele mit jeweils 15.625kHz Abtastrate und 8 bit zu digitalisieren, die dann entsprechend zu matrizieren, und den ganzen anderen C-QUAM Affenzirkus zu machen und dann mit einer niedrigen ZF von vielleicht z.B. 39.0625kHz mit ein paar Bit parallel auf ein R2R Netzwerk gehen, danach halt filtern und hoch mischen. Wenn die Pins ausreichen koennt' man vielleicht sogar in der ZF-Lage mit I und Q Komponente rausgehen und mit einem komplexen Mischer sich das Auftreten von Spiegelfrequenzen schenken/abschwaechen. Wenn man die ganze Signalverarbeitung in einem (Timer-)IRQ-Handler macht, bleibt sogar noch bisschen CPU-Power uebrig um Displays, I2C- und SPI-Peripherie zu bedienen... Hab's aber nur mal schnell ueberschlagen - wie gut der ADC sich so hurtig umschalten laesst, dass ein Stereosignal dabei rumkommt, muesst' man mal ausprobieren. Assembler sollt' man halt koennen. Und digitale Signalverarbeitung. Gruss WK
Dergute W. schrieb: > ADC sich so > hurtig umschalten laesst, dass ein Stereosignal dabei rumkommt Der ADC gibt nichts raus der vergleicht/misst nur. Hast Du den Thread verfolgt?
äxl schrieb: > Du hast vergessen, (ihm) aufzuzeigen, wie er die Routine in den > Timerint. Wozu, kann man doch zurückblättern und nachlesen ... Wolfgang schrieb: > Hier siehst du ein Beispiel, wie du dich an den Timer0-Interrupt, der > auch für millis() den Takt bereit stellt, einklinken kannst. > https://learn.adafruit.com/multi-tasking-the-arduino-part-2/timers
Moin, Hugo H. schrieb: > Der ADC gibt nichts raus der vergleicht/misst nur. Das glaube ich nicht, Tim. > Hast Du den Thread verfolgt? Das glaube ich schon, Tim. Gruss WK
Dergute W. schrieb: > Das glaube ich nicht, Tim. Glauben heißt nicht(s) Wissen - passt also :-), Weka. "Tim" scheint einer eher labilen Phantasie zu entspringen ... :-) - hast Du irgendwelche Probleme?
:
Bearbeitet durch User
Aus der W. schrieb: > Sebastian W. schrieb: >> Wenn ich deinen Quellcode richtig verstehe > Zeile 254. Im Code. Für Euch kann man sich nur noch fremdschämen. Ok, ich hab mir den ganzen Thread noch einmal durchgelesen und gebe zu, dass ich mit > Old, das von dir geschilderte Problem (Störung des 25Hz-Sinus durch > LiquidCrystal_I2C) ist generell nicht trivial zu beheben. Es stellen > sich da Fragen nach zum Beispiel den längsten Zeiten von > Interrupt-Unterdrückung in den Bibliotheken. auf dem Holzweg war. Ich muss gestehen, dass ich mir beileibe nicht vorstellen konnte, dass jemand die Chuzpe *) besässe, seine Verzerrung einer nicht nebenläufig erzeugten Sinus-Schwingung durch den zwischenzeitlichen Aufruf von einfach länger dauernden Bibliotheksroutinen eben diesen Routinen als "Bug" anzulasten. LG, Sebastian *) lt. Wikipedia "eine Mischung aus zielgerichteter, intelligenter Unverschämtheit, charmanter Penetranz und unwiderstehlicher Dreistigkeit"
Dergute W. schrieb: > Ich lehn' mich mal etwas aus dem Fenster ... Ich bin froh, wenn ich irgendwann mal eine FL2K-Lösung dafür hinbekomme … Ist bisher daran gescheitert von gnuradio in win10 auf fl2k zu kommen. Habe ich momentan auch keine Lust zu. Meine jetzige Lösung, die ich gerade zum 2.Mal aufbaue, sieht so aus: Neues C-QUAM Verfahren entwickelt, welches einen Phasenmodulator für CQU erlaubt. (Das hatte ich für den "Butter Cookies TX" entwickelt.) Arduino --> AD9850 wird mit (L-R)*(L+R+1), das ist der Kniff und wird Niederfrequent generiert, Pulsweitenmoduliert. (Unmittelbare PM über das Register kann ich nicht, es ist auch fraglich ob das qualitativ mit der geringen Bitbreite geht.) Für PWM besitzt der AD9850 einen ausgezeichneten Komparator. Ein Toggelflipflop macht aus der PWM --> PM. (Motorola erzeugt übrigens diese, mit (L-R)*(L+R+1) modulierte PM, hochfrequent. Das muss man erkennen.) Diese Phasenmodulierte Frequenz wird wieder verdoppelt und ergibt den C-QU-Träger in TTL. Von 100KHz bis 2MHz, wie man im Sketch sieht. Dann kommt die AM dazu --> CQUAM. LG old.
Moin, Aus der W. schrieb: > Ich bin froh, wenn ich irgendwann mal eine FL2K-Lösung > dafür hinbekomme … > Ist bisher daran gescheitert von gnuradio in win10 auf > fl2k zu kommen. Habe ich momentan auch keine Lust zu. Ja, das sind dann natuerlich die Superluxusloesungen. Mitm 328er waere natuerlich nur 8-bit Audio sinnvoll und mangels DAC der ZF-Out auch bisschen krueckig... Aber ist ja eh "nur Mittelwelle" ;-) Gruss WK
Dergute W. schrieb: > Mitm 328er waere > natuerlich nur 8-bit Audio sinnvoll und mangels DAC der ZF-Out auch > bisschen krueckig... Deshalb auch analog mit Arduino und AD9850 Comfort. Da gibt es keine Abstriche bei. LG old.
Aus der W. schrieb: > Als nächstes versuche ich dann eine Spannung über die > PWM bei gedrücktem Pushbutton Rotary für die Lautstärke > zu bekommen. Das hat geklappt. :) Ein Pushbutton-Rotary passt noch auf die Frontplatte neben dem Display. Für ein gutes Tandempoti ist zu wenig Platz in dem Gehäuse, welches ich verwenden möchte. Anbei auch die aktuelle ino. > Als übernächstes den Wert in den Speicher > zu schreiben um ihn beim Wiedereinschalten zu bekommen. > Damit bin ich erstmal beschäftigt. Als Muster zur Orientierung > habe ich ja die Frequenzeinstellung. LG old.
Auf dem Spannungsversorgungsboard habe ich noch Platz für das elektronische Tandempoti mit dem LM13700N gefunden, welches vom Arduino gesteuert wird. Ist etwas eng geworden ... Oben die 3,5mm Klinke ist der Stereo-Audio-Eingang. LG old.
Aus der W. schrieb: > Was zu tun ist, habe ich getan. Du bist eigentlich an einem Punkt, an den du auf C umsteigen solltest. Die Arduino libs sind oft in c oder c++ geschrieben, dabei hoffnungslos aufgeblasen, was du für dein konkretes Projekt alles gar nicht brauchst. Hier schrieb jemand, dass sie funktionieren, aber nicht optimal sind. Es macht hinterher auch mehr Spaß, weil du dann auch z.B. deinen Code sehr einfach auf einen anderen, vielleicht auf einen Tiny, Controller portieren kannst. Arduino ist sicher gut für den Anfang, aber irgendwann ist es erstmal eine Sackgasse, weil dir dann das elementare Verständnis fehlt. Wenn du dann ein tieferes Verständnis hast, kannst du sicher das eine oder andere Projekt damit vielleicht schneller verwirklichen. In jedem Fall bist du persönlich schon an die Grenze von Arduino gestoßen. Du musst nun etwas mehr über den Controller lernen, wie dieser arbeitet und das kannst du besser mit C und mit dem Atmel Studio. Im Simulator kannst du dann z.b. sehen wie die Register stehen, was dein Befehl auslöst. Auch wenn du dich jetzt noch sträubst, du kommst nicht drum rum.
F. F. schrieb: > Du bist eigentlich an einem Punkt, an den du auf C umsteigen solltest. Er hat doch schon geschrieben daß er sich nicht mit der Materie auseinandersetzen will. Er will nur Legosteine zusammenstecken. Und wenn wie im vorliegenden Fall die Noppen zufällig auf der anderen Seite sind ist natürlich Lego schuld an der Misere, denn das Umdrehen des Bausteins und richtig herum einsetzen würde schon den Rahmen sprengen. Also nimmt er Heißkleber. So versteh ich das.
:
Bearbeitet durch User
Moin, F. F. schrieb: > Auch wenn du dich jetzt noch sträubst, du kommst nicht drum rum. Doch, das glaube ich schon. Man muss auch mal akzeptieren, dass jemand lieber mit Heisskleber rumbatzelt, als mit einer Programmiersprache. Da find' ich nix verwerfliches dran. Gruss WK
F. F. schrieb: > Du bist eigentlich an einem Punkt, an den du auf C umsteigen solltest. Irrtum in der Sache! Das Problem liegt hier: Der TO hat einen Stock so weit im Hintern, dass er sich daran verschluckt. F. F. schrieb: > Hier schrieb jemand, dass sie funktionieren, aber nicht optimal sind. Wer? Ich würde sagen, dass hier der Nachweis geführt wurde, dass die Arduino Libs nicht das Problem sind, sondern die innere Einstellung des TO. Und da kann auch kein Atmelstudio was gegen machen. --- Und überhaupt, warum sollte man vom modernen C++ auf C umsteigen wollen/sollen? Damit gewinnt man nun wirklich keinen Blumentopf. F. F. schrieb: > Auch wenn du dich jetzt noch sträubst, du kommst nicht drum rum. Auch da irrst du dich.
Arduino Fanboy D. schrieb: > Und überhaupt, warum sollte man vom modernen C++ auf C umsteigen > wollen/sollen? Damit gewinnt man nun wirklich keinen Blumentopf. Ne muss er nicht, keiner, aber du weißt wo dieses Thema hin führt. Viele Programme und somit Beispiele für Mikrocontroller sind nun mal in C geschrieben (Assembler hier außen vor gelassen; c-hater, deine Beschwerde wird schon hier förmlich zur Kenntnis genommen) und nur deshalb habe ich zunächst C angeführt. Natürlich kann man auch weiter Heißkleber nehmen, aber ich denke das Interesse kommt ganz von alleine. Das war was ich damit ausdrücken wollte.
F. F. schrieb: > Die Arduino libs sind oft in c oder c++ geschrieben, dabei hoffnungslos > aufgeblasen, was du für dein konkretes Projekt alles gar nicht brauchst. Das ist nicht mein Bier. Mir wurde gesagt: Nimm ein I2C-Display, da hast Du weniger Verdrahtungsaufwand und zusätzliche Ein- Ausgänge frei. Offenbar gibt es unbekannte Nebenwirkungen. Wichtig ist, dass die libs funktionieren. Ich bin da einfach nur Nutzer. Die Mehrzahl der Nutzer wird wohl kein Problem mit der I2C lib für das Display haben, deshalb wird der Bug wohl nicht gefixt werden. Nun mal mein Autovergleich: Der mehr als zufriedene Nutzer eines Dieselfahrzeuges hört im ÖR, dass sein Diesel eine Dreckschleuder sei und glaubt das sofort. Jetzt ist er plötzlich unzufrieden, will Geld und klagt rum. Tatsächlich versucht der Hersteller noch irgendwelche Änderungen, damit alle wieder glücklich sind. Davon seit Ihr weit entfernt. Da kommt Niemand und sagt im übertragenen Sinne: Autofahrer lerne erstmal Doppelplus-Zeh bevor Du ein neues Auto kaufst. Für größere Projekte nehme ich dann halt den Mega und klemme das Display wieder parallel an. Wo es geht versuche ich libs zu vermeiden. Den meisten analogen Kram kann ich selbst an den Arduino über die Analogeingänge bzw. PWM-Ausgänge hängen. LG old.
Aus der W. schrieb: > Wichtig ist, dass die libs funktionieren. Tun sie doch auch - einzeln. Dass zusammengewürfelte Software in Kombination oft Probleme macht, ist nicht neu. An solchen Punkten erkennt man halt, wie tief ein Programmierer in die Materie einsteigen kann. Da trennt sich die Spreu vom Weizen.
Stefanus F. schrieb: > ist nicht neu. Ist neu. Ich bin mir auch sicher, dass der Bug behoben werden kann, wenn willige Arduino Programmierer darauf aufmerksam werden. LG old.
Aus der W. schrieb: > Ich bin mir auch sicher, dass der Bug behoben werden kann na dann mach' es! Du hast schließlich Interesse daran.
Stefanus F. schrieb: > Aus der W. schrieb: >> Ich bin mir auch sicher, dass der Bug behoben werden kann, >> wenn willige Arduino Programmierer darauf aufmerksam werden. > > na dann mach' es! Du hast schließlich Interesse daran. Ich bin kein Programmierer. Bist Du einer? LG old.
F. F. schrieb: > Natürlich kann man auch weiter Heißkleber nehmen, aber ich denke das > Interesse kommt ganz von alleine. > Das war was ich damit ausdrücken wollte. Klar, C++ ist Heißleber, und Heißkleber ist scheiße, warum noch gleich? Weil Heißkleber eben scheiße ist. Lies dir dieses noch mal durch: Aus der W. schrieb: > Ich bin mir auch sicher, dass der Bug behoben werden > kann, wenn willige Arduino Programmierer darauf aufmerksam werden. Der hat immer noch nicht begriffen, das die LCD Lib nicht sein Problem ist. Wie kommst du {Autor: F. F. (foldi)} auf die absurde Idee, das ein Atmel Studio, oder C daran was ändern können? Absurd! Einfach absurd, die Annahme. F. F. schrieb: > aber du weißt wo dieses Thema hin führt. Warum fängst du dann damit an? Ich möchte mal behaupten, dass alle hier, außer du und der TE begriffen haben, worum es geht. Wo es "wirklich" klemmt. Und das hat ganz sicher nichts mit C oder C++ oder einer beliebigen IDE zu tun.
Arduino Fanboy D. schrieb: > Der hat immer noch nicht begriffen, das die LCD Lib nicht sein Problem > ist. Ja, offensichtlich. Eigentlich fehlt jetzt nur noch, den Entwickler der LCD Lib zu beschimpfen.
Etwas Zeit zur Nachbesserung sollte man schon geben, bevor man schimpft. LG old.
Aus der W. schrieb: > Etwas Zeit zur Nachbesserung sollte man schon geben, Erwartest du jetzt im Ernst, dass der Autor oder jemand anderes die Bibliothek (nur für dich) ändert? Da kannst du lange warten.
Ich denke, es wird bald eine neue lib oder ein Update dafür geben. LG old.
Aus der W. schrieb: > Ich denke, es wird bald eine neue lib oder ein Update dafür geben. Du bist echt schräg drauf. Was rauchst du?
Aus der W. schrieb: > Ich denke, es wird bald eine neue lib oder ein Update dafür > geben. > > LG > old. Wozu? Der Code tut exakt das, was er soll und genau wie beschrieben. Der "Bug" sitzt 50 cm vor dem Monitor.
Harry L. schrieb: > Wozu? Damit man einen Sketch nicht umkrempeln muss, wenn man ein serielles Display verwenden will. [Ironie] > Der Code tut exakt das, was er soll und genau wie beschrieben. > > Der "Bug" sitzt 50 cm vor dem Monitor. Klar der User und die Autofahrer sind schuld. Programmierer sind unfehlbare Götter. [/Ironie] LG old.
Stefanus F. schrieb: > Der Mann veräppelt uns doch! Nö, er hat nur keine Kompetenz auf diesem Gebiet. Siehe Kompetenzlevel 1 In: https://de.wikipedia.org/wiki/Kompetenzstufenentwicklung Aber die Nase ganz weit oben. Der "Bug" sitzt 50 cm vor dem Monitor. Auf Level 8 im OSI Schichtenmodell.
Stefanus F. schrieb: > Der Mann veräppelt uns doch! Von mir gibt es als Lösung einen funktionierenden Sketch. Umständlich aber läuft. Und von Euch? Unausgegorene Vorschläge die bisher zu nichts führten. LG old.
Dann verharre weiterhin in deinem Irrtum. Denn die Einsicht kann nur in deinem Kopf entstehen.
Stefanus F. schrieb: > Der Mann veräppelt uns doch! das habe ich auch öfter gedacht, kaum zu glauben das er ein RFS Techniker ist, Zitat Goldblum, "es gibt nicht was ein Fernsehtechniker nicht kann", bis dahin glaubte ich das weil ich keinen so komischen Kollegen kennengelernt hatte.
Joachim B. schrieb: > kaum zu glauben Ach, da mache dir mal keine Sorgen. Dieses Maß der Borniertheit, hat nichts mit dem Berufsstand RFS Techniker zu tun.
Aus der W. schrieb: > Offenbar gibt es unbekannte Nebenwirkungen. Nein, alle Wirkungen sind allgemein bekannt und gut dokumentiert. Wie man das in seiner Software berücksichtigt ist ebenfalls bekannt, nur Dir offensichtlich nicht, aber nur weil Du etwas nicht kennst und auch nichts darüber lernen willst wird es noch lange nicht "unbekannt". Und jetzt hör endlich auf hier so kindisch rumzutrotzen. das ist doch vollkommen lächerlich. > deshalb wird der Bug wohl nicht gefixt werden. Nein, diese Lib ist vollkommen in Ordnung, Deine Firmware hat einen Bug. Das wurde Dir aber schon lang und breit erklärt, inklusive Code der das fixt. Vollkommen lächerlich was Du hier abziehst.
:
Bearbeitet durch User
Eine Beleidigung reiht sich an die Nächste. Schaukeln sich gegenseitig hoch.
Bernd K. schrieb: > Das wurde Dir aber schon lang und breit erklärt, > Das wurde behauptet. inklusive Code der das > fixt. Unvollständige Brocken. Und lies nochmal den Startbeitrag. Eine Problemlösung ist das noch lange nicht, wenn nur der Sinus während der Anzeigeänderung sauber bleibt. Man muss schon etwas an der I2C Sache ändern, wenn nicht das Nächste Problem in den Startlöchern stehen soll. Beitrag "Re: I2C "blockiert" Arduino" Der Modulator läuft auch ohne Anzeige der Stellung des elektronischen Potis oder einer Pegelanzeige. (Sauber Einpegeln geht sowieso nur mit den LEDs.) Kommt Zeit kommt Lösung dafür, ich habe damit Zeit. LG old.
Offenbar gibt es diverse I2C libs für das Display. https://forum.arduino.cc/index.php?PHPSESSID=nph3ge5n8g5av6l91l6b8dbon2&topic=449451.msg3092231#msg3092231 Ich werde demnächst mal eine andere, aktuellere lib testen. LG old.
Aus der W. schrieb: > Eine Beleidigung reiht sich an die Nächste. Schaukeln sich gegenseitig hoch. Und du bist daran gaaaaanz unschuldig. > Kommt Zeit kommt Lösung dafür, ich habe damit Zeit. Trollblocker schrieb: > Warum wird der Troll seit Tagen gefüttert? Aus der W. schrieb: > Man muss schon etwas an der I2C Sache ändern, wenn nicht > das Nächste Problem in den Startlöchern stehen soll. Dann tu das! Oder benutze eine andere Lib. Dir wurden bereits Gründe für deine Probleme erklärt und Lösungsmöglichkeiten vorgeschlagen. Nun ist DEINE Initiative gefragt. Dein Verhalten wird hier niemanden dazu bewegen Code für dich zu schreiben. Du solltest vielleicht ein Unternehmen beauftragen - gegen Geld, versteht sich.
Aus der W. schrieb: > Offenbar gibt es diverse I2C libs für das Display. > > https://forum.arduino.cc/index.php?PHPSESSID=nph3ge5n8g5av6l91l6b8dbon2&topic=449451.msg3092231#msg3092231 > > Ich werde demnächst mal eine andere, aktuellere lib testen. Es ist nicht schlimm, wenn deine Kompetenzen auf anderen Gebieten liegen. Es ist aber unschön anzusehen, wie jemand, dessen Programmierkompetenzen schwächer ausgebildet sind, als die so mancher Putzfrau, die getätigte Aussage, dass die LCD Lib hier unschuldig ist, in den Wind schlägt. Keine dieser Libs wird dein Problem lösen. So wie dir auch die Kenntnis über eine LUT fremd war, ist es auch mit dem denken in Nebenläufigkeiten. Und damit hapert es dann auch beim herstellen eben genau dieser Nebenläufigkeiten. Das alte Mantra: > Ich benötige ein Zeitraster. > Dann verwende ich einen Timer. Ist noch nicht in deinen Hirnwindungen verankert. Wenn das einmal sitzt, dann gibts auch keine Probleme mehr mit dem I2C Display. Tipp: > Der Kopf ist rund, > damit das denken die Richtung ändern kann.
Aus der W. schrieb: > Unvollständige Brocken. Natürlich. Erwartest du, dass hier jemand deine Arbeit für dich erledigt? > Man muss schon etwas an der I2C Sache ändern Nein, der Fehler steckt im Gesamtkonzept. Die I²C Sache könnte man auch ändern, aber nicht ohne das Programm insgesamt anders zu strukturieren. Wie, das wurde Dir von mehreren Leuten ausreichend erklärt. Wenn du das nicht verstehst, dann ist das schade und nicht unser Fehler.
Stefanus F. schrieb: > nicht unser Fehler Sobald Du in dieser Gruppe auftrittst, bist Du ein anderer Mensch. A. M. schrieb: > Oder benutze eine andere Lib. Ach da schau her!
Stefanus F. schrieb: > Nein, der Fehler steckt im Gesamtkonzept. Als ob das Sketch-Konzept davon abhängt, ob man ein paralleles oder serielles Display verwendet. Das ist der Witz des Abends. LG old.
Der Witz des Abends ist, dass du immer noch knallhart den eigentlichen Fehler leugnest. Der Fehler ist, dass die Zeit, die für die Kommunikation mit dem Display drauf geht, die Erzeugung des Signals beeinträchtigt. Das darf schon nicht sein. Völlig egal, welche Schnittstelle verwendet ist und wie schnell oder langsam sie ist. Denn kein Display kann ganz ohne Zeitbedarf kommunizieren. Ein schnelleres (paralleles) Display macht das Problem nicht weg, sondern nur kleiner. Der eigentliche Fehler liegt in der Art und Weise wie dein Programm das Signal generiert. Das muss unabhängig von anderen Threads deines Programms werden. Multitasking und Timer-Interrupts sind hier die Zauberwörter, mit denen du dich befassen solltest.
Stefanus F. schrieb: > Erwartest du, dass hier jemand deine Arbeit für dich > erledigt? ARBEIT? Das ist hier Hobby. Auch wenn ich mal für einen User eine Simu (Ltspice) anfertige oder ans laufen bringe, so mach ich das sehr gerne. Wir haben da wohl sehr unterschiedliche Einstellungen zur Hilfe im Forum, deshalb passt das nicht. ______________________________________________________________ Fortschritt am Modulator: Ich mache gerade das Sallen-Key für die VCAs fertig. LG old.
Hi >Wir haben da wohl sehr unterschiedliche Einstellungen zur >Hilfe im Forum, ... An welcher Stelle hast du schon mal hier im Forum geholfen? MfG Spess
Aus der W. schrieb: > ARBEIT? Das ist hier Hobby. Wenn ich etwas nicht selber machen kann oder will, und dass dann von jemand anderem machen lasse, dann ist das für denjenigen normalerweise Arbeit. Für mich bedeutet Arbeit nicht zwangsläufig Beruf, sondern eher eine Tätigkeit, die man nicht zur reinen Freude macht. Arbeit ist für mich auch Gartenpflege, Putzen, Waschen, Kochen, Kindererziehung. Wenn ich deinen Quelltext verbessern würde (oder die Lib), dann würde ich das nur tun, um mir etwas zu meinem knappen Gehalt dazu zu verdienen. Das wäre dann für mich eindeutig Arbeit. Angenommen, die Lib wäre fehlerhaft: Der Autor der Lib hat diese vielleicht im Rahmen seines Hobbies bei irgendeiner Bastelei geschrieben. Wenn der Mensch beim nächsten Projekt auf das gleiche Problem stößt, wird er es wahrscheinlich verbessern und veröffentlichen. Darauf kannst du warten. Was allerdings wohl kaum passieren wird ist, das jemand anderes diesen Code für dich verbessert. Das müsste dann schon aus sportlichem Ehrgeiz oder endloser Langeweile heraus passieren. Die Wahrscheinlichkeit, geht jedoch gegen Null weil zu viele Faktoren zusammen treffen müssten: 1) jemand müsste auf das gleiche Problem stoßen 2) mit einer gleichen oder zumindest fast gleichen Anwendungen 3) und der Kompetenz, es zu verbessern 4) und der dazu nötigen Zeit 5) und der dazu nötigen Lust 6) und er müsste sein Werk veröffentlichen 7) und du müsstest auf diese Veröffentlichung aufmerksam werden Da kannst du gleich darauf hoffen, im Lotto Millionär zu werden.
Stefanus F. schrieb: > Wenn ich deinen Quelltext verbessern würde (oder die Lib), dann würde > ich das nur tun, um mir etwas zu meinem knappen Gehalt dazu zu > verdienen. Das wäre dann für mich eindeutig Arbeit. Ich sagte ja schon: Aus der W. schrieb: > Wir haben da wohl sehr unterschiedliche Einstellungen zur > Hilfe im Forum, deshalb passt das nicht. Stefanus F. schrieb: > Was allerdings wohl kaum passieren wird ist, das jemand anderes diesen > Code für dich verbessert. Das müsste dann schon aus sportlichem Ehrgeiz > oder endloser Langeweile heraus passieren. Die Wahrscheinlichkeit, geht > jedoch gegen Null weil zu viele Faktoren zusammen treffen müssten: > > 1) jemand müsste auf das gleiche Problem stoßen > 2) mit einer gleichen oder zumindest fast gleichen Anwendungen > 3) und der Kompetenz, es zu verbessern > 4) und der dazu nötigen Zeit > 5) und der dazu nötigen Lust > 6) und er müsste sein Werk veröffentlichen > 7) und du müsstest auf diese Veröffentlichung aufmerksam werden In meinem Bereich mache ich das. Und wenn es keine Programmierer mit meiner Einstellung gäbe, hätten wir kein Arduino. LG old.
Aus der W. schrieb: > Ich sagte ja schon: Wir haben da wohl sehr unterschiedliche Einstellungen Ja, sieht so aus. Macht nichts, Vielfalt ist gut. Ich würde Dir empfehlen, dich nicht zu sehr auf eine Lib zu versteifen. Die ist nämlich nicht schlecht oder fehlerhaft. In deinem Fall muss die Lösung darin bestehen, das Konzept des Programms zu ändern.
Stefanus F. schrieb: > Ich würde Dir empfehlen, dich nicht zu sehr auf eine Lib zu versteifen. Tue ich auch nicht. Ich werde jetzt mal die ALC "programmieren". Damit muss ich mir dann auch keine Gedanken machen, wie man den letzten VCA-Spannungswert speichert. Die Arduino-ALC bietet deutlich mehr als eine rein analoge mit RC-Zeitkonstante. Sie wird genau das tun, was Mensch am Poti machen würde. LG old.
Aus der W. schrieb: > Und wenn es keine > Programmierer mit meiner Einstellung gäbe, hätten wir > kein Arduino. Wenn es nur Programmierer mit Deiner Einstellung gäbe säßen die alle noch vor dem Rechenschieber und würden sich beschweren daß noch keiner den Computer erfunden hat! Bzw. sie wüßten gar nicht daß es den in einer anderen Realität gegeben hätte und würden sich dann halt über irgendwas anderes beschweren. Zum Beispiel daß die Zahlen alle auf dem Kopf stehen. Und den Vorschlag ihn einfach richtig rum zu halten würden sie ignorieren und stattdessen vom Hersteller verlangen den "Bug" zu fixen während sie sich notdürftig Brillen konstruieren mit denen man alles um 180° verdreht sieht.
:
Bearbeitet durch User
Bernd K. schrieb: > Wenn es nur Programmierer mit Deiner Einstellung Nicht meine Einstellung zum Programmieren, sondern zur Analogtechnik. Aus der W. schrieb: > Fortschritt am Modulator: > Ich mache gerade das Sallen-Key für die VCAs fertig. Ist fertig, Siehe Bild. Jetzt kommt der passende ALC-Sketch. So macht das Freude. :) Die Leiterplatte unten ist der Ersatz für den Pushbutton-Rotary auf den ich noch warte. LG old.
"Ach, ich mach lieber was anderes" "Bleibt der Ton eben verzerrt" "Einer wird sich schon finden" Zu piepen echt... Du bist eben der einzige, der n DDS mit sin() in der Main erzeugt und sich am Ende wundert, das es 'hoplert'. Der Pilotton hoplert auch, wenn Du ne UART-Ausgabe machen würdest oder Befehle auf der seriellen empfangen wollen würdest oder auf ne Eingabe warten wölltest. also: immer quasi. Aber schimpfen. Schnell noch ein Foto "seht her - ich bin nicht ganz blöd, ich kann 'einen ALC' löten". Etwas mehr Demut wäre schon angebracht. Kein Problem, wenn man etwas nicht kann. Dann aber auch dazu stehen, Hilfe annehmen, sich interessiert zeigen und sich wenigstens ansatzweise mit der Thematik beschäftigen. Stattdessen poltert Du hier hier durch die Gegend. Langsam muss ich wirklich schmunzeln. Erinent mich an den Typen, der im Dunkeln sein 2Euro Stück unter der Strassenlaterne sucht, obwohl er genau weiss, es 100 Meter weiter verloren zu haben. Problem: dort ist es dunkel und er würde es dort ohne Licht nicht finden. gg Viel Spass noch weiterhin. Sehr unterhaltsam. ÄxlDG1RTO
äxl schrieb: > Erinent mich an den Typen, der im Dunkeln sein > 2Euro Stück unter der Strassenlaterne sucht, obwohl er genau weiss, es > 100 Meter weiter verloren zu haben. Problem: dort ist es dunkel und er > würde es dort ohne Licht nicht finden. Sehr schön und treffend.
Aus der W. schrieb: > Für größere Projekte nehme ich dann halt den Mega und klemme das > Display wieder parallel an. Wo es geht versuche ich libs zu > vermeiden. Nein, das bringt genau 0,nix. Dein Problem ist, zu erkennen, welches sind zeitkritische Tasks, die in einen Interrupt gehören und welche nicht.
äxl schrieb: > Stattdessen poltert Du hier hier durch die Gegend Ich nenne ein solches Verhalten mittlerweile "rumtrumpen". Denn der Trump verhält sich ähnlich. ------- Seit 40 oder 50 Jahren bestehende Style Guides werden mit einem Fingerschnippen beiseite gewischt. Hier stehen sicherlich weit über 300 Mannjahre Programmiererfahrung als Berater zur Seite. Die Beratung wird nicht verstanden und der jeweilige Überbringer mit Häme überschüttet. Die Schuld wird überall gesucht, wirr argumentiert, aber das eigene Denken nicht im geringsten angezweifelt. --------- Es ist zum fremdschämen....
äxl schrieb: > "Ach, ich mach lieber was anderes" "Bleibt der Ton eben verzerrt" "Einer > wird sich schon finden" > Zu piepen echt... > Du bist eben der einzige, der n DDS mit sin() in der Main erzeugt und > sich am Ende wundert, das es 'hoplert'. Was lügst Du denn hier rum? Erstens bin ich nicht der Einzige und zweitens arbeiten die Sketche, welche ich hier gepostet habe, ufb. Das zur Richtigstellung. äxl schrieb: > Schnell noch ein Foto Freut mich, dass Die Veröffentlichungen von mir, solche Typen wie Dich, ärgern. Dann mache ich alles genau richtig.
Aus der W. schrieb: > zweitens arbeiten > die Sketche, welche ich hier gepostet habe dann ist doch alles gut, warum dann dieser Thread? Aus der W. schrieb: > Mir ist aufgefallen, dass wenn ich das I2C-Display anspreche, > andere Funktionen gestört sind. ja kenne ich, mir fällt auch auf das was gestört ist wenn ICH Fehler mache :)
:
Bearbeitet durch User
Arduino Fanboy D. schrieb: > Seit 40 oder 50 Jahren bestehende Style Guides werden mit einem > Fingerschnippen beiseite gewischt. > > Hier stehen sicherlich weit über 300 Mannjahre Programmiererfahrung als > Berater zur Seite. Die Beratung wird nicht verstanden und der jeweilige > Überbringer mit Häme überschüttet. > > Die Schuld wird überall gesucht, wirr argumentiert, aber das eigene > Denken nicht im geringsten angezweifelt. Er könnte sofort in die Elektronik-Entwicklung der Automobilindustrie einsteigen. Läuft genau so! :-D SCNR
Joachim B. schrieb: > dann ist doch alles gut, warum dann dieser Thread? Das steht, wie so oft, im Startbeitrag. Bis eine Lösung kommt, nutze ich den Thread um den Bastelfortschritt zu dokumentieren. LG old.
Arduino Fanboy D. schrieb: > Hier stehen sicherlich weit über 300 Mannjahre Programmiererfahrung als > Berater zur Seite. Guter Witz zum Wochenanfang. :)))
Das lässt sich leicht umgehen... . Leider nicht mit den fertigen Libs. ... Dein sin() verbrennt zu viel Takte Deine i2c lib arbeitet mit delays... Hier hilft nur ein i2c per polling oder ISR mit Low priority Und dein DDS müsste mit lookuptable und ISR Update umgebaut werden. Dann kannst den uC in den Schlaf legen und Trotzdem funktioniert alles ^^ Anders gesagt... Werf die i2c und dds Libs weg und schreib sie selbst neu
Aus der W. schrieb: > Etwas Zeit zur Nachbesserung sollte man schon geben, > bevor man schimpft. Das ist aber sehr freundlich von Dir - wie viel hast Du denn für die Lib bezahlt?
Hi >Bis eine Lösung kommt, nutze ich den Thread um den >Bastelfortschritt zu dokumentieren. Wem? MfG Spess
Hff schrieb: > Deine i2c lib arbeitet mit delays... Danke für die Info. Ach duch schei … delay steht bei mir seit den ersten Gehversuchen mit Arduino auf der "niemals verwenden" Liste. Das man sich delay dann doch noch über eine lib reinholen kann, ist dann schon bitter. "Delay" rauswerfen war übrigens meine erste Modifikation am VFO-Sketch hier. LG old.
Aus der W. schrieb: > Hff schrieb: >> Deine i2c lib arbeitet mit delays... > > Danke für die Info. > Ach duch schei … > delay steht bei mir seit den ersten Gehversuchen mit Arduino > auf der "niemals verwenden" Liste. > Das man sich delay dann doch noch über eine lib reinholen kann, > ist dann schon bitter. > > LG > old. bringt nichts es zu vermeiden wenn man die libs nicht kennt da es zig diverse libs gibt... hier eine davon :
1 | uint8_t I2C::sendByte(uint8_t i2cData) |
2 | {
|
3 | TWDR = i2cData; |
4 | unsigned long startingTime = millis(); |
5 | TWCR = (1<<TWINT) | (1<<TWEN); |
6 | while (!(TWCR & (1<<TWINT))) |
7 | {
|
8 | if(!timeOutDelay){continue;} |
9 | if((millis() - startingTime) >= timeOutDelay) |
10 | {
|
11 | lockUp(); |
12 | return(1); |
13 | }
|
14 | |
15 | }
|
16 | if (TWI_STATUS == MT_DATA_ACK) |
17 | {
|
18 | return(0); |
19 | }
|
20 | uint8_t bufferedStatus = TWI_STATUS; |
21 | if (TWI_STATUS == MT_DATA_NACK) |
22 | {
|
23 | stop(); |
24 | return(bufferedStatus); |
25 | }
|
26 | else
|
27 | {
|
28 | lockUp(); |
29 | return(bufferedStatus); |
30 | }
|
31 | }
|
das "timeOutDelay" kann man auf 0 setzen ... aber das wird dann für die geräte witzig es gibt hier also je nach menge der I²C Daten lange schleifen mit immer wiederholenden warteschleifen man kann sowas auch per polling betreiben und zwischendurch immer was anderes tun .. oder per ISR oder man legt fest das die anderen aufgaben durch eine ISR priorisiert werden ( DDS ) dann kann man die warteschleifen ggf tollerieren
hfhd schrieb: > man kann Bis ich so etwas kann, bleibe ich bei meiner Lösung. Ich möchte den Modulator erstmal fertig machen und der ALC-Sketch ist noch nicht komplett. LG old.
I²C Implementierungen sind häufig blockierend, egal ob mit delay() oder anderen Warteschleifen. Ich würde sie deswegen nicht herabwerten. Man muss das immer Kontext der Anwendung sehen, für die das ursprünglich entwickelt wurde.
Arduino Fanboy D. schrieb: > Hier stehen sicherlich weit über 300 Mannjahre Programmiererfahrung als > Berater zur Seite. Die Beratung wird nicht verstanden und der jeweilige > Überbringer mit Häme überschüttet. Der TO erwartet auch keine Beratung, sondern eine sofortige Lösung seines persönlichen Problems. Die Forengemeinschaft hat sofort alles wegzulegen und den Arduino-Sketch des TO so umzuschreiben, dass er genau das macht, was der TO wünscht. Das ganze natürlich nicht gegen Bezahlung.
ich persönlich würe ja alles zeitkritische in eine isr verschieben und zeitintensive berechnungen versuchen durch look-up-tables oder andere optimierungen zu ersetzen. ich glaube das hatte hier noch keiner vorgeschlagen.
Sven K. schrieb: > ich glaube das hatte hier noch keiner > vorgeschlagen. Das war eigentlich das zentrale Element aller Antworten von Anfang an, in epischer Breite ausgearbeitet, begründet und sogar mit funktionierenden Codebeispielen garniert, oder versteh ich den Witz grad irgendwie nicht?
Karl Valentin schrieb:
> "Es ist schon alles gesagt, nur noch nicht von allen"
SCNR,
WK
Bernd K. schrieb: > oder versteh ich den Witz grad > irgendwie nicht? ich hätte den sarkasmus durchaus deutlicher kennzeichnen können - das stimmt schon. aber so könnte der threadstarter vielleicht denken es ist eine ernstgemeinte antwort und denkt vielleicht darüber nach.
hfhd schrieb: > dann kann man die warteschleifen ggf tollerieren Genau! Das ist der Punkt. Das ist zu tolerieren. Bedingt aber eben, dass der 25Hz Sinus asynchron zu loop() erzeugt werden will. Aber das geht nicht in den Schädel des TO. Ihm hat keine Kompetenz um überhaupt in die LCD Lib zu schauen, aber genug um zu beurteilen, dass sie kaputt ist. Hff schrieb: > Anders gesagt... Werf die i2c und dds Libs weg und schreib sie selbst > neu Unfug, da nicht das Problem. Aus der W. schrieb: > Bis eine Lösung kommt, .... Kannst du warten bis du schwarz wirst. Der Lösungsweg steht ein Dutzend mal hier im Thread. Du bist es, der sie umsetzen muss. Du wartest also auf dich selber.
Sven K. schrieb: > ich persönlich würe ja alles zeitkritische in eine isr da in dem Sketch eigentlich fast alles zeitkritisch ist, wünsche ich viel Spaß beim Verschieben.
Der AVR mit seiner simplen Interrupt-Architektur hat halt seine Grenzen. Die Summe des Verweilens in den Interrupt-Routinen ergibt den schlimmsten Fall bezüglich zetlicher Unsicherheit. Viel besser sind da Prozessor-Architekturen die Interrupt-Ebenen(levels) haben. Da bekommt die zeitkritischste Routine den höchsten Level. Die kann dann immer alle anderen Interrupts unterbrechen. Die zeitliche Unsicherheit liegt dann bei der Befehlsdauer vom längsten Befehl(einige Takte).
:
Bearbeitet durch User
Arduino Fanboy D. schrieb: > Aber das geht nicht in den Schädel des TO. Wann geht denn in Deinen Schädel, dass es da noch andere Zeitkritische Dinge gibt? Kannst Du den Sketch nicht nachvollziehen? Verstehst Du die Abläufe da nicht? Anders kann ich mir Deine wenig hilfreichen Antworten nicht erklären.
Aus der W. schrieb: > da in dem Sketch eigentlich fast alles zeitkritisch ist, Warum hast Du die Sachen dann überhaupt erst in die main loop gepackt wenn es zeitkritisch ist? > wünsche ich viel Spaß beim Verschieben. Wo ist das Problem? Es ist doch alles eine einzige lange Wurst, Du schneidest die zeitkritischen Teile raus aus der Wurst und packst sie in einen Interrupt. Fertig.
aber wenn ich so viele zeitkritische sachen habe - optimiere ich dann nicht mal irgendwo? es fängt ja schon bei der benutzung von "digitalWrite()" an... das ist glaube ich die langsamste funktion zum setzen / löschen eines pins die ich kenne.
Aus der W. schrieb: > Arduino Fanboy D. schrieb: >> Aber das geht nicht in den Schädel des TO. > > Wann geht denn in Deinen Schädel, dass es da noch andere > Zeitkritische Dinge gibt? Kannst Du den Sketch nicht nachvollziehen? > Verstehst Du die Abläufe da nicht? Anders kann ich mir Deine > wenig hilfreichen Antworten nicht erklären. Dein Programm sieht aus, wie ein Haufen gebrauchter zugeschissener Unterhosen. Da wühl mal schön selber drin rum. Oder zeige was ansprechend formatiertes. > dass es da noch andere Zeitkritische Dinge gibt? Kann ja sein .. Ein Problem nach dem anderen ... Aber wenn man bei der ersten Hürde schon so abkackt, die Flinte in den Sand steckt, und den Kopf ins Korn wirft, dann sehe ich schwarz für deine 25Hz
Während Ihr blöd rummotzt, habe ich die ALC fertig gemacht. Ein absolutes Highlight. Ist definitiv ein "must have" am Modulator. Der Sketch ist einfach nur genial geworden. :) Ich werde noch eine Pilottonabschaltung bei monophonen Sendungen programmieren. Pilot an, Pilot aus, kann ich mir ja problemlos im Display anzeigen lassen. LG old.
Aus der W. schrieb: > Ein absolutes Highlight. Yep. Eine ganze Seite globale Variable sah ich schon sehr lange nicht mehr. leo
leo schrieb: > Eine ganze Seite globale Variable sah ich schon sehr lange nicht > mehr. Und die Formatierung. Formidable!
Stefanus F. schrieb: > Und die Formatierung. Formidable! Da schließe ich mich an - Gratulation! Immer wieder erfrischend, so etwas zu sehen :-) Ich frage mich nur, ob es wohl manchen Zeitgenossen körperliche Schmerzen verursacht, wenn sie die "Automatische Formatierung" anklicken? Wenn ich schon am Lästern bin :-) - scharf ist diese Sequenz (fast genial):
1 | if (d < -50 || d > 50){diff = HIGH;} //Differenzsignal |
2 | else {diff = LOW;} |
3 | if (diff == LOW) // MonoFlop für Differenzsignalanzeige |
4 | {diffist = millis(); |
5 | if (diffist - diffstart > diffausverz) |
6 | {boolblau = LOW;}} |
7 | else{diffstart = millis(); boolblau = HIGH;} |
8 | if ((boolblau && ein) == HIGH){digitalWrite(ledblau,HIGH);} |
9 | else {digitalWrite(ledblau,LOW);} |
:
Bearbeitet durch User
Aus der W. schrieb: > Freut mich, dass Die Veröffentlichungen von mir, solche Typen > wie Dich, ärgern. Dann mache ich alles genau richtig. äxl schrieb: > Sehr unterhaltsam. warum sollte es mich ärgern, wenn Du dich hier zum Hampelmann machst? Mit Verlaub: ich bin hier schon ne Weile mit dabei, um gut zu wissen, wie es hier läuft. Aber eben auch, wie es eben genau NICHT läuft. Nämlich so, wie Du es hier feierst. Das beste: Am Ende schreibt Dir doch ein gelangweilter dein Programm fix und fertig. Nur, um deine Reaktion darauf zu testen. Also: weitermachen ;) Axel Rühl DG1RTO
Aus der W. schrieb: > Während Ihr blöd rummotzt,.... Mal ganz ehrlich, Deine Formatierung des Quelltextes ist schon Augenkrebs. Wenn Du damit zurecht kommst Deine Sache, aber bei dieser Formatierung darfst Du keine Hilfe erwarten. Den Quelltext zu lesen tut man sich nicht freiwillig an.
Äxl schrieb: > Am Ende schreibt Dir doch ein gelangweilter dein Programm fix und > fertig. Das Programm ist fertig und läuft. Es kommen nur noch weitere Updates. Die ALC ist es wert nachgemacht zu werden, auch für andere Modulatoren. Ihr kommt mir vor wie Analphabeten, die einen Text nicht lesen können, sich aber zum Aussehen äußern. Zeno schrieb: > bei dieser > Formatierung darfst Du keine Hilfe erwarten Die Formatierung ist eine Ausrede wie Schaltbild angeblich unleserlich oder so. Bekannt. Gähn. LG old.
Ich bin immer noch der Meinung, daß I2C zum Betrieb des LCDs eine unglückliche Wahl war. Wenn es schon seriell sein soll, wäre HW SPI die günstigere Lösung zu unblockierendem Betrieb. Mit einem 8MHz getaktetem HC164 SR wäre ein Byte in einer einzigen us übertragen. So etwas ließe sich elegant in eine Timer getakteten ISR verstecken wo es niemand bemerkt. Mit einem gepufferten ISR LCD Treiber liefe die LCD Bedienung total im Hintergrund. Derselbe Timer ISR könnte die Pilotton Werte aus einer LUT im Flash beisteuern. Der ganze Code wäre so super einfach auf diese Art und der uC würde sich in der Haupt Loop langweilen oder könnte die DDS Bedienung elegant ermöglichen. Ich habe schon den Eindruck, daß man das arme Pferd von hinten aufzäumte...
Aus der W. schrieb: > Die Formatierung ist eine Ausrede wie Schaltbild angeblich > unleserlich oder so. Bekannt. Gähn. Zeig doch bitte mal ein selbst entwickeltes Schaltbild oder gar zusätzlich ein Layout - das wäre wirklich mal interessant - nur so, zum Vergleich :-)
Platinen Frickler schrieb: > Ich bin immer noch der Meinung, daß I2C zum Betrieb des LCDs eine > unglückliche Wahl war. Spielt in diesem Sketch keine Rolle mehr. Hugo H. schrieb: > wenn sie die "Automatische Formatierung" > anklicken? Mach es doch für Dich wenn es Dir hilft, den Inhalt zu verstehen. LG old.
Aus der W. schrieb: > Mach es doch für Dich wenn es Dir hilft, den Inhalt zu verstehen. Vielleicht würde es Dir helfen zu verstehen, was Du da programmiert hast.
Kann man den Thread nicht mal schließen? Der "Meister" kapiert's eh nicht mehr und niemand will seine Löthaufen sehen, für die er "seine Lösung" gefunden hat. Wenn's doch eh für ihn funzt -> zu damit. "Man kann einem Menschen nichts lehren, man kann ihm nur helfen, es in sich selbst zu entdecken" - Galileo Galilei
könnte zu, stimmt. andererseits ist es auch amüsant, weil jeden zweite offenbar "neue" Leute auf diesen Thread stossen. Ich find gut, dass wir jetzt nicht mehr bis Freitags warten müssen. Auch will ich den sehen, der nicht alles liest, sondern ihm stattdessen den 25Hz Pilotton in die ISR packt, den Rest glattzieht und alles noch schön formatiert und sich wundert, weshalb das noch niemand getan hat. Denn "so blöd kann doch keiner sein" gg Schönen Abend Äxl
Äxl schrieb: > könnte zu, stimmt. Ja, das tut weh den Baufortschritt zu sehen, wenn man selbst so etwas nicht kann oder nicht mitmachen will. Ich mache einen anderen Thread auf und ein Blog dazu kommt auch. Es gibt eben Motzer und Macher hier im Forum. LG old.
Carl D. schrieb: > Und vereinzelt auch Rumheuler. Beitrag "Arduino ALC" Ist auch zum Heulen, dass der Pushbutton Rotary noch nicht eingetroffen ist. Möchte endlich die Frontplatte fertig machen ... Aus der W. schrieb: > Ich mache einen anderen Thread auf Da würde das passen: https://www.mikrocontroller.net/forum/codesammlung LG old.
Hmm... man könnte auch ein Rechtecksignal erzeugen und durch einen Tiefpass leiten... dann braucht man keinen bösen ISR.
Aus der W. schrieb: > Carl D. schrieb: >> Und vereinzelt auch Rumheuler. > > Beitrag "Arduino ALC" > > Ist auch zum Heulen, dass der Pushbutton Rotary noch nicht > eingetroffen ist. Möchte endlich die Frontplatte fertig > machen ... > q.e.d.
yesitsme schrieb: > Hmm... man könnte auch ein Rechtecksignal erzeugen Wegen eines I2C Displays auf das man nur einmal beim Einstellen der Frequenz schaut und welches sich nach 20 Minuten eh abschaltet? Der Sinus vom Semir bleibt. Ist absolut top, alles andere wäre ein technischer Rückschritt. LG old.
Dann ist das ja auch kein Problem, wenn sich beim Einstellen der Frequenz die Frequenz ändert und zusätzlich auch kurz der Sinus verdellt ist. Warum wird hier Seitenlang über kein Problem diskutiert?
yesitsme schrieb: > Warum wird hier Seitenlang über kein Problem diskutiert? Weil manch Einer ein Podium benötigt...
Aus der W. schrieb: > Der Sinus vom Semir bleibt. Paranoia? Angstzustände? Werde mal wach! Dir will doch keiner deinen Sinus weg nehmen. Egal welches Etikett da drauf klebt. War da nicht was wg. Aussetzern, beim Betrieb mit I2C Displays? Das ist es doch, wo du das Handtuch wirfst, versagst, und deine neurotische Fehlanpassung ausleben musst.... Keiner will deinen ineffektiven Sinus haben.... Den kannste gerne behalten.
Arduino Fanboy D. schrieb: > War da nicht was wg. Aussetzern, beim Betrieb mit I2C Displays? Die sind doch irrelevant, wie wir gerade gelernt haben.
Aus der W. schrieb: > Zeno schrieb: >> bei dieser >> Formatierung darfst Du keine Hilfe erwarten > > Die Formatierung ist eine Ausrede wie Schaltbild angeblich > unleserlich oder so. Bekannt. Gähn. Ne Dein Quelltext ist schlichtweg unleserlich. Du vergißt anscheinenden, das jeder der Dir helfen soll sich erst mal in Deine "Denke" hinein versetzen muß, um überhaupt erst einmal zu verstehen was Du da machst. Fremde Gedankenzüge nachvollziehen ist schon schwer genug und wenn man dann noch den Quelltext auseinander puzzeln muß wird es noch schwerer. Da hat man dann ganz schnell keine Lust mehr. Es kann doch wohl nicht so schwer sein, z.B. alle if Schleifen in einem einheitlichen Stil zu formatieren. Es ist auch eine Frage der Höflichkeit, das man denen, von denen man Hilfe haben möchte, das Leben - sprich lesen des Sourcecodes - nicht unnötig erschwert. Aber offensichtlich willst Du keine Hilfe haben.
Aus der W. schrieb: > Der Sinus vom Semir bleibt. Ist absolut top, > alles andere wäre ein technischer Rückschritt. Vorsicht. Du riskierst, daß sich Deine Leser totlachen. Deinen schrägen Code will definitiv kein anderer verwenden. Du muß also nicht mehr weiter posten. Eine Beschreibung und den dazu gehörenden Schaltplan willst Du ja nicht posten. Es gibt zwar auch guten Code, der weitgehend selbst erklärend ist, aber Deiner ist davon meilenweit entfernt. In der Firma dürfte ich sowas nicht abgeben. Die würden mich sofort zum Drogentest schicken und ihn natürlich komplett wegschmeißen.
Aus der W. schrieb: > Die Formatierung ist eine Ausrede wie Schaltbild angeblich > unleserlich oder so. Bekannt. Gähn. Faule Sau!
Platinen Frickler schrieb: > Mit einem gepufferten ISR LCD Treiber liefe die LCD Bedienung > total im Hintergrund Ja, hätte hätte Fahrradkette. Wenn man ein Pferd braucht, dann aber ein Maultier verwendet, muss man eben mit den Unterschieden leben.
Äxl schrieb: > Auch will ich den sehen, der nicht alles liest, sondern ihm stattdessen > den 25Hz Pilotton in die ISR packt, den Rest glattzieht und alles noch > schön formatiert und sich wundert, weshalb das noch niemand getan hat. Meinst du Falk?
Zeno schrieb: > if Schleifen Dich muss man wohl auch samt dem alten Opa hier mit einem K&R Buch durchs Ghetto jagen...
Peter D. schrieb: > Deinen schrägen Code will definitiv kein anderer verwenden. Du muß also > nicht mehr weiter posten. Doch, es wird jemand verwenden. Und zwar einfach irgendwelche Ausschnitte in sein Programm kopieren und sich dann aufregen, dass eine Lib fehlerhaft ist und die ganze Welt unfähig sei. Aus der W. schrieb: > wenn man selbst > so etwas nicht kann oder nicht mitmachen will. Das hat etwas mit Anstand zu tum. Ich muss nicht überall mitmachen, auch wenn ich es mit einem Fingerschnips machen könnte. Ja, in diesem Fall bin ich mir zu fein dazu.
yesitsme schrieb: > Warum wird hier Seitenlang über kein Problem diskutiert? Siehe 3. Absatz im Startbeitrag. LG old.
Peter D. schrieb: > Eine Beschreibung und den dazu gehörenden Schaltplan willst Du ja nicht > posten. Ich habe nur Schaltungsteile in LTspice. Welchen Schaltungsteil möchtest Du denn sehen? Ich kann Dir auch einen Screenshot davon hochladen. LG old.
Also doch ein Problem... Ich habe Schrauben und einen Hammer. Ich will ein Bild aufhängen. Gut, kann ich schon so machen, aber vernünftig und richtig geht anders.
Aus der W. schrieb: > Ich kann Dir auch einen Screenshot davon hochladen. Ist auf jeden Fall viel besser, als gar keinen Plan zu sehen.
Aus der W. schrieb: > Nur blöde Sprüche, Beleidigungen, Lügen und falsche Unterstellungen. Du benutzt eine Funktion im loop() die absolute präzision benötigt. Aber dein loop() benötigt eine unbekannte und variable Laufzeit. Das passt nicht so recht zusammen. Im Thread sind einige Lösungsideeen, aber alle werden von dir als falsch zurückgewiesen. Was erwartest du dann für Antworten?
yesitsme schrieb: > Was erwartest du dann für Antworten? Eine mit .ino am Ende. (Ich lach mich grad weg.) Ordentlich als Anhang mit Codeansicht und nicht irgendwie in den Beitrag kopiert. Habe ich Euch oft genug gezeigt. Da Beitrag "Arduino AM-Stereo ALC automatische Pegel Modulationsgradeinstellung" z.B.. LG old. PS: Der Sinus ist nicht verhandelbar.
Aus der W. schrieb: > Eine mit .ino am Ende. (Ich lach mich grad weg.) Ich fühle mich gerade wie der einzige nüchterne in einer Gruppe bekiffter und besoffener Freunde: Was gibt es da zu lachen?
Aus der W. schrieb: > yesitsme schrieb: >> Was erwartest du dann für Antworten? > > Eine mit .ino am Ende. So, jetzt kann der Thread geschlossen werden. *.ino*
Aus der W. schrieb: > Ist auch zum Heulen, dass der Pushbutton Rotary noch nicht > eingetroffen ist. Möchte endlich die Frontplatte fertig > machen ... Oh, das kommt auch noch?! Das wird lustig! Ich freu mich schon auf die Diskussionen zur Entprellung! :-D händereib *Popcornsuch*
:
Bearbeitet durch User
Eric B. schrieb: > Ich freu mich schon auf die > Diskussionen zur Entprellung! Dann gebe ich mal den Startschuss. Ich meine C20 genügt dafür. Funktioniert auch ufb. R18 ist hoffentlich der maximale Widerstand im gedrückten Zustand nach GND. Schaltbild anbei, in der 20191014g .ino Zeilen 100 bis 115. LG old.
okay, okay: wofür das ganz sein soll, hab ich ja nun mitbekommen. Ein Stereo-Prüfsender für Mittelwelle, für den es offensichtlich auch mal Empfangsgeräte gab. Ich finde es nur schade bis beschämend, wenn man sich auf diese Art und Weise derart selbst ins "aus" schiesst. So bleibt die Neugierde und der Bastelspaß natürlich komplett aussen vor. Gut, ich habe eh keinen entsprechend ausgestatten Empfänger hierfür. Also Darius merke: wie man in den Wald hineinruft. Ich dachte eigentlich, als erwachsener Mann hat man das drauf. Aber du scheinst ja generell ein rechter Stänkerfritze zu sein, der schnell mal die Beherrschung verliert. Man kann das auf anderen Plattformen sehr gut herauslesen. Das finde ich, wie bereits mehrfach erwähnt, sehr schade. Nicht nur für Dich. wofür brauchst Du die ALC eigentlich? Hing das mit dem DDs zusammen, der bei höheren Frequenzen kleinere Amplituden ausgab oder war es die Modulation, die Du einregeln möchtest? Leider gehen hier solche technischen Details komplett unter, weil du stattdessen versuchst, dich hier erneut profiliern zu müssen. Musst Du nicht! Jeder hat hier seine Kernkompetenzen. Sicher auch Du. Das sich die Interessen nicht immer zu 100% decken, gibt Dir nicht das Recht, hier so auszuteilen und rechthaberisch daherzukommen. Wenn das deine Art ist, dann bitte. Aber nicht hier, sondern im Röhrenforum oder meinetwegen auf deinem Solinger 2-Meter Relais unter deinesgleichen. letzte Frage; Schaltplan zum Projekt? Ich bin auch eher der Analogfreund, als der c-Programmierer. Mir wurde bislang immer geholfen. komisch...
Aus der W. schrieb: > Ich meine C20 genügt dafür. bei einem drehendecoder ? .. - nein - da nicht das signalprellen dein einzigstes Problem sein wird
hfhd schrieb: > drehendecoder Zeile 4 und Zeilen 193-->207. Beitrag "Arduino AM-Stereo ALC automatische Pegel Modulationsgradeinstellung" äxl schrieb: > okay, okay: Habe nur den Anfang gelesen. Zuviel Text für einen Beitrag und gespickt mit Beleidigungen. Troll dich. LG old.
Zeno schrieb: > Du vergißt anscheinenden, > das jeder der Dir helfen soll Er will doch gar nicht daß ihm jemand hilft, er will doch hier nur sein Geltungsbedürfnis befriedigen und den Mist ausscheiden der ihm durch seinen Kopf schwimmt.
Einen Schaltungsschnipsel erklärt und ihr spuckt Gift und Galle. Aus der W. schrieb: > Peter D. schrieb: >> Eine Beschreibung und den dazu gehörenden Schaltplan willst Du ja nicht >> posten. > > Ich habe nur Schaltungsteile in LTspice. Welchen Schaltungsteil > möchtest Du denn sehen? Ich kann Dir auch einen Screenshot > davon hochladen. Ärgerlich, wenn das Gegenüber entgegen der Behauptung bereitwillig Fragen beantwortet, gelle? LG old.
Dein Beitrag mit dem Schaltungs-schnipsel muss verloren gegangen sein. Ich sehe hier keinen.
Bernd K. schrieb: > und den Mist ausscheiden der ihm durch > seinen Kopf schwimmt. Das muss ja nicht einmal "Mist" sein. Aber wer konstruktive Kritik mit Beleidung verwechselt, wer nicht in der Lage ist, zwischen den Zeilen zu lesen und nicht einmal ansatzweise zu erkennen vermag, dass man - zurück auf technischem Niveau - nun doch einmal ganz genau wissen will, worum es eigentlich geht eben um (durch die Blume) Support anzubieten... Dem muss nicht geholfen werden. Dem nicht! Eine zusammenhängende Dokumentation gibt es nicht. Sonst wäre die gleich oben mit beim ersten Post mit dabei gewesen. Anstatt den Forenteilnehmern etwas "Honig ums Maul zu schmieren", erreicht er mit seiner feinfühligen Art exakt das Gegenteil. schon witzig. Ich hab jetzt aber auch keine Lust mehr, mich mit der Sache auseinanderzusetzen, auch wenn ich sehr wohl (wie viele andere auch) zu denen zähle, die "sowas" hier wirklich aus dem Ärmel schütteln. Auch, wenn meine Kernkompetenzen eher im analogen, bzw. im HF-Bereich liegen.. Dann werd' ich mich mal trollen. hehe ;)
Aus dem Nico Semsrott seinen Unglückskeksen: > Alle sagen: Das geht nicht! > Einer wusste das nicht und probierte es aus. > Und: Es ging nicht.
äxl schrieb: > Eine zusammenhängende Dokumentation gibt es nicht. Die kommt, wenn das Gerätchen halbwegs fertig ist. So wie bei anderen Projekten auch in meinen Blogs. Da kannst Du dich dann drüber weiter ärgern. Unleserlich, Formatierung usw. Geht mir am Allerwertesten vorbei, hi hi. äxl schrieb: > Anstatt den Forenteilnehmern etwas "Honig ums Maul zu schmieren" Nein. Das mache ich garantiert nicht. äxl schrieb: > Dann werd' ich mich mal trollen. hehe ;) Ja, dann versuche es mal mit einem neunen Nick. Ich denke, man wird dir das gestatten.
Arduino Fanboy D. schrieb: >> Alle sagen: Das geht nicht! Mach Dich nicht über den Semir lustig. Ich kenne in diesem Forum niemanden, der ihm fachlich das Wasser reichen könnte. Und ich bin hier schon viele Jahre dabei. LG old.
Aus der W. schrieb: > Arduino Fanboy D. schrieb: >>> Alle sagen: Das geht nicht! > > Mach Dich nicht über den Semir lustig. niemand macht sich hier lustig. okay - ich verliere langsam den respekt. meinen nick ändern? weshalb? wen söllte ich da fragen und warum? wissen doch alle, wer ich bin. Aus der W. schrieb: > Da kannst Du dich dann drüber weiter ärgern. nochmal. ich ärgere mich in keinster weise über deine technischen abhandlungen. ich bin mit solchen sachen groß geworden. ich ärgere mich über deine glashaussitzende elfenbeinturmhäusige art und weise. ich ärgere mich auch nicht, ich verstehe es nur nicht. jeder hier hätte dir helfen können, wollen usw. ich wollte dir nur zeigen, warum das niemand bislang tat. hätte längst fertig sein können alles
Sven K. schrieb: > und du könntest nicht gemeint sein? https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154185#pid154185 Siehe Signatur. Und der Sinus ist nicht verhandelbar. äxl schrieb: > ich verliere langsam den respekt Du bist also noch ins negative steigerungsfähig. Das Peinliche an der Sache ist dein Afu Rufzeichen. Bist der 2. OM der mir "sehr unangenehm" im Netz daherkommt.
Aus der W. schrieb: > Das Peinliche an der Sache Das einzige was hier peinlich ist bist Du. Leider merkst Du das nicht.
Semir machts also auch nicht in einer IRQ? Dann kann er genausowenig programmieren wie du ;) Vor allem jedesmal den Sinuswert neu ausrechnen, AUAAA! Zudem: sin() arbeitet mit floats, das is jetz nich grade so geil auf einem 8Bitter.
Mw E. schrieb: > Semir machts also auch nicht in einer IRQ? Schau dir doch einfach seinen Sketch an statt dumm zu fragen.
äxl schrieb: > jeder hier hätte dir > helfen können never. Aber ihr dürft euch gerne weiter über meinen Erfolg ärgern, hi hi. Bernd K. schrieb: > Das einzige was hier peinlich ist bist Du. Leider merkst Du das nicht. Boah eh jetzt hast du es mir aber gegeben. hahahahah
Mw E. schrieb: > Semir machts also auch nicht in einer IRQ? > Dann kann er genausowenig programmieren wie du ;) Nicht, oder nicht gut, programmieren zu können, ist nicht schlimm. Denn es ist der natürliche Anfangszustand eines jeden Menschen. Ebenso natürlich ist es, dass Anfänger krüppelige Lösungen entwickeln. Und, so wie ich den Semir lese, würde er gerne einen besseren Weg beschreiten, sofort, wenn er ihn denn sieht.
Aus der W. schrieb: > Und der Sinus ist nicht verhandelbar. Siegmund Freud hätte wahrscheinlich seine Freude mit der Bewandtnis vom Begriff Sinus... Um Licht in die Sache zu bringen gibt es hier eine Abhandlung über das "Streitobjekt":-) http://www.sprachlog.de/2011/10/28/der-mythos-vom-tal-zwischen-den-bruesten/
Platinen Frickler schrieb: > Freud hätte Ach Leute, das ist doch nichts gegen den hier: äxl schrieb: > Anstatt den Forenteilnehmern etwas "Honig ums Maul zu schmieren", Der Screenshot von dem Beitrag bekommt bei mir einen Ehrenplatz. LG old.
Aus der W. schrieb: > Da kannst Du dich dann drüber weiter ärgern. > Geht mir am Allerwertesten vorbei, hi hi. Ist es Sinnvoll, sich für künftige Hilfestellungen bereits jetzt so undankbar zu zeigen? >Ach Leute, das ist doch nichts gegen den hier: >> Anstatt den Forenteilnehmern etwas "Honig ums Maul zu schmieren", Es täte Dir gut, zu erkennen, in welcher Lage du hier bist. Wer ist hier der Bittsteller? > Aber ihr dürft euch gerne weiter über meinen Erfolg ärgern, hi hi. Kann es sein, das du Verwirrung stiftende Substanzen eingenommen hast? > Und der Sinus ist nicht verhandelbar. Dann eben nicht. Ich habe inzwischen das Gefühl, dass uns von Anfang an nur verarschen wolltest, um Unruhe zu stiften.
Aus der W. schrieb: > > Der Screenshot von dem Beitrag bekommt bei mir einen Ehrenplatz. Der ganze Thread hätte einen Ehrenplatz bei dir verdient. Rubrik "Glanzleistungen eines Kommunikationstalentes" Weil: >250 Beiträge und noch kein bisschen schlauer.
Arduino Fanboy D. schrieb: > Nicht, oder nicht gut, programmieren zu können, ist nicht schlimm. > Denn es ist der natürliche Anfangszustand eines jeden Menschen. > Und gemeinhin auch der Endzustand. > Ebenso natürlich ist es, dass Anfänger krüppelige Lösungen entwickeln. > Nur hält nicht jeder Anfänger seine Lösung für so genial, dass die Ursachen dabei auftretender Probleme grundsätzlich nicht bei sich oder gar seiner Lösung gesucht werden. > Und, so wie ich den Semir lese, würde er gerne einen besseren Weg > beschreiten, sofort, wenn er ihn denn sieht. Klar, kann er: Wetterbedingter Tipp: Arbeit im (eigenen) Garten soll echt entspannend sein - ausserdem ist dort die Luft meist besser als im Bastelkeller.
Aus der W. schrieb: > never. > Aber ihr dürft euch gerne weiter über meinen Erfolg ärgern, hi hi. welchen? das Problem bsteht weiterhin. 6. setzen
Aus der W. schrieb: > äxl schrieb: >> jeder hier hätte dir >> helfen können > > never. > Aber ihr dürft euch gerne weiter über meinen Erfolg ärgern, hi hi. Ist das wirklich so tief verwurzelt bei Dir,kennst Du es eventuell nicht anders? Hier ärgert sich niemand über deine Erfolge, warum auch. Wir feiern hier ganz andere Sachen. Aber es ist doch schön für dich, wenn Du in deiner Welt vorankommst. Aus der W. schrieb: > Das Peinliche an der Sache ist dein Afu Rufzeichen. > Bist der 2. OM der mir "sehr unangenehm" im Netz daherkommt. Du bist der erste OM, der mir unangenehm aufällt. Ich habe mit "honig ums Maul" nur versucht, eine Sprache zu finden, die Du verstehst. ging daneben. auch gut. Anstatt dein Potenzial zu nutzen, machst Du hier die Leute von der Seite an. nicht nur hier...
>äxl schrieb: >> Anstatt den Forenteilnehmern etwas "Honig ums Maul zu schmieren", >Der Screenshot von dem Beitrag bekommt bei mir einen Ehrenplatz. >LG >old. weshalb fertigst Du Screenshots von Beiträgen an? Ähm - ist wirklich in Ordnung bei Dir? Aus der W. schrieb: > äxl schrieb: >> jeder hier hätte dir >> helfen können > > never. Allein dieses "never" ist ungezogen und absolut unangebracht und respektlos. Das ist in meinen Augen eine Beleidigung aller hier. Eine Entschuldigung wäre angebracht.
Aus der W. schrieb: > https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154185#pid154185 https://radio-bastler.de/forum/showthread.php?tid=8756&pid=155265#pid155265 "HALLO oldeurope. Schon mal was davon gehört das man nett anfragen kann wenn man ein Problem hat? Dieses Vollkaskodenken das einem die Lösungen einfach vorgesetzt werden ist absolut dreist und kaum zu überbieten. Wenn man selbst zu "ungeschickt" für eine Implementierung ist, sollte man sich mit solchen Sätzen zurückhalten. "Mich wundert...." ... wie kann man von seinem Projekt nur so überzeugt sein und denken das plötzlich alle springen nur weil der liebe Herr ein Problem hat! Otto." Ohne Worte. https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154787#pid154787 " Semir schrieb: Die Methode mit den XOR Gatter die Frequenz zu verdoppeln kenne ich. Das ist ja sensationell. In meinem Bekanntenkreis und im Internet kennt das nämlich niemand." Semir scheint ein sehr entspannter Mensch zu sein, daß er solchen Hochmut stillschweigend ignoriert. In wieviel anderen Foren benimmst Du Dich denn auch noch daneben?
:
Bearbeitet durch User
Stefanus F. schrieb: > Ist es Sinnvoll, sich für künftige Hilfestellungen bereits jetzt so > undankbar zu zeigen? Wer hilft, bekommt Dank: Beitrag "Re: <rotary.h> mit bool "ein" und Ausschalten." Hier gibt es keine Hilfe von Euch, also auch keinen Dank. Ich beantworte aber gerne weiter Eure fragen zum Projekt. Egal wie ekelig verabscheuungswürdig ihr bei mir rüberkommt. Honig und Dank benötige ich dafür nicht. Es ist natürlich immer besser anonym anzufragen. Momentan bin ich dafür sogar freigeschaltet. Aber bei dem Thema fliege ich sofort auf. hfhd schrieb: > das Problem bsteht weiterhin. Das Problem spielt einfach keine Rolle mehr. Das nennt man Plan B. Den sollte man immer parat haben, wenn man hier Arduino-Fragen stellt. Ganz unerfahren bin ich ja nicht hier im Forum.
Als ich gerade diesen "Schaltungsschnipsel" gesehen habe, kam eine Frage in mir auf. Wie hoch belastet so ein ADC eigentlich die Quelle?
Hier muss doch niemand "danke" sagen... Bei mir ist das normalerweise so: Jemand hat etwas am wirbeln, kommt nicht weiter und zieht mich mit seinem Projekt in seinen Bann. Aus purer Neugierde sagt man sich dann: "okay - witzige Sache, kenn ich garnicht, zeig mal her" oder "hey, cool. Hab ich auch schon einaml angefangen, sowas zu stricken. Hab ich aber damal anders gemacht, am Ende. Probier' dieses und jenes mal aus". Dafür gibt es hier reichlich Beispiele. Es geht eben auch ein wenig darum, andere für "seine Sache" zu begeistern. Dazu liefert man aber eben nen Schaltplan, einen Link aufs 'Projekt', so vorhanden, oder ne andere aussagekräftige Doku. Das ist hier kein Wettstreit, keine Leistungsschau oder dergleichen. Wenn ich statt dessen erstmal hier im Forum oder per Suchmaschine alle Einzelbaustellen zusammensuchen soll, um mir ansatzweise ein Bild von dem machen zu können, was du eigentlich vor hast und auf (anfangs noch freundliche) Nachfrage solch aggressive Reaktionen erleben darf... Es nimmt Dir niemand etwas weg, niemand will besser sein, als Du, niemand neided Dir etwas. Es sind nur alle angepisst. Und Du tust so (als einzigster), als wüsstest Du nicht, warum. Ich find's meegacool, dass sich Leute Gedanken gemacht haben, auf Mittelwelle in stereo zu senden, bin erstaunt, das sich das in Ami-Land auch etabliert zu haben scheint und bin auf der anderen Seite auch erstaunt, dass das komplett an mir vorbei gegangen ist. Normalerweise würde ich schon an der digitalen Basebandaufbereitung sitzen. nundenn: machen wir was anderes...
F. F. schrieb: > Wie hoch belastet so ein ADC eigentlich die Quelle? Google kaputt? Datenblatt! ca 1k bis 100K
äxl schrieb: > Hier muss doch niemand "danke" sagen... Muss nicht, aber ich mach das gerne. Viele Helferlein freuen sich drüber.
Aus der W. schrieb: > Hier gibt es keine Hilfe von Euch, also auch keinen Dank. Die Hilfe gab es schon mehrfach am Anfang. Nur wolltest du die nicht annehmen... kopfschüttel
Arduino Fanboy D. schrieb: > F. F. schrieb: >> Wie hoch belastet so ein ADC eigentlich die Quelle? > Google kaputt? > Datenblatt! > ca 1k bis 100K Man schreibt bei Atmel, dass man nicht über 10K Eingangimpedanz gehen soll, damit der S&H Kondensator ausreichend schnell umgeladen werden kann. ich nehm immer 150K in Reihe und 10K nach GND. Macht 1zu16 Spannungsteiler. Reicht idR von der genauigkeit locker aus und man kann das Ergebnis (bis 36Volt am Eingang) gut weiterverarbeiten. 77K zu 11k sind dann 1 zu 8. Die 77K muss man sich dann zurechtbasteln ;)
Arduino Fanboy D. schrieb: > Google kaputt? > Datenblatt! > ca 1k bis 100K Ne, aber du weißt es doch aus dem Kopf. :-) Ich wollte eigentlich auf was anderes hinaus. Nicht nur, dass der TO hier fürchterlich unhöflich und überheblich ist, es fängt schon bei seiner Messung an. Wenn man seiner Zeichnung folgt, dann misst er da auch nur Mist. Bin hier von einer 12V Batterie ausgegangen. Wenn nun der ADC zwischen 1k und 100k seine Quelle belastet, misst er ungefähr zwischen 375mV und 2,3V an seinem Pin. Also der TO muss sich mit weit mehr als nur dem Controller und der Programmierung befassen. @TO Weißt du, ich bin hier sicher eines der kleinsten Lichter und mein Schein reicht nicht weit. Du pisst hier Fachleute an, die bei deinem Wissen für dich gottähnlichen Status haben.
:
Bearbeitet durch User
Der Typ schädigt hier nachhaltig den Ruf aller Funkamateure. Zum fremd-schämen. In den >40J, die ich lizenziert bin hab ich so eine Borniertheit noch nicht erlebt...
Bleibe dabei, rein statische Last. Habe den Atmega eben auf das UNO Board gesteckt und mit dem DMM zwischen A1 und GND und A1 und 5V gemessen. Erstere 0V, Letztere lag bei 40mV. Macht 1250Meg Belastungswiderstand. Also vernachlässigbar. äxl schrieb: > ich nehm immer 150K in Reihe und 10K nach GND. Meine Werte sind sogar niederohmiger, weil ich wissen will ob Ripples durchbrechen. Nun foldi und ufuf? LG old.
Aus der W. schrieb: > Nun foldi und ufuf? Du bist echt die Härte. Ich dachte immer weniger als Null Ahnung geht nicht ... Aber dein unglaubliches Selbstbewusstsein ist erstaunlich.
Harry L. schrieb: > Der Typ schädigt hier nachhaltig den Ruf aller Funkamateure. > > Zum fremd-schämen. Ist ja ein Ding. Genau das denke ich auch von dem anderen Typ.
Aus der W. schrieb: > Hier gibt es keine Hilfe von Euch, also auch keinen Dank. Du bist ein undankbarer ... (Mensch), das kann man mit positiven Worten gar nicht ausdrücken. > Ich beantworte aber gerne weiter Eure fragen zum Projekt. Wie großzügig von Dir. Meinst du, irgendjemand will von Dir etwas lernen? haha hahaha hahahaha!
Wenn ihr den Typen oldeuropa für so bekloppt und dreist haltet warum füttert ihr ihn weiterhin. Ihr seit selbst Schuld wenn ihr ihm Nahrung gebt. Einfach nicht mehr antworten und der Spuk hat ein Ende.
> Es ist natürlich immer besser anonym anzufragen. > Momentan bin ich dafür sogar freigeschaltet. Geil was? Du bist ein VIP. Du bist einer der wenigen Ausgewählten, die hier anonym posten dürfen. Prost! Völlig merkbefreit. Aus der W. schrieb: > wie ein Gate von einem MOSFET also nur statisch. Das ist fachlich falsch. Siehe Datenblatt des jeweiligen ADC. Arduino Fanboy D. schrieb: > Google kaputt? ca 1k bis 100K Das ist auch falsch. Lies selber das Datenblatt! Aus der W. schrieb: > Bleibe dabei, rein statische Last. > Macht 1250Meg Belastungswiderstand. Also vernachlässigbar. Immer noch sehr falsch. Für diejenigen, die zu faul zum Lesen sind: Der ADC (vermutlich jeder) belastet die Quelle kapazitiv.
Was ist eigentlich mit deiner Webseite http://oldeuropesblogs.blogspot.com/ passiert? Warst du so vom Erfolg überrascht, dass du schon nach einem einzigen Beitrag ins Koma gefallen bist?
Moin, Um hier mal ein bisschen fachlich auch was Neues reinzubringen: Dem Gesamtunternehmen angemessen faende ich es, wenn die 25Hz Pilot aus einer RSM (Ruf- und Signalmaschine) generiert werden wuerden. Vorteile: Die Frequenz ware unabhaengig vom I2C-Bus, der Pegel wuerde sicher ausreichen. Das Rastermass der Anschluesse ermoeglicht auch aelteren Personen eine Bestueckung ohne Sehhilfe. Faellt die RSM mal runter vom Labortisch, findet man sie auch deutlich leichter als so einen ollen µController. Aus Versehen verschlucken oder einatmen ist bei einer RSM auch viel schwerer moeglich. Also viele gute Gruende... Duck & wech WK
Aus der W. schrieb: > F. F. schrieb: >> Als ... >> Wie hoch belastet so ein ADC eigentlich die Quelle? > > wie ein Gate von einem MOSFET also nur statisch. > > LG > old. Wenn man jegliche dynamischen Effekte ignoriert, trifft das die Sache. Ein realer MOSFET hat mindestens eine Gatekapazität, ebenso wie ein ADC beim Samplen gerne eine Ladung zum Umladen, z.B. im Multiplexer des µC schluckt.
Aus der W. schrieb: > Ist ein Gate-Kondensator keine elektrostatische Last? Du hast da Begriffe zusammen und durcheinander gemixt. Der ADC stellt im wesentlichen eine kapazitive Last dar. So nennt man das.
Aus der W. schrieb: > Bleibe dabei, rein statische Last. > Habe den Atmega eben auf das UNO Board gesteckt und > mit dem DMM zwischen A1 und GND und A1 und 5V gemessen. > Erstere 0V, Letztere lag bei 40mV. > > Macht 1250Meg Belastungswiderstand. Also vernachlässigbar. > > Und welchen "Innenwiderstand" hat eine Langdrahtantenne bei dieser Art von Messung? Warum da manche viele viele Watt Leistung reinstecken können, hmm!? Wenn gewusst hätte, wie ahnungslos man dabei sein darf, hätte ich auch vor 40Jahren auch eine AFu-Lizenzprüfung mitgemacht. Für den Blinden, der den Einäugigen mit der sin()-Loop anhimmelt: μC's laufen so schnell, da kann man glatt Hochfrequenz zu sagen.
Aus der W. schrieb: > Viele Helferlein > freuen sich drüber. Zähl die doch bitte mal auf :-). Du bist nur ein verknitterter Amateur(!)funker in Rente und suchst hier ein Publikum. Ist ja auch gut, dann kommst Du Dir nicht so "in Rente" vor :-). Erinnert mich an die Rentner, die vorzugsweise Freitag abends an der Kasse im Supermarkt Diskussionen führen :-/. Das wars. .ino
:
Bearbeitet durch User
Mw E. schrieb: > Dich muss man wohl auch samt dem alten Opa hier mit einem K&R Buch > durchs Ghetto jagen... Dir sollte man mal Anstand bei bringen. Da scheint bei Dir ein erheblicher Mangel zu bestehen.
Stefanus F. schrieb: > Arduino Fanboy D. schrieb: >> Google kaputt? ca 1k bis 100K > > Das ist auch falsch. Lies selber das Datenblatt! Is klar....
Zeno schrieb: > if Schleifen Zeno schrieb: > Dir sollte man mal Anstand bei bringen. Du bräuchtest erstmal ein C-Buch Herr if Schleife ;) http://if-schleife.de/
Mw E. schrieb: > Zeno schrieb: >> if Schleifen > > Zeno schrieb: >> Dir sollte man mal Anstand bei bringen. > > Du bräuchtest erstmal ein C-Buch Herr if Schleife ;) Nö brauch ich ganz bestimmt nicht und schon gar nicht wenn's so ein ungehobelter Erbsenzähler wie Du meint das ich das bräuchte. Hätte man sicher auch anders formulieren können, hat aber trotzdem offen jeder, außer Dir, verstanden was ich damit sagen wollte.
Was meinst wie viele Beiträge das Schaltbild vom VCA für die ALC generiert?
Aus der W. schrieb: > Eine mit .ino am Ende. Warum soll ich mir die Arbeit machen wenn bislang alle Lösungsideeen als falsch angesehen werden? > (Ich lach mich grad weg.) Verschluck dich nicht dabei.
Peter D. schrieb: > " Semir schrieb: > Die Methode mit den XOR Gatter die Frequenz zu verdoppeln kenne ich. > > Das ist ja sensationell. In meinem Bekanntenkreis und im Internet kennt > das nämlich niemand." > > Semir scheint ein sehr entspannter Mensch zu sein, daß er solchen > Hochmut stillschweigend ignoriert. Wenn er DIE Schaltung kennen würde, hätte er einen anderen Phasenschieber, der frequenzunabhängig den Träger-Sinus um 90 Grad verschiebt ohne die Trägerfrequenz zu teilen. Sein CQUAM-Modulator würde dann auch von Lang- bis Grenzwelle arbeiten können. Aber was nicht ist, kann ja noch werden. Was er dafür braucht? Den Code aus den Zeilen 169-170 und einen halben LM13700. :) LG old.
Beitrag #6004536 wurde von einem Moderator gelöscht.
Na, Du bist immer noch so ein verbitterter Amateur(!)Funker (obwohl der Moderator das wieder mal löschen wird) - viel Spaß noch :-)
Interessant was man alles so findet, wenn man nach seiner Internetpräsenz sucht. Unser lieber Freund ist schon in so manchem Forum als Unruhestifter bekannt (radio-bastler.de, elektronik kompendium.de, Dampfradioforum ? etc..). Und jetzt kommts, er hat einen Blog, wo er diese Auseinandersetzungen dokumentiert und sich als Opfer darstellt. Sein ganz eigener Pranger: http://forenfalle.blogspot.com/2014/ und http://commentatroehrenbude.blogspot.com/ . Erinnert mich irgendwie an den Zeitgenossen der hier ständig Trollthreads mit Zensurvorwürfen gepostet hat. Hier sind die ganzen Blogs aufgezählt, die er erstellt hat (29!): https://www.blogger.com/profile/13556508511413250969 Damit kann sich jeder ein Bild machen mit wem wir es hier zu tun haben.
Der Typ mag fachlich (analog) kompetent sein - aber eine mc-Leuchte ist er eindeutig nicht!
Hört doch bitte endlich auf mit dem Gezanke! Das Thema ist beendet und führt nur tiefer in den Abgrund.
Hugo H. schrieb: > obwohl der > Moderator das wieder mal löschen wird Ist dann halt so. Kommt sowieso in den nächsten cquam-Blog. Vielleicht schon an diesem WE. Anbei die Schaltung vom besagten Frequenzverdoppler. Für den Komparator möchte ich demnächst mal einen MAX941 testen. (Die Simu dafür steht auch schon, leider war noch keine Mitbestellmöglichkeit bei RS möglich.) Unten mittig ist ein Integrator. Dieser wird vom Arduino auf frequenzunabhängige Ausgangsamplitude eingestellt. Ein Integrator macht genau 90 Grad plus Laufzeit. Aus einem Rechteck wird ein Dreieck und ein Sinus bleibt ein Sinus. Deshalb ist diese Stufe für Semir's CQUAM-Modulator als Phasenschieber ideal. Viel Spaß oder Ärger, je nach dem auf welche Einstellung man dazu hat, beim Simulieren. LG old.
Da steckt ja nun n Haufen Arbeit drin. Steht ja außer Frage. Jetzt gib uns bitte n Link, wo wir nachlesen können, weshalb man da die Frequenz verdoppeln muss.
Äxl schrieb: > Jetzt gib uns bitte n Link, wo wir nachlesen können, weshalb man da die > Frequenz verdoppeln muss. Beitrag "Arduino CQUAM" Bis 2MHz arbeitet der Komparator im AD9850 sehr ordentlich. Deshalb kann ich den nicht von 2MHz bis 4MHz arbeiten lassen um nach dem Toggel-Flip-Flop auf Sollfrequenz zu sein. Auch hätte ich dann keine Reserve mehr beim Phasenhub was zum Aussetzen des Trägers führt. Und zu nicht-linearer Modulation, weil man dann in den Bereich der Kappen des Sinus kommt. LG old.
http://c-quam.blogspot.com/ Ich Probier mal hier zu lesen. Deine wohlgemeinten Ausführungen sind mir zu sehr aus dem Zusammenhang gerissen. Komparator im DDS-Chip? Lässt der die Phase springen? Sorry. Bin ich vorerst außen vor.
Äxl schrieb: > Komparator im DDS-Chip? Ja. Der Komparator ist im AD9850-Modul an dem Poti. Ich zeige Dir das morgen, bin heute wenig am Rechner. LG old.
Äxl schrieb: > Ich Probier mal hier zu lesen. Da die Motorola pdf in einem Link nicht mehr da ist, noch etwas Lesestoff anbei. Falls der Upload nicht legal sein sollte, bitte ich die Moderatoren diesen Beitrag löschen. Ich kann das nicht beurteilen. LG old. [Mod: Anhang gelöscht]
:
Bearbeitet durch Moderator
Aus der W. schrieb: > Falls der Upload nicht legal sein sollte, bitte ich > die Moderatoren diesen Beitrag löschen. Ich kann das > nicht beurteilen. Stell Dich bitte nicht dümmer an, als Du bist. Das Copyright stand auf der ersten Seite. Außerdem ist es überhaupt nicht angebracht, das einen Moderatoren "prüfen" zu lassen. Wenn Du es nicht weißt, ob Du gegen Urheberrechte verstößt, dann lass es einfach. Die Verantwortung auf andere abzuschieben mit der Begründung "ich bin zu blöd dafür, das zu entscheiden", ist eine Unverschämtheit sondergleichen. P.S. Warum stellst Du nicht einfach einen Link rein aufs Dokument?
:
Bearbeitet durch Moderator
Den NF-Kram hab ich gefunden. Wo steht denn nun bitte etwas zum DDS und seinem Komparator? Sorry - das ist alles sehr unübersichtlich und ...
Frank M. schrieb: > Das Copyright stand auf > der ersten Seite. Außerdem ist es überhaupt nicht angebracht, das einen > Moderatoren "prüfen" zu lassen. Wird aber jetzt Gesetz: Der Uploader darf sich dann dumm stellen und ist pauschal aus dem Schneider und der Seitenbetreiber hat alle Prüfpflichten und evtl. Ärger am Hals.
Bernd K. schrieb: > der Seitenbetreiber hat alle > Prüfpflichten und evtl. Ärger am Hals. Aber das ist doch in der Praxis nicht wirklich umsetzbar. Dazu bräuchte man einen automatischen Filter (ähnlich Virescanner), der fortlaufend mit Signaturen von geschützten Dokumenten gefüllt wird. Bei Filmen und Musik scheint mir das noch machbar, weil diese Informationen über wenige Firmen gebündelt werden. Aber Copyright auf Dokumente und Fotos betrifft per Gesetz automatisch jedes Dokument von jedem Menschen. Wer und wie wird die Filter mit den dazu nötigen Daten befüllen? Und wie kann die Software vernünftig fair-use behandeln?
Stefanus F. schrieb: > Aber das ist doch in der Praxis nicht wirklich umsetzbar. Das interessiert den Gesetzgeber aber nicht. :-(
Stefanus F. schrieb: > Aber das ist doch in der Praxis nicht wirklich umsetzbar. Ja, das merken die jetzt auch hab ich gelesen. Erst in Brüssel dafür stimmen entgegen aller Expertenratschläge und entgegen dem Willen des Wählers und jetzt stehen sie da und rätseln dumm rum wie sie diesen undurchdachten Krampf bis 2021 in nationalem Recht implementieren sollen ohne dabei das halbe Internet lahmzulegen. Hätten diese Trottel nur mal auf die Warnungen derer gehört die sich mit sowas auskennen. Aber die sind genauso beratungsresistent wie unser Threaderöffner hier, Expertenmeinungen werden in den Wind geschossen, der dumme Kopf muss durch die Wand.
:
Bearbeitet durch User
https://forums.qrz.com/index.php?threads/ad9850-1-dac-to-comparator-connections.575016/ Hier hab ich endlich was zu diesem Komparator gefunden. Wird denn nun das "AM-Stereo" an den SIN Ausgängen abgenommen oder wird da tatsächlich der Rechteck nochmal mit der phasenmodulierten NF verfrühstückt? Ich vermisse immernoch einen vernünftigen, auf DEIN Projekt zugeschnittenen, Workflow, Blockschaltbild oder sowas. Die Blockschaltbilder I und Q Modulator Matrix usw kennen wir jetzt. Wo steht denn nun was zum HF-Teil? Zum Gesamtaufbau? Man kann übrigens die Phasenmodulation auch im DDS-Chip machen (lassen), oder lese ich das falsch?
So, bin wieder zurück, dafür kommt jetzt ein langer Beitrag. Ich hoffe Ihr hattet Zeit genug Euch die Datei herunterladen. Es liegt leider nicht in meiner Macht, wie weit die Moderatoren die zulässige Zeitspanne zum Prüfen ausschöpfen. In der Regel warten sie bis zu ein paar Tagen. Ich glaube nicht, dass der Upload unzulässig ist. Äxl schrieb: > Hier hab ich endlich was zu diesem Komparator gefunden. Ich meine der Hyperlink in meinem Beitrag ist da aufschlussreicher. Klicke dort: AD9850 Dann erscheint eine Bauteil Information. Das hat der Forenbetreiber netterweise so eingerichtet. https://www.radio-bastler.de/forum/showthread.php?tid=8756&pid=154787#pid154787 Dort ist ein Bild, das zeigt wie man mit dem AD9850 PWM machen kann. (Dank meines Forenfalle-Blogs könnt Ihr die Anhänge dort frei sehen und lesen. So wie hier.) Auch Deine weiteren Fragen beantwortet der Thread dort. Für eine Zusammenhängende Doku werde ich einen Blog verfassen. So wie für den Butter Cookies TX. Eigentlich wollte ich warten, bis ich den MAX941 Komparator getestet habe. Aber auf Grund des großen Interesses werde ich diesem Blog Priorität einräumen. Freut Euch drauf. Frank M. schrieb: > Warum stellst Du nicht einfach einen Link rein aufs Dokument? Meine Antwort: Aus der W. schrieb: > Da die Motorola pdf in einem Link nicht mehr da ist. Äxl schrieb: > Man kann übrigens die Phasenmodulation auch im DDS-Chip machen (lassen), > oder lese ich das falsch? Das mache ich ja auch. Du meinst sicher über das PM-Register digital und nicht über den Komparator analog. Natürlich kannst Du mit meinem NF-Verfahren so einen cqu-Träger generieren. Der hätte dann auch unmittelbar Sinusform. Für die AM gibt es einen VCA mit dem Du dann analog cquam machen kannst. Soweit ich das verstehe geht die AM-Modulation damit nur analog. LG old.
Ist das Semirs Sinus-code von dem hier geschwärmt wird? https://radio-bastler.de/forum/showthread.php?tid=9265 Das kann der schon so machen, weil der µc sonst nichts macht. Würde ich trotzdem anders machen, weil das micros() alle 70 Minuten überläuft, was dann als Knacken im Pilotton landet.
yesitsme schrieb: > weil das micros() alle 70 Minuten > überläuft, was dann als Knacken im Pilotton landet. Danke für die Info. Das Knacken ist wie lang? So lang wie ein Loopdurchlauf? Oder gar nur eine µsek. ? Der Knack kommt dann an Pin 8 des OP-Amp nicht an. Lässt sich aber auch überlaufsicher machen, so wie die Monoflops im Sketch. LG old.
Ich bin gerade zu müde um mir Gedanken über die Dauer zu machen... Könnte an der Stelle des Überlaufes aber so aussehen. Da Semirs Implementation nicht verhandelbar ist, bin ich da raus.
yesitsme schrieb: > micros() alle 70 Minuten Warum eigentlich micros und nicht millis? Ich habe das einfach mal gemacht, siehe Zeile 171. Der Sinus müsste dann aus 40 Stützstellen bestehen. Knackt dann alle 50 Tage. ;) Da war doch was … Peter D. schrieb: > Wird jede 1ms ein neuer Wert für 25Hz berechnet, dann sind das nur 40 > Stützstellen. Auch. LG old.
millis() läuft zu langsam und korrigiert das durch einen gelegentlichen Sprung von 2 ms. Vielleicht für den Pilotton nicht relevant.
.. nur mal nebenbei - thema ist ja durch F. F. schrieb: > > ... > Wie hoch belastet so ein ADC eigentlich die Quelle? Aus 2004 ;) hab' ich eben gefunden. grins Mir scheint, ich bin hier fast der Stubenälteste, oder? :))) Beitrag "Eingangsimpendanz ADC Mega16"
Aus der W. schrieb: > https://www.radio-bastler.de/forum/showthread.php?tid=8756&pid=154787#pid154787 > > Dort ist ein Bild, das zeigt wie man mit dem AD9850 PWM machen kann. > (Dank meines Forenfalle-Blogs könnt Ihr die Anhänge dort frei sehen > und lesen. So wie hier.) > Auch Deine weiteren Fragen beantwortet der Thread dort. Kommt bissl spät, oder? Salamitaktik wird sowas hier gern bezeichnet. Diese ganzen Informationen (noch scheinen sie nicht vollständig zu sein, erwarte ich - eigentlich alles hier - am Anfang des ersten Posts. Aber: ich laufe Gefahr, mich zu wiederholen. Nungut. der DDS gibt also Rechteck aus, das Pulsweitenverhältnis modulierst Du auf dem DDS-Bord mit dem modifizierten IQ Gemisch (L-R)*(L+R+1) ?
Aus der W. schrieb: > siehe Zeile 171 hast du selber mal auf "codeansicht" geklickt? da steht NIE eine zeilennummer dabei... das macht das ganze sehr mühselig nachvollziehbar. evtl. könntest du die entsprechenden zeilen ja in code-tags im beitrag packen.
https://elektronikbasteln.pl7.de/images/volker/2-Elektronik/Sinus-Generator-DDS-AD9850/ad9850-sketch.txt Es ist schon erstaunlich, was dieser Arduino-Sketch für einen weiten weg nahm, um endlich hier bei uns im Forum zu landen ;) Zur Modulation nochmals: https://elektronikbasteln.pl7.de/ad9850-sinus-dds-atmega328-arduino.html Hier wird AM-Modulation über den "R_SET" Pin des DDS gemacht. Ist deine Modulation der Betriebsspannung der "PA" damit obsolet? Oder ist gar das jetzt dein Aufbau? https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154168#pid154168 Wie gesagt: Da du es nicht schaffst, alle deine Baustellen zu bedienen, wie es scheint, warte ich erst einmal ab, ob es sich lohnt, hier weiter Zeit und Hirn reinzustecken. Es kann niemand in deinen Kopf hineinsehen. Denn Doku gehört in erster Linie dazu (lerne man wohl im Studium) und ist unbestritten eine der grössten Baustellen im Prjekt... So wird das hier nix. jedenfalls nicht mit mir. Im Augenblick scheint es MIR so, als fände die C-QAM Aufbereitung "rechts" auf der HF-Seite vom DDS statt und nicht "links" im NF-Baseband. bis dahin Äxl
Sven K. schrieb: > das macht das ganze sehr mühselig nachvollziehbar. leider alles hier in diesem Faden. Schade drum. Gerade weil die Kernkompetenzen hier im Forum - anders als im RBF (Radio-Bastel-Forum) - exakt passen. Aber: selbst schulz. Drei Tage sind auch um, das interesse lässt eh nach, wie es scheint. Das der Pilotton holpert, stört nun auch nicht mehr weiter.
Sven K. schrieb: > hast du selber mal auf "codeansicht" geklickt? da steht NIE eine > zeilennummer dabei... das macht das ganze sehr mühselig nachvollziehbar. Das ärgert mich auch kolossal. Habe mich schon oft genug drüber beklagt. Ich sehe nicht mehr ein Codeschnipsel oder Screenshots anzufügen, nur weil die Forenbetreiber keine Codeansicht mit Zeilennummern hinkriegen. Macht halt die ino-Datei auf, und dann habt Ihr alles was Ihr braucht. äxl schrieb: > Nungut. der DDS gibt also Rechteck aus, das Pulsweitenverhältnis > modulierst Du auf dem DDS-Bord mit dem modifizierten IQ Gemisch > (L-R)*(L+R+1) ? Ich moduliere Q mit (L-R)*(L+R+1). Motorola macht das mit dem "IQ Gemisch" Das ist der prinzipielle Unterschied zwischen meinem und dem Motorola Exciter. Die Motorola pdf hast Du runterladen können? äxl schrieb: > Kommt bissl spät, oder? Spielst Du blinde Kuh? Die Hyperlinks findest Du in der ino. Und die gab es hier schon bevor ich den Thread aufgemacht habe. yesitsme schrieb: > millis() läuft zu langsam und korrigiert das durch einen gelegentlichen > Sprung von 2 ms. > > Vielleicht für den Pilotton nicht relevant. Du bist gut. :) Das macht sich als kleine DC-Level Schwankung auf dem Oszilloskop bemerkbar. Man muss dafür schon genau hinsehen. Ich habe mehr signifikante Stellen beim Multiplikator verwendet, dadurch treffe ich die Frequenz noch genauer. Ist die Stellenzahl oder die Zahl der Signifikanten Stellen für den, ich denke mal Float-Wert, begrenzt? Ich verstehe das bei DK2JK so, dass man 8 Stellen verwenden darf. LG old.
Aus der W. schrieb: > Das ärgert mich auch kolossal. Kopiere es halt in einen Texteditor. > Ich sehe nicht mehr ein Codeschnipsel oder Screenshots > anzufügen, nur weil die Forenbetreiber keine Codeansicht > mit Zeilennummern hinkriegen. Du bist hier derjenige, der um Hilfe bittet. Wenn dir das zu blöd ist, dann suche woanders Hilfe.
Stefanus F. schrieb: > Du bist hier derjenige, der um Hilfe bittet. Ich habe unabhängig vom Thema gezeigt, wie man von micros auf millis umstellt. Ich dachte das könnte interessant sein und und Tatsache, es gibt Leser die das hier interessiert. Von meiner Seite gibt es nur noch Codeanhänge Aus dem Zusammenhang gerissene Codeschnipsel helfen nicht.
Aus der W. schrieb: > Aus dem Zusammenhang gerissene Codeschnipsel > helfen nicht. naja... man kann sich die zeile in den zwischenspeicher packen, geht in die codeansicht und sucht die entsprechende zeile mit strg+f
Sven K. schrieb: > naja... man kann Ja, kann man alles machen. Ich bevorzuge diese altbewährte Methode: https://www.kirche-entdecken.de/hauptraum/die-liedtafel/ LG old.
Moin, Stefanus F. schrieb: > Du bist hier derjenige, der um Hilfe bittet. Wenn dir das zu blöd ist, > dann suche woanders Hilfe. Also ich seh' hier niemanden, der um Hilfe bittet. Ich seh' hier nur die ueblichen Verdaechtigen, die um permanente Demuetigung bitten, und die auch prompt erhalten ;-) Gruss WK
Aus der W. schrieb: > Ich dachte das könnte interessant sein Ist es ja auch. Wir und die Leute die nach uns kommen, freuen uns über jeden Tipp. > Von meiner Seite gibt es nur noch Codeanhänge > Aus dem Zusammenhang gerissene Codeschnipsel helfen nicht. gut
Aus der W. schrieb: > äxl schrieb: >> Kommt bissl spät, oder? > > Spielst Du blinde Kuh? > Die Hyperlinks findest Du in der ino. > Und die gab es hier schon bevor ich den Thread aufgemacht habe. Schnauzen Sie mich nicht voll, sondern bringen Sie endlich ne ordentlich geführte Dokumentation. Offenbar scheinen es zwei Parallelentwicklungen zu geben.. Sie beschweren sich, dass es keine Zeilennummern in der Codeansicht gibt und regen sich tierisch auf deswegen. Mir geht es hier ganz genauso. Ich finde von ihren Gedanken überall alles mögliche weit verstreut im Netz. Da sind auch nirgendwo Zeilennummern. Da steigt doch niemand hinter, man weiss doch garnicht, was denn nun aktueller Stand bei Ihrem Projekt ist. Und: letztmalig und Bierernst gemeint. Gewöhnen Sie sich einen anderen Ton an, wenn Sie mit mir schreiben! Fahren Sie den anderen ruhig über den Mund und leben sich aus, wenn Sie das brauchen. Mit mir werden Sie in Zukunft respektvoll umgehen oder garnicht. Ich mag das überhaupt nicht! Das war dann wohl deutlich genug, hoffe ich! Es ist unser aller Zeit, die wir hier nur darauf verwenden, Ihnen alle Informationen aus der Nase zu ziehen. Am Ende kommt nichts dabei herum, weil niemand nichts genaues weiß. Sehr effizient...
Was war das denn?! Ich kugel mich vor Lachen. äxl schrieb: > Ich finde von ihren Gedanken überall > alles mögliche weit verstreut im Netz. Das gefällt mir. äxl schrieb: > Mit mir werden Sie in Zukunft respektvoll umgehen oder garnicht. gar nicht. Was nicht bedeutet, dass ich dann doch mal einen Punkt aufgreife und dauauf eingehe, wenn ich das für sinnvoll halte. Viel Spaß beim Blinde Kuh spielen. _____________________________________________________________________ Da fällt mir gerade ein, es gibt ein Blockschaltbild in Gnu-Radio: https://www.radio-bastler.de/forum/showthread.php?tid=12946&pid=157237#pid157237 #38 LG old.
Aus der W. schrieb: > Da fällt mir gerade ein, es gibt ein Blockschaltbild in Gnu-Radio: > https://www.radio-bastler.de/forum/showthread.php?tid=12946&pid=157237#pid157237 > #38 Ich kenne diesen Link Sie scheinen überhaupt nicht zu begreifen, worauf Ich eigentlich hinaus will. Wie deckt sich das Blockschaltbild mit Ihrem jetzigen Aufbau? Was hat GNU Radio denn nun auf einmal mit dem Arduino zu tun? Wir lassen das hier besser.
Ich hatte früher mal ein Schaltbild bei einem Schaltungsdienst angefordert. Das hat ein paar Wochen gedauert weil die das erst noch kopieren und binden mussten und mit der Arbeit kaum nachkamen. Is halt so. Da konnte ich auch nicht kommen mit hey Respekt und so. Du musst dich jetzt halt mal in Geduld üben.
Ich möchte Ihre Schaltung weder nachbauen noch anderweitig nutzen. Also nochmal: gähn Wenn ich in einem Forum um Hilfe frage, so hab ich alle relevanten Informationen vorzualten, die einer Lösung meines Problems dienlich sein könnten. Bin ich dazu nicht in der Lage, muss ich mein Defizit an dieser Stelle eingestehen und mir das eben für's nächte Mal merken. Für Blockschaltbilder und GNURadio ist ja auch ausreichend Zeit vorhanden, wenn man sich die rege Beteilung in den anderen Foren ansieht. Sie machen die Dokumentation doch nicht für mich oder für uns, sondern für sich selbst. Also: mir ist es egal - ich habe es auf die erwachsene Art probiert und bin Ihnen sogar im Wortfall ein klein wenig entgegengekommen, in der Hoffnung, sie verstünden diese Sprache ein wenig besser. Offenbar ist dem nicht so. Jetzt bin ich aber mal gespannt, was denn jetzt wieder im falschen Hals landet. Ich für meinen Fall benötige nun keinen zusammenhängenden Pläne mehr. Weder linksseitig noch rechtsseitig der DDS-Baugruppe. Ich erwarte von niemandem Dinge, von denen ich weiss, das er sie nicht liefern kann. Ich wollte Sie nicht blosstellen, sorry.
äxl schrieb:
[...]
... ein Riesenaufwand.
Für was eigentlich genau?
Naja, vileleicht ist das die falsche Frage...
Ich sehe gerade, hier: https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154787#pid154787 ist die AD9850 Modifikation zu sehen. Ist schon fast ein Fritzing-Plan. äxl schrieb: > Ich für meinen Fall benötige nun keinen zusammenhängenden Pläne mehr. Aha, der Typ gibt sich nicht mit Schaltplänen der Baugruppen zufrieden, sondern will einen zusammenhängenden Plan. Den bekommst du nicht mal vom Arduino UNO. äxl schrieb: > Ich > wollte Sie nicht blosstellen, sorry. Ach daher weht der Wind. Du machst hier die "nie zufriedene Meckerziege" in der Hoffnung mich bloßzustellen zu können. Träum weiter. Wie tief willst du eigentlich sinken? äxl schrieb: > Wie deckt sich das Blockschaltbild mit Ihrem jetzigen Aufbau? Was > hat GNU Radio denn nun auf einmal mit dem Arduino zu tun? So ist mein Aufbau. Signal Source und Steudler ersetze ich durch Arduino mit AD9850 + (PWM-->PM Converter)*. LG old. *Also PM erstmal analog.
Aus der W. schrieb: > Den bekommst du nicht mal vom Arduino UNO. https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
Aus der W. schrieb: > Ich sehe gerade, hier: > https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154787#pid154787 > ist die AD9850 Modifikation zu sehen. Ist schon fast ein Fritzing-Plan. > Interessant ist vor allem der letzte Post in diesem Thread, der zur Verlagerung des Projekt nach hier geführt zu haben scheint. Semir, der mit dem sin(x) und zugleich der Moderator, scheint nicht mehr der beste Freund zu sein.
Carl D. schrieb: > Semir, der > mit dem sin(x) und zugleich der Moderator, scheint nicht mehr der beste > Freund zu sein. Nie gewesen: https://radio-bastler.de/forum/showthread.php?tid=8252&pid=94796#pid94796 #32 Das bedeutet aber nicht, das man nicht miteinander reden bzw. schreiben kann. Zumindest gilt das von meiner Seite. LG old.
yesitsme schrieb: > Aus der W. schrieb: >> Den bekommst du nicht mal vom Arduino UNO. > > https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf Danke für das Beispiel, genau das meinte ich. Acht Einzelschaltungen! LG old.
Aus der W. schrieb: > genau das meinte ich. Du hast offensichtlich ein Problem damit, Texte zu verstehen, nicht nur mit Schaltplänen. Der Plan vom UNO ist völlig ok.
Arduino Fanboy D. schrieb: > Der Plan vom UNO ist völlig ok. Meiner auch. Bei mir hast Du gleich noch eine lauffähige LTspice Simu dabei. Deshalb habe ich auch Einzelschaltungen, weil die für die Simu erforderlichen Parameter unterschiedlich sind. Jemand der nicht simulieren will, kann sich ja mit copy und paste alles auf ein "Blatt" ziehen, dann sieht das so aus wie das UNO Schaltbild. LG old.
Hugo H. schrieb: > https://radio-bastler.de/forum/showthread.php?tid=8756&pid=155265#pid155265 Vorsicht: Das Fritz ist leider nur mono. https://radio-bastler.de/forum/showthread.php?tid=8756&pid=155295#pid155295 Ich benutze inzwischen ein Smartphone als Internetradio. Die gibt es fürn Appel und n Ei in der Bucht gebraucht. Damit ist die Internetradio-Sache als Zuspieler gelöst. LG old.
Hallo, Aus der W. schrieb: > Danke für das Beispiel, genau das meinte ich. > > Acht Einzelschaltungen! https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf Besser? rhf
Aus der W. schrieb: > Meiner auch. boah - bist du wirklich so ignorant? oder schwer von begriff? es geht nicht darum, dass alle leitungen auf einem schaltplan durchgehend verbunden sind. es geht darum, dass du nicht von anfang an alle notwendigen informationen geliefert hast, sondern alles hier über 100 beiträge und 7 foren verteilt ist. daraus kann man sich kein gesamtbild zusammenstellen, und eventuell auch nicht deine frage korrekt beantworten. selbst bei deinem 30 mal verlinkten code fehlen die inkludierten dateien -> auch nciht vollständig!
Sven K. schrieb: > boah - bist du wirklich so ignorant? oder schwer von begriff? es geht > nicht darum, dass alle leitungen auf einem schaltplan durchgehend > verbunden sind. es geht darum, dass du nicht von anfang an alle > notwendigen informationen geliefert hast, Startbeitrag lesen. > sondern alles hier über 100 > beiträge und 7 foren verteilt ist. daraus kann man sich kein gesamtbild > zusammenstellen, und eventuell auch nicht deine frage korrekt > beantworten. Ihr wolltet wissen, was ich mir da gerade baue. Hat mit meiner Frage im Startbeitrag nichts zu tun. Das ist hier Entertainment. > selbst bei deinem 30 mal verlinkten code fehlen die > inkludierten dateien -> auch nciht vollständig! Du meinst diesen Sketch? Beitrag "Re: I2C "blockiert" Arduino" Welche Datei fehlt Dir? Ich gebe sie Dir gern. Roland F. schrieb: > Besser? Frag mal den, der zusammenhängende Schaltbilder wünscht. LG old.
Aus der W. schrieb: > Startbeitrag lesen. hab ich. da fängt es doch an. der code ist in einem anderen thread. wie dort auch schon angemerkt wurde, fehlt die rotary.h. ich will die überhaupt nicht haben, ich will dir nur deutlich machen, dass du dich eventuell nicht ganz korrekt verhalten könntest und nicht alle anderen.
Sven K. schrieb: > hab ich. da fängt es doch an. der code ist in einem anderen thread. Zwei Mausklicks entfernt. Inzwischen gibt es in diesem Thread Updates. > wie > dort auch schon angemerkt wurde, fehlt die rotary.h. ich will die > überhaupt nicht haben, sondern: > ich will dir nur deutlich machen, dass du dich > eventuell nicht ganz korrekt verhalten könntest und nicht alle anderen. So ekelhaft wie du werde ich mich hoffentlich niemals verhalten.
Aus der W. schrieb: > Ihr wolltet wissen, was ich mir da gerade baue. was sicher nicht uninteressant ist > Hat mit meiner Frage im Startbeitrag nichts zu tun. Diese wurde ja auch schon mehrfach geklärt wie das zu lösen ist > Das ist hier Entertainment. richtig. und wen interessiert das? Außer das du damit deinen eigenen Thread zerbombst
Hab gerade zur Belustigung ein bisschen hier im Thread gelesesen... Arduino Fanboy D. schrieb: > Ich möchte mal behaupten, dass alle hier, außer du und der TE begriffen > haben, worum es geht. Wo es "wirklich" klemmt. > Und das hat ganz sicher nichts mit C oder C++ oder einer beliebigen IDE > zu tun. Genau das hier ist es, der Typ will keine Hilfe und kapiert Nullkommanull. Jeder der hier reinließt schnallt es sofort!
Aus der W. schrieb: > Das ist hier Entertainment. ... und zwar zur Belustigung eines Einzelnen. Ich würde den Lesern hier im Thread dringend dazu raten, sich einfach mal zurückzulehnen und auch zurückzuhalten. Die einzige Absicht des TOs ist hier mittlerweile, diejenigen Pawlowschen Hunde, die immer wieder auf seine Buzzwords reagieren, mit dem Nasenring durch die Arena zu ziehen. Sag jetzt nicht jeder: "Das wusste ich doch!". Dann wundere ich mich, dass hier viele sich Tag für Tag nicht zügeln konnten. P.S. Wenn hier nicht wieder zum Thema zurückgefunden wird - und zwar auf sachlicher Basis - kann dieser Thread demnächst geschlossen werden oder zumindest nach /dev/null mit beschränkter Lebensdauer wandern. Das sollte sich hier jeder zu Herzen nehmen. Wenn keiner mehr willens ist, etwas zum Thema zu schreiben... umso besser. Das macht die Entscheidung leichter.
:
Bearbeitet durch Moderator
Aus der W. schrieb: >> ich will dir nur deutlich machen, dass du dich >> eventuell nicht ganz korrekt verhalten könntest und nicht alle anderen. > > So ekelhaft wie du werde ich mich hoffentlich niemals verhalten. wenn dir das hier zu blöd ist .. dann wundere dich nicht warum keiner mehr sinnvolle Antworten gibt mach deinen tollen blog mit Link zu dem Beitrag hier... in fast allen anderen Foren kommt man rgendwie auf das selbe .. das du mit deinem Ego nirgends reinpasst. und überall steht das du mit deinem "Vollkaskodenken" nicht wirklich viel erreichen wirst. vieleicht liegt das aber auch an den anderen mrd. menschen .. nur nicht an dir
hfhd schrieb: > Diese wurde ja auch schon mehrfach geklärt wie das zu lösen ist Theoretisch, ja. Wobei da keine Einigkeit herrscht. Da fehlt noch ein Schaltbild äh Sketch als Erklärung. hfhd schrieb: > Außer das du damit deinen eigenen Thread zerbombst Man lernt dabei immer. Beispielsweise wie man die ominöse Zahl in Zeile 171 berechnet: Multiplikator = 2*PI/40 // für millis() und 40ms Periodendauer Damit hätte ich mich sonnst nie befasst und der Semir hat ein Geheimnis draus gemacht. Frank M. schrieb: > beschränkter Lebensdauer wandern Danke für den Hinweis. Eben mit `Microsoft print to pdf´ gespeichert. Das hänge ich dann im nächsten cquam-Blog unten an. LG old.
Aus der W. schrieb: > Danke für den Hinsweis. > Eben mit `Microsoft print to pdf´ gespeichert. > Das hänge ich dann im nächsten cquam-Blog unten an. Das kannst Du meinetwegen auch als Riesen-Plakat in einer Großstadt Deiner Wahl aufhängen - das tangiert mich peripher. Für Dich gilt übrigens dasselbe: Halte Dich ausschließlich an Dein selbst gewähltes Thema aus dem Eröffnungsbeitrag. Sonst mache ich den Thread dicht.
:
Bearbeitet durch Moderator
Aus der W. schrieb: > hfhd schrieb: >> Diese wurde ja auch schon mehrfach geklärt wie das zu lösen ist > > Theoretisch, ja. Wobei da keine Einigkeit herrscht. > Da fehlt noch ein Schaltbild äh Sketch als Erklärung. Da ich kein Arduino selbst nutze ... kann ich mit einer .ino nicht dienen Deine Berechnung im loop ist momentan eine variable Samplefrequenz Das geht solange gut , wie die SR hoch genug ist und dabei nicht gestört wird. Deine LCD Ausgabe ( auch eine andere Funktion die ein paar ms blcokiert würde das selbe tun... ) blockiert das eben. Anstatt deine PWM unregenmäßig zu füttern musst du überlegen wie man das sehr gleichmäßig mit einer samplefrequenz tun kann. Such dir eine Samplefrequenz das der 25Hz sauber genug erzeugt wird. Damit lässt deinen Timer laufen. bei jedem Interrupt schiebst du einen aktuellen wert in die PWM das schafft rechenkraft für andere sachen wenn man das per Timer macht , kommt das 99,9998% zur selben Zeit also kein knacksen und kein ploppen. Da du den DDS nur bei einer Frequenz betreibst ... ist eine neuberechnung mit sin() gannicht notwendig. notwendig ist das nur wenn du verschiedene Frequenzen haben möchtest. dein 25Hz ist 40ms lang. Wenn du nun 256 Stützstellen nimmst um den Sinus abzubilden, ist das ein array[256] ... bei 256 Stützstellen wären das 156,25ns Timerinterrupt pro Timerinterrupt nimmst du einen neuen Wert. [pseudocode] uint8_t sinus[256]={xxxxxxxxxxx}; ISR(TIMER1){ static uint8_t i = 0; PWMREG = sinus[i++]; } > hfhd schrieb: >> Außer das du damit deinen eigenen Thread zerbombst > > Man lernt dabei immer. Beispielsweise wie man die > ominöse Zahl in Zeile 171 berechnet: > > Multiplikator = 2*PI/40 // für millis() und 40ms Periodendauer > > Damit hätte ich mich sonnst nie befasst und der Semir hat ein > Geheimnis draus gemacht. Kreisfrequenz ... Sinus ... passt schon zusammen
Frank M. schrieb: > Wenn hier nicht wieder zum Thema zurückgefunden wird - und zwar auf > sachlicher Basis Ja komm.... Ich will mal nicht so sein... Das "Wie?" man beliebig geformte Töne mit einem Nano generiert, findet sich hier: https://playground.arduino.cc/Code/PCMAudio/ 62,5Khz PWM und 8000 Stützstellen pro Sekunde. Halbwegs gut erklärt, so dass auch der dümmste kapiert, wie es geht. Das einzige Problem wäre, wie man da eine Sinustabelle unterbringt. Aber das bekommt der TO schon hin. ;-) Ansonsten gibts ja auch noch die Nano Nachbauten mit MD328-D µC. Die haben 2 mal Hardware DAC und etwas andere Timer und andere Takterzeugung. (eine gute Gelegenheit, das lesen von Chinesischen Datenblättern zu üben)
Danke für den guten Willen aber hfhd schrieb: > Da ich kein Arduino selbst nutze ... kann ich mit einer .ino nicht > dienen hilft mir das nicht weiter, weil ich das nicht umsetzen kann. hfhd schrieb: > das schafft rechenkraft für andere sachen Ich dachte, durch millis() statt micros() , nur noch ein Tausendstel der Rechenleistung für den Sinus zu benötigen. Ich merke aber keinen Unterschied. hfhd schrieb: > Deine LCD Ausgabe ( auch eine andere Funktion die ein paar ms blcokiert > würde das selbe tun... ) blockiert das eben. Offensichtlich nur die LCD-Ausgabe. Ich habe ja jetzt die ALC und die LEDs zur Pegelanzeige sowieso. Wenn sich eine Lösung findet, lasse ich mir den Wert für die Steuerspannung der ALC-VCAs anzeigen. Sonnst eben nicht. Dann besteht ja noch das Problem, dass die Berechnung der VCA-Spannung für die ALC auch betroffen ist. Es hilft also leider nicht allein den Pilot-Sinus sauber zu halten. LG old.
Aus der W. schrieb: > Offensichtlich nur die LCD-Ausgabe. Nur weil es dir da auffällt, ist es dennoch nicht des Pudels Kern. Und durch stete Wiederholung wirds auch nicht wahrer. Du glaubst nur selber fester daran, das ist der einzige Effekt. Aber das willst du ja alles gar nicht hören, denn du bist ja viel schlauer und kompetenter, als wir alle.
Arduino Fanboy D. schrieb: > Aus der W. schrieb: >> Offensichtlich nur die LCD-Ausgabe. > > Nur weil es dir da auffällt, ist es dennoch nicht des Pudels Kern. Da das Problem ohne die LCD-Ausgabe nicht feststellbar ist, ist das des Pudels Kern. Das kann nicht sein, dass man wegen des I2C Displays aus dem zwei Zeilen Code einen Roman manchen muss. Und die anderen Probleme mit der Pegelrechnung sind dann auch noch nicht gelöst. Ein I2C-Display ohne delays ist die Lösung. Dafür wurden hier ja schon Theoretische Vorschläge gebracht. LG old.
Aus der W. schrieb: > hilft mir das nicht weiter, weil ich das nicht umsetzen kann. > > hfhd schrieb: >> das schafft rechenkraft für andere sachen > > Ich dachte, durch millis() statt micros() , nur noch > ein Tausendstel der Rechenleistung für den Sinus zu benötigen. > > Ich merke aber keinen Unterschied. Weil du das Prinzip hinter der Sinuserzeugung nicht verstanden hasst. Der Loop wird identisch oft aufgerufen ... Egal ob millis, micros ... Ultras oder sonstwas... Der Durchlauf der Loop ist aber nicht konstant. Je nach dem welchervteil durchlaufen wird dauert das unterschiedlich lange Und selbst DAS hast du damit noch nicht verstanden.
Aus der W. schrieb: > Da das Problem ohne die LCD-Ausgabe nicht feststellbar ist, > ist das des Pudels Kern. TO: "Wenn ich meine Oma an die Hand nehme, muss ich langsamer gehen." Antwort: "Dann klemm sie doch über die Schulter, dann bist Du schneller" TO: "Da das Problem ohne Oma nicht feststellbar ist, ist das des Pudels Kern. Die Oma ist schuld!".
Aus der W. schrieb: > Das kann nicht sein, dass man wegen des I2C Displays aus > dem zwei Zeilen Code einen Roman manchen muss. > Und die anderen Probleme mit der Pegelrechnung sind > dann auch noch nicht gelöst. > Ein I2C-Display ohne delays ist die Lösung. > Dafür wurden hier ja schon Theoretische Vorschläge Doch ist es. Weil der gute programmierer weiß das eine LCD Ausgabe oder auch Bytes schubsen und auf Flags warten eben Zeit Brauch. Daher macht er zeitkritische Dinge so daß sie deterministisch sind... Das das Verhalten der kritischen Komponente vorhersehbar ist. Bei dem bulimie-code da oben ... Wundert mich nichts mehr. Das ist mangels Unwissenheit zusammenkopiert . Klar wäre es schön wenn I2C oder UART .. oder SPI Daten egal welcher Länge in 0,nix versenden würde ohne das man warten muss. Aber die Peripherie ist nunmal so... Das muss man einplanen Eben durch Wissen
Hff schrieb: > Weil der gute programmierer weiß Bin ich aber nicht und nachher ist man immer schlauer. (Das sollte eigentlich in einem Tutorial dazu angesprochen werden.) Wenn was zeitkritisch ist, wird das Display eben parallel betreiben oder sehr spartanisch angesprochen. Hff schrieb: > Und selbst DAS hast du damit noch nicht verstanden. Hast Du verstanden, dass der I2C auch ohne den Sinus Probleme macht? Frank M. schrieb: > TO: "Wenn ich meine Oma an die Hand nehme, muss ich langsamer gehen." Nich TO, sondern Moderator. Weia! Hff schrieb: > Der Loop wird identisch oft aufgerufen ... > Egal ob millis, micros ... Ultras oder sonstwas... Gut, gehe ich wieder au micros(). Hff schrieb: > Klar wäre es schön wenn I2C oder UART .. oder SPI > Daten egal welcher Länge in 0,nix versenden würde ohne das man warten > muss. Ja, Zwischen dem Arduino und dem AD9850 geht das tatsächlich. LG old.
Aus der W. schrieb: > Hff schrieb: > Weil der gute programmierer weiß > > Bin ich aber nicht und nachher ist man immer schlauer. > Wenn was zeitkritisch ist, wird das Display eben parallel > betreiben oder sehr spartanisch angesprochen. > > Hff schrieb: > Und selbst DAS hast du damit noch nicht verstanden. > > Hast Du verstanden, dass der I2C auch ohne den Sinus > Probleme macht? > > LG > old. Das löst dein Problem immer noch nicht... Es verschiebt es nur Wärst du anfangs nicht so herablassend und überheblich dahergekommen hätte das schon längst jemand durch arduino geklimpert. Ich und auch viele andere HABEN verstanden das ohne I2C Dein Code erstmal funktioniert. Wir alle haben versucht dir zu erklären WARUM das so ist. Wenn du denkst parallel funktioniert alles wunderbar, dann zu das. Aber auch hier wirst du feststellen das bei längeren Texten es zum holpern des Sinus kommt. Such parallel kannst du nicht einfach die Bits durchschieben. Pins toggeln und kurz warten musst du auch hier. Wenn du dann eine LCD lib mit Timer findest .. Verschiebst du das Problem nochmals. Wie gesagt... Alle wollten helfen.
Aus der W. schrieb: > Ja, Zwischen dem Arduino und dem AD9850 geht das tatsächlich. Weil wieviele Daten abgerufen werden? 2-4 Bytes bei 400khz. Ein String mit 20zeichen + Adressen sind aber bedeutends mehr. Die Zeit ist hier einfach das entscheidende. Schau für mit dem oszi deinen 25hz Sinus an wenn du etwas auf dem LCD ausgibst... Dann weißt du was ich meine
Hff schrieb: > Wärst du anfangs nicht so herablassend Hast du noch alle aufm Kronleuchter? Der MAX941 ist eben mit UPS gekommen. Das WE ist gerettet. Das I2C Problem ist jetzt erstmal aufgeschoben. LG old.
Hff schrieb: > Schau für mit dem oszi deinen 25hz Sinus an wenn du etwas auf dem LCD > ausgibst... Bei dem parallel angeklemmten LCD passiert nichts mit dem Sinus. LG old.
Aus der W. schrieb: > Hff schrieb: > Wärst du anfangs nicht so herablassend > > Hast du noch alle aufm Kronleuchter? > > Der MAX941 ist eben mit UPS gekommen. Das WE ist gerettet. > Das I2C Problem ist jetzt erstmal aufgeschoben. > > LG > old. Dann ist ja alles gut
Aus der W. schrieb: > Hast du noch alle aufm Kronleuchter? Spiegel zur Hand gehabt? Aus der W. schrieb: > Auf dem parallel angeklemmten LCD passiert nichts mit dem Sinus. Das ist allen klar, dass auf dem LCD nichts passiert :-)
Aus der W. schrieb: > Hff schrieb: > Schau für mit dem oszi deinen 25hz Sinus an wenn du etwas auf dem LCD > ausgibst... > > Bei dem parallel angeklemmten LCD passiert nichts mit dem Sinus. > > LG > old. Perfekt. Problem gelöst
Aus der W. schrieb: > Das kann nicht sein, dass man wegen des I2C Displays aus > dem zwei Zeilen Code einen Roman manchen muss. 1: Das ist nicht nur "wegen" dem I2C. (Aber das passt ja nicht in deinen Schädel) Sondern wegen dem Prinzip. 2: Deine "2 Semir Zeilen" sind komplexer, als du offensichtlich begreifst. Da steckt derbe Rechenaufwand hinter. Rechenzeitverplemperung in Reinform. 3: Der "Roman" benötigt nur eine Handvoll Takte. Der ist rasend schnell. 4: Der Sinus ist erheblich sauberer, mit dem "Roman". Zu: 4 Vergleiche die PWM Frequenz! Du: ca 980Hz Roman: 62,5kHz
Arduino Fanboy D. schrieb: > Das ist Lass mal den Sinus außen vor, das Problem tritt ja auch ohne den Sinus auf. Also nix Sinus nix Roman nix Zwozeilen. Der Sinus hat keinen Einfluss auf das Problem. Ihr habt Euch da total verrannt. Arduino Fanboy D. schrieb: > Zu: 4 > Vergleiche die PWM Frequenz! > Du: ca 980Hz > Roman: 62,5kHz Dann nehme ich natürlich die 980Hz für den 25Hz Sinus. Kann das sein, dass deine Tipps alle irgendwie ein Satz mit X sind?
Aus der W. schrieb: > Ihr habt Euch da total verrannt. Du lebst in einer anderen Welt :-) Nicht "Ihr habt Euch" sondern "Ich habe mich"
Aus der W. schrieb: > Dann nehme ich natürlich die 980Hz für den 25Hz Sinus. Ja, weil du nicht alle Streusel auf dem Kuchen hast. Aus der W. schrieb: > Kann das sein, dass deine Tipps alle irgendwie ein Satz mit X sind? Ja! Das stimmt wohl. Und der Grund ist offensichtlich. Du bist mir in allen Dingen überlegen. Ins Besondere, in Sachen Arduino, C/C++, Zeitabhängigkeiten und nebenläufige Programmiertechniken.
Arduino Fanboy D. schrieb: > Du bist mir in allen Dingen überlegen. Korrekt - er kann deutlich besser "dummes Zeug reden" :-) Old-...was auch immer
Arduino Fanboy D. schrieb: > Aus der W. schrieb: >> Dann nehme ich natürlich die 980Hz für den 25Hz Sinus. > Ja, weil du nicht alle Streusel auf dem Kuchen hast. > > Aus der W. schrieb: >> Kann das sein, dass deine Tipps alle irgendwie ein Satz mit X sind? > Ja! > Das stimmt wohl. > Und der Grund ist offensichtlich. > > Du bist mir in allen Dingen überlegen. > Ins Besondere, in Sachen Arduino, C/C++, Zeitabhängigkeiten und > nebenläufige Programmiertechniken. Scharf - ich kann lesenswert um +1 hochsetzen - aber nicht lesenswert um -2 heruntersetzen. Ein Schelm, wer böses dabei denkt ... :-)
Hugo H. schrieb: > Scharf - ich kann lesenswert um +1 hochsetzen - aber nicht lesenswert um > -2 heruntersetzen. Dann hat sich der Thread ja doch noch gelohnt. Wenigstens einer glücklicher.
Arduino Fanboy D. schrieb: > Ja! > Das stimmt wohl. Der arme foldi weiter oben … Leute Ihr seid keine Idioten, weil Ihr einmal keine Hilfe geben konntet. Da fällt niemandem ein Stein aus der Krone. Im vorangegangenen Thread konntet Ihr mir helfen, danke stefanus. Gleicher Sketch übrigens. Ich werde mir den VCA-Spannungswert bei betätigem Taster anzeigen lassen. Mit dem Sinus vom Semir bin ich sehr zufrieden, ein Glück, dass ich den bekommen habe. Sonnst hätt ich jetzt n Rechteck. Bei win10 ist mir auch total egal was dahinter steckt. Funktioniert einfach und wenn nicht kommt ein Update. Ich bin User sowohl bei win10 als auch bei Arduino. Doppelplus-Zeh interessiert mich nicht. LG old.
hier mal das prinzip hinter DDS https://www.electronics-notes.com/images/phase-angle-of-signal.svg https://www.digikey.at/-/media/Images/Article%20Library/TechZone%20Articles/2019/March/The%20Basics%20of%20Direct%20Digital%20Synthesizers%20DDSs/article-2019march-the-baics-of-dds-fig2.jpg?ts=7defe3a0-1e14-48bc-b437-7b5f490dd209&la=de-AT
Aus der W. schrieb: > Leute Ihr seid keine Idioten, weil Ihr einmal keine Hilfe > geben konntet. vielmehr wolltest du sie nicht annehmen. bzw. wolltest du einen fertiegn scetch wenn ich interesse am Projekt hätte würde ich das schnell hinklatschen .. mit funktionierendem code natürlich aber das Projekt ist bei mir soweit am thema vorbei ... nöe
bulimie-code schrieb: > wolltest du einen fertiegn scetch Ja und? Wenn Ihr mir eine fehlerhafte Schaltung hinlegt, bekommt Ihr von mir eine korrigierte Schaltung zurück. Das ist völlig selbstverständlich. bulimie-code schrieb: > vielmehr wolltest du sie nicht annehmen. [Ironie]Ja klar ich frage hier weil ich keine Hilfe annehmen will.[/Ironie] Merkst Du was Du da für einen Unsinn postest? Sowas machen Leute, die so tun als ob sie helfen wollen. LG old.
Aus der W. schrieb: > Das ist völlig selbstverständlich. 1. Der Schaltplan ist wo? 2. Dein Code ist enthält einige Schwächen (https://www.mikrocontroller.net/attachment/highlight/432064) D.h. es ist sehr schwer die Zusammenhänge zu erfassen. Und ohne die, ist es unmöglich, Änderungen zu machen, ohne irgendwas kaputt zu machen. Und die Lösungsideeen wurden hier alle als Bullshit abgetan.
Aus der W. schrieb: > [Ironie]Ja klar ich frage hier weil ich keine Hilfe annehmen > will.[/Ironie] > Merkst Du was Du da für einen Unsinn postest? Aus der W. schrieb: > Und der Sinus ist nicht verhandelbar. vorschläge: mit fast fertigem code Peter D. schrieb: > äxl schrieb: >> Carl D. schrieb: >>>> pwmDuty = 128 +126 * sin(micros() * 0.000157); >> >> Allein für diese eine Codezeile würde ich gern mal das listing sehen... > > Ja, das ist maximal Ressourcen verbrauchend. > Wird jede 1ms ein neuer Wert für 25Hz berechnet, dann sind das nur 40 > Stützstellen. Das geht ganz einfach mit einem Array und die umständliche > float Sinus-Berechnung entfällt komplett.#include <avr\io.h> > > uint8_t sintab[] = { 0, 20, 39, 58, 75, 90, 103, 113, > 121, 125, > 127, 125, 121, 113, 103, 90, 75, 58, > 39, 20, > 0, -20, -39, -58, -75, -90, -103, -113, > -121, -125, > -127, -125, -121, -113, -103, -90, -75, -58, > -39, -20, > }; > > void int_1ms(void) // to be called from the 1ms interrupt > { > static uint8_t step25; > if (step25 >= 40) > step25 = 0; > OCR0A = 128 + sintab[step25]; > step25++; > } > > Man sieht auch sehr schön, daß nur eine Viertelwelle berechnet werden > muß. Der Rest ergibt sich durch Spiegelung bzw. Vorzeichenumkehr. Man > könnte daher die Tabelle auch auf 10 Einträge reduzieren und die beiden > Subtraktionen in Echtzeit machen. > Durch den Aufruf im Timerinterrupt gibt es auch keinen Jitter mehr durch > andere Tasks.
yesitsme schrieb: > D.h. es ist sehr schwer die Zusammenhänge zu erfassen. Und ohne die, ist > es unmöglich, Änderungen zu machen, ohne irgendwas kaputt zu machen. Und das obwohl sich stefanus so viel Mühe gemacht hat: Beitrag "Re: <rotary.h> mit bool "ein" und Ausschalten." LG old.
Aus der W. schrieb: > Und das obwohl sich stefanus so viel Mühe gemacht hat: > Beitrag "Re: <rotary.h> mit bool "ein" und Ausschalten." > In irgendeinem irgendwo verlinkten Thread... Und der Code ist immer noch aktuell? > bulimie-code schrieb: >> fast > > Warum nur fast? > > Weil Ihr wisst, dass es mit dem Sinus nicht getan ist. Ohne die Zusammenhänge zu durchschauen... bleibt das Gluelogic schreiben dann bei dir.
Habe jetzt mal einiges zum ADC gelesen. Sehr interessant ist AN2447. Solltet ihr einmal lesen.
bulimie-code schrieb: > Aus der W. schrieb: > Leute Ihr seid keine Idioten, weil Ihr einmal keine Hilfe > geben konntet. > > vielmehr wolltest du sie nicht annehmen. > bzw. wolltest du einen fertiegn scetch > > wenn ich interesse am Projekt hätte würde ich das schnell hinklatschen > .. mit funktionierendem code natürlich > > aber das Projekt ist bei mir soweit am thema vorbei ... nöe Genau. Gäbe es eine strukturierte Doku zum aktuellen Stand, hätte ich's mal eben zusammengestöpselt und was fertiges hier reingestellt. Hab ich ja nun oben schon geschrieben. "Begeistere mich für dein Projekt". (Sinngemäß) Aber so? ... nöe Anfangs wurde die Phasenmodulation noch mit einem Transistor bewerkstelligt und nun mit einem Johnson-Zähler für die 90Grad? Da blickt niemand durch. Aber: wir haben Jauch keine Ahnung und es ist ja auch garnicht schlimm, wenn wir mal nicht helfen können. Da fällt uns natürlich kein Zacken aus der Krone. Natürlich nicht. Der Typ ist der brüller. Mir soo noch nicht untergekommen ... :)
Aus der W. schrieb: > Der arme foldi weiter oben … Der Typ, kann man ja sehen, dass er mich auch wieder in "seine" Runde ziehen will, möchte hier nur zu seiner Belustigung provozieren. Der kopiert hier irgendwas zusammen, was er irgendwo gelesen hat. In Wirklichkeit macht er hier seine Psychologie Studie. Das ist immer der selbe Troll - schon seit bestimmt mindestens 2 Jahren. Frank, mach den Laden dicht!
Beitrag #6008001 wurde von einem Moderator gelöscht.
Ich hätte einen ganz einfachen Sketch mit I2C und Fritzing- Schaltbild für den UNO, bei dem man das Problem leicht erkennt, für meine Anfrage erstellen sollen. Die Vorstellung vom Projekt-Code und den Einzelheiten zum Projekt stiften nur Verwirrung. Zuviel Input ist auch nicht gut. Das kann man an den Beiträgen von Äxl sehen. LG old.
Aus der W. schrieb: > Ich hätte einen ganz einfachen Sketch mit I2C und Fritzing- > Schaltbild für den UNO, bei dem man das Problem leicht erkennt, > für meine Anfrage erstellen sollen. die lösung dafür wäre komplett identisch - mach den sin() weg - nutze statdessen eine konstante lookuptable - und vor allem das ist hierbei das wichtigste ... nutze eine Timer ISR zur übergabe der werte an das PWM Register - quasi nutze Peters vorschlag - weiter oben stand eine quasi identische variante mit 256 sinuswerten wenn du das vor 3 tagen getan hättest , wäre die ausgabe über I²C oder sogar bitbanging dein geringstes Problem du könntest dir den string dann sogar morsen lassen und es würde nichtstören
bulimie-code schrieb: > Aus der W. schrieb: >> Ich hätte einen ganz einfachen Sketch mit I2C und Fritzing- >> Schaltbild für den UNO, bei dem man das Problem leicht erkennt, >> für meine Anfrage erstellen sollen. > > die lösung dafür wäre komplett identisch > > - mach den sin() weg Der einfache Sketch hätte keinen Sinus. Das mit dem Sinus hätte hier gar nicht auftauchen dürfen. Ihr habt Euch durch den Sinus völlig verrannt. Obwohl - wie soll man vorher ahnen, dass die Sinuserzeugung solche Reaktionen triggert? LG old.
bulimie-code schrieb: > - und vor allem das ist hierbei das wichtigste ... > nutze eine Timer ISR zur übergabe der werte an das PWM Register das versucht man dir die ganze zeit zu sagen die timerISR sorgt für eine konstante ausgabe der werte unabhängig ob I²C .. oder UART oder ein delayms(1000 ) den loop für eine gewisse zeit totlegen deswegen Timer ISR deswegen läuft auch der rotary in einer TimerISR da diese ja schon da ist .. könnte man diese mitverwenden um die PWM werte auszugeben aber leider ist das nicht verhandelbar
Aus der W. schrieb: > ir ist aufgefallen, dass wenn ich das I2C-Display anspreche, > andere Funktionen gestört sind. > Das betrifft u.A. den Sinusgererator (für den 25Hz Pilotton). > > Ich musste das für die Unterspannungsanzeige mit einer > if-else-millis()-Orgie lösen, die das Display wirklich nur > einmal anspricht wenn die Unterspannung da ist oder eben nicht. > Das stört nicht weiter, da die Anzeige Unterspannung nur im > Fehlerfall auftritt und für eine Periode den Pilotton verbeult. > > Wenn ich mir den Audiopegel als Zahlenwert darstellen > lassen will, bekomme ich aber ein Problem, weil dieser Wert > sich ja häufig ändert. wie löst man das? das war dein Problem wenn du den sinus weglässt ... existiert das problem mit dem holpernden pilotton nicht du hast es umgangen/reduziert weil du die anzeige selten änderst da du aber jetzt die anzeige öfters nutzen möchtest , kommt deine tonausgabe durcheinander richtg?
Und hast Du auch eine Idee für die Rechenfehler beim Ton, die in Verbindung mit I2C auftreten?
Aus der W. schrieb: > Wenn ich mir den Audiopegel als Zahlenwert darstellen > lassen will, bekomme ich aber ein Problem, weil dieser Wert > sich ja häufig ändert. wie löst man das? man merkt sich den zahlenwert udn aktualisiert das display so schnell wie möglich: neuer_wert = holeSpannung(); if( alter_wert != neuer_wert ) { alter_wert = neuer_wert; updateLCD( neuer_wert ); } oder ein TimerInterrupt setzt zusätzlich ein Flag alle 500ms ISR() { if( timer == 500 ) { timer = 0; lcd_update = 1; } } neuer_wert = holeSpannung(); if(( alter_wert != neuer_wert ) && ( lcd_update ) ) { alter_wert = neuer_wert; updateLCD( neuer_wert ); lcd_update = 0; }
Aus der W. schrieb: > Und hast Du auch eine Idee für die Rechenfehler beim Ton, > die in Verbindung mit I2C auftreten? das ist kein rechenfehler in dem sinne deine 2 zeilen die deinen sunus machen werden einfach zu spät aufgerufen die millis funktion gibt einen zeitlich späteren wert zurück du machst einen Phasensprung das ist dann hörbar
bulimie-code schrieb: > du hast es umgangen/reduziert weil du die anzeige selten änderst Ja, das ist meine bisherige Lösung.
bulimie-code schrieb: > Aus der W. schrieb: >> Und hast Du auch eine Idee für die Rechenfehler beim Ton, >> die in Verbindung mit I2C auftreten? > > das ist kein rechenfehler in dem sinne > > deine 2 zeilen die deinen sunus machen werden einfach zu spät aufgerufen > die millis funktion gibt einen zeitlich späteren wert zurück > > du machst einen Phasensprung > > das ist dann hörbar zu spät deswegen weil dein code in der loop() funktion eben noch viele andere sachen macht egal was du an funktionen dazubaust ... es wird immer die loop() verlangsamen und damit auch immer irgendwann ein zeitliches Problem mit der sin() verursachen
bulimie-code schrieb: > Aus der W. schrieb: >> Und hast Du auch eine Idee für die Rechenfehler beim Ton, >> die in Verbindung mit I2C auftreten? > > das ist kein rechenfehler in dem sinne > > deine 2 zeilen die deinen sunus machen werden einfach zu spät aufgerufen > die millis funktion gibt einen zeitlich späteren wert zurück > > du machst einen Phasensprung > > das ist dann hörbar Jetzt bist Du schon wieder beim Sinus. Es ist zum Mäusemelken. Das Thema Sinus sollte man in diesem Forum tunlichst vermeiden.
bulimie-code schrieb: > es wird immer die loop() verlangsamen Die loop ist schnell genug. Nur der I2C hält sie zeitweilig an.
Aus der W. schrieb: > Jetzt bist Du schon wieder beim Sinus. Es ist zum Mäusemelken. > Das Thema Sinus sollte man in diesem Forum tunlichst vermeiden. was ist dann dein Problem Aus der W. schrieb: >> es wird immer die loop() verlangsamen > > Die loop ist schnell genug. Nur der I2C hält sie zeitweilig an. mit I²C .. NEIN der loop läuft für DEINE kritischste Komponente zu langsam
Aus der W. schrieb: > Die loop ist schnell genug. Nur der I2C hält sie zeitweilig an. das lässt sich nicht vermeiden I²C ist hardware .. dein gerät schickt bits raus und dein LCD empfängt sie diesen langen bitstrom muss der µC erstm loswerden das dauert auch bei 400Khz zu lange das lässt sich nicht groß vermeiden wenn du aber eine lösung möchtest: anstelle des kompletten strings am stück zu senden kannst du byte für byte im loop senden also anstatt lcd.print(" "); musst du einen buffer nehmen und den string byteweise im loop senden if( *str ) { lcd.print( str ) str++; } damit wird immer nur ein zeichen gesendet Problem: dein jetziges lcd.print(" "); lcd.print(" "); lcd.print(" "); lcd.print(" "); funktioniert damit nicht mehr denn du müsstest warten bis der buffer wieder leer ist
bulimie-code schrieb: > Aus der W. schrieb: >> Die loop ist schnell genug. Nur der I2C hält sie zeitweilig an. > > das lässt sich nicht vermeiden Das ist doch mal ne klare Ansage. Danke. bulimie-code schrieb: > also anstatt > > lcd.print(" "); Ich bin schon froh, dass ich lcd.print halbwegs hinbekomme. Also lass ich den Sketch, bis auf weiteres, in dieser Form. LG old.
ich weiß nicht warum du dich dagegen sträubst das ganze per ISR zu machen denn DAS würde genau deine Probleme lösen so macht man das in der µC welt man sortiert kritische und unkritische eine endlosschleife läuft nunmal nicht 100% konstant hier rein sollte eine statemaschine die aufgaben erledigt die 1: unterbrochen werden können 2: zeitlich nicht konstant sind 3: ... dinge die zyklich sich wiederholen und eine hohe genauigkeit vorraussetzen um überhaupt zu funktionieren sollte man so auslegen das sie genau das tun -> ISR auf einem Cortex würde ich das thema pilotton mit einem timer getriggertem PWM per DMA machen das sind ein paar zeilen code die ohne jegliche intervention funktionieren ich kann den loop() damit zu 100% plockieren und es würde trotzdem funktionieren das gleiche würde hier passieren wenn du eine Timer ISR nutzen würdest. im loop kannst du dann sogar while(1){} einabuen um den loop() komplett zu blockieren der ton würde dennoch bei 25Hz stabil laufen aber irgendwie verstehst du das nicht ja der Ton funktioniert bei dir und du glaubst es ist nicht das Problem .. den I²C auf 1 takt zu beschleunigen ist aber nicht möglich wenn du jetzt zB ethernet nutzen würdest ... da wäre das ganze noch schlimmer da niemand weiß wie lange das auf der anderen seite wirklich dauert Was tust du dann ? machst es nicht weil es doof ist wenn man aber schon keine wirkliche ahnung von Programmieren hat dann sollte man sich ggf auch mal was sagen lassen
Da war doch noch was: hfhd schrieb: > das "timeOutDelay" kann man auf 0 setzen ... > aber das wird dann für die geräte witzig Es wird nur das I2C Display an den Bus geklemmt. Kein weiteres Gerät. In welchem Ordner in welcher Datei müsste ich "auf 0 setzen"? LG old.
Aus der W. schrieb: > bulimie-code schrieb: >> Aus der W. schrieb: >>> Die loop ist schnell genug. Nur der I2C hält sie zeitweilig an. >> >> das lässt sich nicht vermeiden > > Das ist doch mal ne klare Ansage. Danke. > > bulimie-code schrieb: >> also anstatt >> >> lcd.print(" "); > > Ich bin schon froh, dass ich lcd.print halbwegs hinbekomme. > > Also lass ich den Sketch, bis auf weiteres, in dieser Form. > > LG > old. wenn du auch dazulernen würdest , würde man dir den code sicherlich auch schreiben aber dein verharren auf deiner meinung ... ist echt für den helfenden .. schlimm auch wenn du jetzt wieder anderer meinung bist ... Verwirren sie mich nicht mit Tatsachen , meine Meinung steht fest !
Aus der W. schrieb: > Da war doch noch was: > > hfhd schrieb: >> das "timeOutDelay" kann man auf 0 setzen ... >> aber das wird dann für die geräte witzig > > Es wird nur das I2C Display an den Bus geklemmt. > Kein weiteres Gerät. > > In welchem Ordner in welcher Datei müsste ich "auf 0 setzen"? > > LG > old. gibt eine funktion dafür ... wenn das delay zu kurz ist , wird das LCD mist anzeigen auch das LCd brauch zeit um zeichen in den interen RAM zu packen und das zeichen zu schreiben
Zum x.Mal in beliebiger Form: bulimie-code schrieb: > auf einem Cortex würde ich das thema pilotton mit einem timer > getriggertem PWM per DMA machen Selbst wenn ich den Pilotton so https://1.bp.blogspot.com/-xMMz85Rmvs0/XOhsTkMcXeI/AAAAAAAABsE/IU-DAXyRiOc0Ym5MfnKqPFqvfJ0pRQyCQCEwYBhgL/s1600/25Hz_Pilot_Gen_HC4060_410p_Resonator_schema_20190524.png löse, bringt mich das nicht weiter. Die Audioberechnung ist auch betroffen. LG old.
const uint8_t sintab[] = { 0,20,39,58,75,90,103,113,121,125, 127,125,121,113,103,90,75,58,39,20, 0,-20,-39,-58,-75,-90,-103,-113,-121, -125,-127,-125,-121,-113,-103,-90,-75,-58, -39,-20 }; void setup() { TCCR0A=(1<<WGM01); //Set the CTC mode OCR0A=0xF9; //Value for ORC0A for 1ms TIMSK0|=(1<<OCIE0A); //Set the interrupt request TCCR0B|=(1<<CS01); //Set the prescale 1/64 clock TCCR0B|=(1<<CS00); sei(); //Enable interrupt } ISR(TIMER0_COMPA_vect){ //This is the interrupt request static uint8_t step25; if (step25 >= 40) step25 = 0; // OCR0A = 128 + sintab[step25]; analogWrite(5, 128 + sintab[step25]); step25++; } pseudocode ... müsste man schauen ob der pin passt kenne das gerade nicht
bulimie-code schrieb: > wenn du auch dazulernen würdest das lerne ich nicht dazu. Genau so wie die vielen Radiosammler die es nie lernen können mit einem Oszilloskop umzugehen und trotzdem irgendwie reparieren können. bulimie-code schrieb: > würde man dir den code sicherlich auch > schreiben An diesem Code könnte ich dann mangels Wissen auch nichts mehr ändern, ohne den Code kaputt zu machen. Also lasse ich das so. LG old.
Aus der W. schrieb: > Die Audioberechnung ist auch > betroffen. dann musst du genauer beschreiben was dein Problem ist bisher war I²C dein problem weil du nicht wusstest wie man öfter das LCD aktualisiert und damit nicht den ton kaputt macht und dein bisheriges LCD schreiben verbeult den ton
Aus der W. schrieb: > An diesem Code könnte ich dann mangels Wissen auch nichts > mehr ändern, ohne den Code kaputt zu machen. > Also lasse ich das so. dann hättest du das im eingang schon sagen sollen das du keine ahnung vom Programmieren hast vieleicht hätte das jemand gemacht
bulimie-code schrieb: > pseudocode ... > müsste man schauen ob der pin passt > kenne das gerade nicht Das sieht für mich umsetzbar aus. Danke. Werde das später am Tag mal testen. LG old.
bulimie-code schrieb: > sagen sollen das du keine ahnung > vom Programmieren hast Sieht man das nicht am Sketch?
Aus der W. schrieb: > Sieht man das nicht am Sketch? nicht direkt gibt genug leute die sonwas fabrizieren oder schlimmeres fabrizieren und zu faul zum aufräumen sind ich mache auch gern mal was quick&dirty
Aus der W. schrieb: > Die loop ist schnell genug. Nur der I2C hält sie zeitweilig an. Na und? Das ist so üblich und stört auch keinen weil man alle zeitkritischen Sachen in Interrupts abhandelt. Dafür sind die nämlich da. Die loop ist ausdrücklich nur für niedrigst-priorisierte Abläufe die keinerlei Anspruch auf irgendwelche festen Zeiten haben und die auch gerne kurz mal blockieren dürfen weil das in der loop keinen stört, denn da ist ja per Definition nichts zeitkritisches drin was sich gestört fühlen könnte.
Bernd K. schrieb: > Aus der W. schrieb: >> Die loop ist schnell genug. Nur der I2C hält sie zeitweilig an. > > Na und? Das ist so üblich und stört auch keinen weil man alle > zeitkritischen Sachen in Interrupts abhandelt. Dafür sind die nämlich > da. > > Die loop ist ausdrücklich nur für niedrigst-priorisierte Abläufe die > keinerlei Anspruch auf irgendwelche festen Zeiten haben und die auch > gerne kurz mal blockieren dürfen weil das in der loop keinen stört, denn > da ist ja per Definition nichts zeitkritisches drin was sich gestört > fühlen könnte. ich möchte nichtmal was sagen wenn man keine ahnung von µCs hat was aber mörder nervt ist die art weiter oben ... ich weiß auch nicht alles.. weiß mich aber zu behelfen und wenn ich auch damit nicht weiter komme , frag ich gerne hier nach und versuche das weitestgehend zu beschreiben und ich kann nur dazulernen !! man muss dann aber auch von anfang an sagen was sache ist - hab keinen plan vom µC - code ist zusammenkopiert und tut a,b und c - funktion d ,e und f gehen aber nicht weil dann weiß jeder was sache ist und was man dir zumuten kann hier kommen oft genug trolle, oder selbsternannte spezies die meinen die weißheit mit der schippe gefressen zu haben oder kiddies die ihre hausaufgaben gemacht haben wollen deswegen helfen tun alle ... aber eher auf diese weise das sie dir sagen was das Problem ist und dich mit der nase drauf schubsen zu 100% fertigen code rausgeben mach ich auch ungern
bulimie-code schrieb: > Aus der W. schrieb: >> Sieht man das nicht am Sketch? > > nicht direkt Manchmal ist es schon nicht ganz so einfach, für Fachfremde, Kompetenz und Arroganz zu unterscheiden. Oben erwähnte ich schon mal die 4 Kompetenzstufen: https://de.wikipedia.org/wiki/Kompetenzstufenentwicklung Meine Einschätzung: Unser TO steht in Sachen µC auf Stufe 1 Zeigt hier im Thread keinerlei Bereitschaft sich wenigstens auf Stufe 2 zu begeben. Viele hier im Forum, bewegen sich auf Stufe 3 und 4. Meiner Erfahrung nach, ist eine fachliche, konstruktive und erfolgreiche Kommunikation, nur zwischen Leuten auf benachbarten oder gleichen Stufen möglich. Liegt eine Stufe dazwischen, endet es sehr häufig im gegenseitigen Frust. Ich denke mal, dass dieser Thread diese Einschätzungen voll und ganz bestätigt.
Aus der W. schrieb: > Ihr habt Euch durch den Sinus völlig verrannt. Kannst du mal dein reduziertes Beispiel bringen, um das Problem zu zeigen? Vielleicht reden wir dann nicht mehr aneinander vorbei.
bulimie-code schrieb: > - code ist zusammenkopiert und tut a,b und c sogar mit Quellenangaben im Sketch.
Aus der W. schrieb: > bulimie-code schrieb: >> es wird immer die loop() verlangsamen > > Die loop ist schnell genug. Nur der I2C hält sie zeitweilig an. Der I2C hält gar nichts an. Der Controller braucht halt nur Zeit zur Abarbeitung der (sequentiellen) Befehle. Dein Sinus hält in diesem Sinne den Controller ebenso an, nämlich solange wie er braucht den Sinus zu berechnen, Du merkst es bloß nicht. Da Du aber völlig beratungsresistent bist läßt Du Dir nichts sagen. Auf so etwas wie einem µC wird die Sinusfunktion üblicherweise über Lookuptable gemacht, weil die am wenigsten Rechenzeit verbraucht. Dazu kommt die Sinusberechnung in eine ISR, weil sie dann immer Priorität vor allem anderen hat weil dann der Interrupt bestimmt wann gerechnet wird. Den interessiert es nämlich einen Scheißdreck ob der Prozessor gerade was anderes macht oder nicht, weil er das tut wonach er seinen Namen bekommen hat. Ich tue mich auch mit Interrupts schwer, weil es eben nicht so "geradlinig" läuft wie man es normalerweise gewohnt ist zu denken. Letztendlich läuft es aber mit Interupts meist besser. Man könnte sicher auch Deinen Semir-Sinus in einer ISR unterbringen, dann würde der nämmlich immer zu bestimmen Zeitpunkten ausgeführt. Ob das wirklich geht kann ich in dem speziellen Fall nicht sagen, aber hier sind genug Leute unterwegs die da erfahren genug sind und das können. Du mußt halt nur bereit sein Dir etwas sagen zu lassen, ansonsten ist eben jegliche Hilfestellung völlig sinnlos.
Hugo H. schrieb: > Aus der W. schrieb: >> Die Audioberechnung ist auch >> betroffen. > > Wie wirkt sich das aus? Ich hatte ursprünglich das Display permanent, also bei jedem Loopdurchgang, angesprochen. Dann ist der Pilotton so verbeult, dass der Empfänger nur sporadisch auf Stereo schaltet. Zu Deiner Frage: Wenn ich mit dem Tongenerator L+R auf die Audioeingänge gebe, die ALC deaktiviere und eben die Clipgrenze überschreite, muss die rote led permanent leuchten. Tut sie dann nicht. Bei nur Links oder nur Rechts muss die Clip LED beim gleichen Pegel ansprechen. Tut sie dann auch nicht. Durch das Ansprechen des Displays nur wenn es notwendig ist, habe ich dieses Problem gelöst. Im "Fehlerfall" wird der PWM-Wert glücklicherweise gehalten. Das gilt auch für den frequenzabhängigen Steuerwert für die Intergatoren. LG old.
Arduino Fanboy D. schrieb: > Meine Einschätzung: > Unser TO steht in Sachen µC auf Stufe 1 > Zeigt hier im Thread keinerlei Bereitschaft sich wenigstens auf Stufe 2 > zu begeben. > Viele hier im Forum, bewegen sich auf Stufe 3 und 4. Habe auch schon länger nichts mehr richtig gemacht. Programmiert schon gar nicht. Die Gründe sind um eine weitere Krebserkrankung angewachsen. Egal, die meisten hier wissen eh was alles passiert ist. Jedenfalls hast du da völlig recht, mit einem Unterschied. Die meisten wollen eine Stufe aufsteigen. Der TO will das offenbar nicht. Er wischt alles weg und meint es "muss" doch auch so gehen, wie er sich das vorstellt. Was er nicht kapieren will, ab einen gewissen Punkt muss man einfach bereit sein mehr Wissen anzuhäufen. Das ist keine Arroganz der "guten" Leute hier, wenn sie das (auf welche Weise auch immer) fordern. Vor der Herz OP an einem Säugling reicht es nicht nur ein paar Semester Medizin studiert zu haben. Selbst wenn der Thread noch 10 Seiten länger wird, es sind nicht die, die dem TO die Ratschläge geben, es liegt am TO, dass es trotzdem nicht klappen wird. In diesem Beitrag bin ich ja etwas über den ADC "gestolpert". Statt hier zu lamentieren, habe ich mich in den letzten Tagen da wieder etwas eingelesen. Das ist der übliche Weg, wenn man sich mit µC beschäftigen will.
Aus der W. schrieb: > An diesem Code könnte ich dann mangels Wissen auch nichts > mehr ändern, ohne den Code kaputt zu machen. > Also lasse ich das so. Du bist ein völlig hoffnungsloser Fall, weil Du nicht lernen willst - das ist der Punkt. Ich schrieb ja schon das ich mich mit ISR auch schwer tue, aber den Code von bulimie-code habe ich schon verstanden. ES gibt nur eine einzige Stelle wo ich nicht ganz verstehe warum er das so macht. Das tut hier aber nicht zur Sache. Er würde es aber ganz bestimmt erklären, wenn man ihn danach fragt.
F. F. schrieb: > Habe auch schon länger nichts mehr richtig gemacht. Hast du denn inzwischen mitbekommen, dass der Widerstand, den dir ufuf genannt hat, den Spannungsteiler nicht belastet? _______________________________________________________________ Ich teile Menschen nicht in Stufen und helfe jedem. LG old.
Habe im Anfang schon oft hier richtig was zu hören bekommen. Dann habe ich mich aber hingesetzt und die Probleme in kleinere Einheiten zerlegt und mich Stück für Stück da dran begeben. Im Nachhinein kann ich sagen, dass die meisten noch zärtlich mit mit umgegangen sind. :-)
Aus der W. schrieb: > Hast du denn inzwischen mitbekommen, dass der Widerstand, > den dir ufuf genannt hat, den Spannungsteiler nicht belastet? Ich sage doch, ich habe in den letzten Tagen gelesen. Die AN, die besonders interessant ist, habe ich auch genannt. Leider geht das nicht beim Tiny10. Der ADC (laut Microchip) belastet die Quelle nicht, bzw. kaum. Dein Teiler war also in Ordnung.
:
Bearbeitet durch User
Zeno schrieb: > Ob > das wirklich geht kann ich in dem speziellen Fall nicht sagen, aber hier > sind genug Leute unterwegs die da erfahren genug sind und das können. Natürlich geht das! Bleibt dann aber weiterhin eine fürchterliche Rechenzeit Verplemperung Und der Sprung beim micros() Überlauf steckt da dann auch noch drin. Als Basis habe ich das Arduino Blink Beispiel verwendet. Alleine nur, damit man sieht, dass sich in loop() noch was tut. Und damit gleichzeitig die I2C Blockade durch lang laufende delay() ersetzt. Im Log sieht man, dass noch einige Zeit für weitere Nebenläufigkeiten übrig bleibt. Immerhin sitzen noch über 60 Tausend yield() Aufrufe pro Sekunde drin. Es bleibt also genug Luft um da ein par I2C Display Ausgaben rein zu stricken. Folgende Nebenläufigkeiten spielen sich dann ab: 1. Es blinkt mit einer LED 2. UART im Hintergrund (per ISR) 3. Timer0 Abhandlung für millis() delay() und deren Brüder (per ISR) 4. Reichlich yield() Aufrufe während der delay() Zeiten 5. Die 25Hz Ausgabe (per ISR) Gezeigt habe ich das bisher nicht, weil mir der Sinus zu hässlich ist. Was an den wenigen Stützpunkten und der arg niedrigen PWM Frequenz liegt. Da gibt es die schon benannten besseren Möglichkeiten. Und weil der TO keinerlei Einsicht zeigt. Nachtrag: Die INTERVAL.h ist einfach nur eine Abstraktion des BlinkWithoutDelay Prinzips. Tut also wenig zur Sache.
Aus der W. schrieb: > Arduino Fanboy D. schrieb: >> Sprung beim micros() Überlauf > > Nimm halt millis() Bornierter ********* ! Nachtrag: > und der arg niedrigen PWM Frequenz liegt. Sorry, die ist schon hoch gesetzt.
Arduino Fanboy D. schrieb: > Bornierter ********* ! Bei mir ist das auch zackenfrei, wegen des Sallen-Key unten links im Schaltbild. https://www.mikrocontroller.net/attachment/431962/darius-cquam-schema-frequenzverdoppler.png Beitrag "Darius CQUAM Schaltungsteil Frequenzvedoppler" Deshalb ist die 1KHz PWM auch mehr als gut geeignet, das hattest du ja auch nicht verstanden und mit einer blöden Bemerkung quittiert.
Arduino Fanboy D. schrieb: > 5. Die 25Hz Ausgabe (per ISR) Könnte man da nicht das mikros() weglassen ? Das könnte man doch auch so schreiben:
1 | volatile int i = 0; |
2 | |
3 | ISR(TIMER0_COMPA_vect) |
4 | {
|
5 | i++ |
6 | if (i >= Wert) |
7 | {
|
8 | i = 0; |
9 | }
|
10 | OCR2B = 128 + 100 * sin(i * 0.000157); |
11 | }
|
12 | ISR_ALIAS(TIMER0_COMPB_vect,TIMER0_COMPA_vect); |
Die Variable Wert wird mit der Anzahl der Stützstellen-1 belegt und die Zeit zwischen zwei Interrupts wird so gewählt, das sie dem zeitlichen Abstand der Stützstellen entspricht. Vermutlich müßte dann auch noch der Multiplikator (0.000157), der ja nichts anderes als ein Winkelincrement darstellt, anpaßt werden. Wie groß das Winkelincrement sein muß ergibt sich aus der Anzahl der Stützstellen, der gewünschten Frequenz und dem Zeitintervall des Timerinterrupts. Ob das jetzt elegant ist sei mal dahin gestellt, aber so wäre man auch noch die micros() los - wenn's so geht wie mir das gedacht habe. Eine Lookup wäre aber sehr wahrscheinlich effizienter.
Hallo, Arduino Fanboy D. schrieb: > Bornierter ********* ! Was soll das? Akzeptiere einfach das 'Aus der W.' schlicht und einfach keine Lust hat sich näher mit der Programmierung von Microcontrollern zu beschäftigen und ihm Begriffe wie "Interrupt" und "Nebenläufigkeit" offensichtlich nicht zugängig sind. Und an 'Aus der W.': 'Arduino Fanboy D.' hat dir mit Pilot25Hz.ino ein Gerüst für dein ganzes Projekt geliefert, das du nur noch entsprechend ergänzen musst um dein(e) Problem zu lösen (und da selbst ich sofort verstanden habe wie der "Sketch" funktioniert, kann es nicht besonders schwer sein). rhf
Roland F. schrieb: > Hallo, > Arduino Fanboy D. schrieb: >> Bornierter ********* ! > > Was soll das? > Akzeptiere einfach das 'Aus der W.' schlicht und einfach keine Lust hat > sich näher mit der Programmierung von Microcontrollern zu beschäftigen > und ihm Begriffe wie "Interrupt" und "Nebenläufigkeit" offensichtlich > nicht zugängig sind. Meister! Der TO selber hat weiter oben schon festgestellt, dass ein Wechsel von micros() auf millis() wirkungslos ist. Das hätte eine "Einsicht" sein können. Also ist sein Vorschlag: Aus der W. schrieb: > Nimm halt millis() Völlig Sinnfrei. Gegen seine eigene Feststellung. Und hier bei der Pilot25Hz.ino sogar derbe kontraproduktiv, da millis() sich nur alle 1ms ändert, im Programm aber alle 0,5ms eine neue Stützstelle berechnet wird. Borniert: eigensinnig unbelehrbar unnachgiebig philiströs engstirnig kleingeistig starrsinnig verstockt kleinkariert verbohrt vernagelt So dermaßen vernagelt, dass sogar die selbst gemachten Feststellungen abperlen und so nicht zur einer Einsicht werden können.
Roland F. schrieb: > 'Arduino Fanboy D.' hat dir mit Pilot25Hz.ino ein Gerüst für dein ganzes > Projekt geliefert [Ironie] Ja klar. Ohne ihn würde der Modulator gar nicht laufen. [/Ironie] rotfl Seine Nebelkerzen, Blendgranaten und Beleidigungen jucken mich nicht. Der einzige der bisher was beigetragen hat war stefanus, man kann jetzt bei dunklem Display nicht mehr die Frequenz verdrehen. Beitrag "Re: I2C "blockiert" Arduino" Probiere ich noch aus. Bin gerade dabei den MAX941 als Komparator im Frequenz-Verdoppler zu probieren. Kann etwas dauern. LG old.
Hallo, Arduino Fanboy D. schrieb: > Meister! Und was soll das jetzt? Eine solch herablassende Art unterscheidet sich nicht wesentlich von der Arroganz des TO. rhf
Aus der W. schrieb: > Der einzige der bisher was beigetragen hat war stefanus, > man kann jetzt bei dunklem Display nicht mehr die Frequenz > verdrehen. Auch wenn ich kein Freund von "Fanboys" (:-)) bin, so muß man dem Arduinofanboy schon zugestehen das er Dein Problem im wesentlichen gelöst, und zwar auf eine Art und Weise, wie es hier wahrscheinlich jeder versteht (s. hier Beitrag "Re: I2C "blockiert" Arduino"). Auch bulimie-code hat einen verständlichen Lösungsweg aufgezeigt. Insofern haben beide einen Beitrag zur Lösung des Problems gezeigt. Der einzige hier der es nicht verstehen will oder kann bist Du hier - warum auch immer. Wenn einer so vernagelt ist wie Du, dann sind alle Versuche ihm zu helfen völlig sinnlos, weil sie ins Leere laufen, und somit eigentlich verschwendete Lebenszeit.
Zeno schrieb: > Auch wenn ich kein Freund Lach, dein "Freund" hat den Post mit den meisten Beleidigungen verfasst. Das war es auch. Roland F. schrieb: > Arroganz des TO. Habe mir nochmal den Anfang des Threads durchgelesen. Woran machst Du das fest? Und lasst die if-Orgie wirklich auf einen Softwarekönner schließen? Übrigens hatte ich früher mal hier nach Monoflops gefragt. Da hatte ich auch diesen ufuf am Hals. Hilfe = Null, dafür sehr viel Selbstdarstellung. LG old.
Wenn ich mir nicht sicher wäre, daß Donald nix von Röhren versteht ... Nun besser?
Aus der W. schrieb: > Zeno schrieb: >> Auch wenn ich kein Freund > > Lach, dein "Freund" hat den Post mit den meisten Beleidigungen > verfasst. Das war es auch. Wo habe ich geschrieben das es mein Freund ist? Aus dem Zusmmenhang heraus gerissen sinnentstellend zitieren kannst Du im Gegensatz zu µC Programmierung hervorragend. Aber gut irgendewas mußt Du ja auch gut können. Mag sein das der Fanboy die meisten Beleidigungen verfasst hat, ich hab's nicht nachgezählt - ist mir auch so ziemlich Rille, aber am Ende hat er letztendlich abgeliefert. Aber Du hast es eben wieder nicht begriffen, oder besser willst es nicht begreifen.
Hallo, Aus der W. schrieb: > Woran machst Du das fest? Daran, das du alle, die dir habe Hilfe zukommen lassen, herab würdigst, wenn ihre Hilfe nicht in deine Denkmuster passen. rhf
Roland F. schrieb: > Daran, das du alle, die dir habe Hilfe zukommen lassen, > herab würdigst,... Wie kommst Du drauf? Verlinke mal bitte zu dem ersten solchen Beitrag. LG old.
Aus der W. schrieb: > Roland F. schrieb: >> Daran, das du alle, die dir habe Hilfe zukommen lassen, >> herab würdigst,... > > Wie kommst Du drauf? Verlinke mal bitte zu dem ersten solchen > Beitrag. > > LG > old. Der erste Beitrag der den korrekten Weg zur Lösung nennt ist bereits die dritte Antwort auf Seite 1. Im weiteren Verlauf wurde das von vielen Leuten weiter vertieft und erklärt, inklusive weiterer Optimierungen und sogar vollständig auskodierten Lösungen.
:
Bearbeitet durch User
Oh man Also mein Beispiel war eine Fortführung von Peters Code Mit 40 Stützstellen und lookuptable. Den Timer ist hab ich ausm Netz gesucht. Das war 1min googlen... Der Code von fanboy ist Mal geil... Der TO könnte ja das nehmen und seinen Teil noch einbauen Damit wäre er das pilotton Problem erstmal los. Das seine LEDs nicht korrekt an/ausgehen liegt am Verständnisproblem der Loop Bzw endlosloop bei uC's Das kann man aber lösen. Man muss nur wissen was er will.. Wenn noch viel mehr Funktionen rein sollen... LCD Menü oder so ... Wird das noch witzig :-/
Bernd K. schrieb: > Der ... Und wo findet man da Beitrag "Re: I2C "blockiert" Arduino" die Herabwürdigung?
Aus der W. schrieb: > Nur der I2C hält sie zeitweilig an. ich lese meine I2C in der ISR, der Zugriff in meiner ISR wird durch den I2C Zugriff um irgendwas von 1-1,5µs verlängert wenn stört das wenn nicht alle µs ein AD Sample rausgeschickt werden muss? bei 25 Hz (0,04s) sehe ich sogar kann ich alle 1ms 40 SinusStützstellen zum ADC rausjagen, alle 100µs sogar 400 Stützstellen und habe nach jeder Stützstelle mindestens 90µs Zeit einen oder mehr I2C Werte rauszuschicken. Aber was schreibe ich hier, für wen?
HI
>Aber was schreibe ich hier, für wen?
Warum weckst du schlafende Hunde? Es war so schön ruhig hier.
MfG Spess
bulimie-code schrieb: > pseudocode ... Kompilieren tut das, aber ich bekomme das leider nicht ans Laufen damit. Zeilen 62-->67, 176-->183 und 206-->212 Teile Falsch eingebaut? Keine Ahnung. Nicht funktionierender Sketch anbei. LG old.
Auch wenn der Titel mittlerweile so gut wie gar nichts mehr mit dem Inhalt des Fadens zu tun hat, wäre es doch schön die 500 Postings hier im Thread voll zu bekommen. Also nur nicht verzagen - immer munter weiter so ...
Hallo Zusammen, ich habe den Code mal neu formatiert damit man ihn besser lesen kann. @Darius Das erste was auffällt, ist Deine sintab, die Declaration ist uint8_t, bedeutet unsigned Byte, also keine negativen Werte. Beim Rest muss ich mich erstmal einlesen und begreifen. Gruß Frank
Frank L. schrieb: > Hallo Zusammen, > ich habe den Code mal neu formatiert damit man ihn besser lesen kann. Ein lesbar formatierter Quelltext wird explizit vom TO abgelehnt.
Hallo, uint8_t soll naturlich unsigned char heißen :-( @Darius, ändere das mal in int8_t dann sollte Deine Sinus wieder laufen. Wobei ich die Einstellungen für den Timer nicht geprüft habe. Sitze gerade am Handy und habe die Daten dazu nicht im Kopf. Gruß Frank
Frank L. schrieb: > Beim Rest muss ich mich erstmal einlesen und begreifen. Vielen Dank. Vielleicht ist es einfacher den "bulimie-Code" zu reparieren, Beitrag "Re: I2C "blockiert" Arduino" den kann ich mir dann in den Sketch reinfummeln. LG old.
Hallo Darius, auch nicht schlecht - erstmal Kaffee trinken. Bitte schreib mal genau, was nicht geht. Sinus nicht da, keine Ausgabe auf dem LCD oder was @Alle, er macht jetzt was ihr wolltet, er baut seinen Code um, auch wenn er noch nicht ganz erfasst, was er tut, ist es ein Anfang. Jetzt liegt es an uns, ihm die Hilfe zu geben, die er noch benötigt. Also bitte... Gruß Frank
Frank L. schrieb: > @Darius > Das erste was auffällt, ist Deine sintab, die Declaration ist uint8_t, > bedeutet unsigned Byte, also keine negativen Werte. Glücklicherweise gibt es auch kein PWM-Signal mit negativem Tastverhältnis. Wenn man es richtig macht, kann das also passen ...
Frank L. schrieb: > Sinus nicht da, keine Ausgabe auf dem LCD Korrekt. Der "Bulimie-Code" killt alles. Wobei ich kann das Display und die LEDs sowie die Frequenzverstellung nicht aktivieren. Ich vermute, es gibt ein INT Problem, weil der VFO das auch nutzt. Aber keine Ahnung. LG old.
Laut dem Kommentar im "neuem" Code wird Timer0 in den CTC Mode versetzt. Obwohl doch PWM genutzt werden soll, und der Timer auch für millis() usw. benötigt wird. Ob das dann noch so funktionieren kann, habe ich nicht geprüft.
Hallo Darius, dieser Part gehört nur in den Setup Teil, da Du den Timer nur einmal initialisieren musst.
1 | TCCR0A = (1 << WGM01); //Set the CTC mode Pilot |
2 | OCR0A = 0xF9; //Value for ORC0A for 1ms |
3 | |
4 | TIMSK0 |= (1 << OCIE0A); //Set the interrupt request |
5 | TCCR0B |= (1 << CS01); //Set the prescale 1/64 clock |
6 | TCCR0B |= (1 << CS00); |
7 | |
8 | sei(); //Enable interrupt |
also so:
1 | PCICR |= (1 << PCIE2); |
2 | PCMSK2 |= (1 << PCINT18) | (1 << PCINT19); |
3 | TCCR0A = (1 << WGM01); //Set the CTC mode Pilot |
4 | OCR0A = 0xF9; //Value for ORC0A for 1ms |
5 | |
6 | TIMSK0 |= (1 << OCIE0A); //Set the interrupt request |
7 | TCCR0B |= (1 << CS01); //Set the prescale 1/64 clock |
8 | TCCR0B |= (1 << CS00); |
9 | |
10 | sei(); //Enable interrupt |
Ob die Initialisierung des Timers korrekt ist und der richtige INT-Vektor benutzt wird, müsstest Du im Datenblatt nachlesen. Gruß Frank
Frank L. schrieb: > sei(); //Enable interrupt Ohne vorhergehendes cli() sind die beiden sei() überflüssig, da schon von Arduino gesetzt.
Hallo ufuf, das weißt Du wahrscheinlich besser als ich, ich arbeite nur sehr selten bzw. fast gar nicht mit einem ARDUINO. Aber ist es grundsätzlich falsch ein sei() hinzuschreiben? Gruß Frank
Frank L. schrieb: > @Alle, er macht jetzt was ihr wolltet, er baut seinen Code um, auch wenn > er noch nicht ganz erfasst, was er tut, ist es ein Anfang. Jetzt liegt > es an uns, ihm die Hilfe zu geben, die er noch benötigt. Also bitte... Nach dem ganzen Theater hier? Viel Spaß! BTW
1 | TCCR0A = (1 << WGM01); //Set the CTC mode Pilot |
2 | OCR0A = 0xF9; //Value for ORC0A for 1ms |
3 | |
4 | TIMSK0 |= (1 << OCIE0A); //Set the interrupt request |
5 | TCCR0B |= (1 << CS01); //Set the prescale 1/64 clock |
6 | TCCR0B |= (1 << CS00); |
7 | |
8 | sei(); //Enable interrupt |
gehört nach "setup" Timer 0 wird von "millis()" verwendet, Wollts nur sagen, wegen dem explizitem Setzen des Vorteilers auf 64... nicht, dass die millis() nicht mehr hinhauen, am Ende
Hallo Äxl, ja das millis macht mir auch gerade Sorgen, ich kenne mich leider mit dem ARDUINO nicht so aus, von daher weiß ich nicht, welcher Timer stattdesssen verwendet werden könnte. Gruß Frank
Anbei die letzte funktionierende Version im "Registrierkassenformat". ;-) Ist geprüft und läuft. Daran teste ich dann Eure Vorschläge. LG old.
https://ucexperiment.wordpress.com/2012/03/16/examination-of-the-arduino-millis-function/ Wird schon auf 64 gesetzt, kann entfallen, denk' ich. https://github.com/zkemble/millis/blob/master/arduino/millis/millis.cpp
1 | // Initialise library
|
2 | #define REG_OCR OCR0A
|
3 | void millis_init() |
4 | {
|
5 | // Timer settings
|
6 | SET_TCCRA(); |
7 | SET_TCCRB(); |
8 | REG_TIMSK = _BV(BIT_OCIE); |
9 | REG_OCR = ((F_CPU / PRESCALER) / 1000); |
10 | }
|
Da geht aber noch mehr schief, wenn OCR0A nun mit 0xF9 belegt wird. 16.000.000/64 = 250.000 250.000 /1.000 =250 --> 0xFA Wie jetzt der Interruptaufruf explizit in die millis() "eingreift", teste ich jetzt nicht. Am besten Timer 2 verwenden
Hallo Darius, tu uns allen bitte einen Gefallen, Drück bevor Du den Code hochlädst, die Tastenkombination CTRL-T dann sollte in der ARDUINO IDE der Code zu mindestens einigermaßen lesbar formatiert werden. So ist es wirklich eine Zumutung den Code zu lesen. Gruß Frank
Frank L. schrieb: > ja das millis macht mir auch gerade Sorgen, Die quellen liegen alle offen, kann man ja reinschauen.
Frank L. schrieb: > tu uns allen bitte einen Gefallen, Drück bevor Du den Code hochlädst, > die Tastenkombination CTRL-T dann sollte in der ARDUINO IDE der Code zu > mindestens einigermaßen lesbar formatiert werden. Da passiert nichts ?!? Strg T ? Ich sehe gerade: Keine Änderungen für automatische Formatierung nötig.
Merkwürdig, bei mir funktioniert es und der Code sieht besser aus. Aber egal oder arbeitest Du auf einem MAC?
Frank L. schrieb: > Aber ist es grundsätzlich falsch ein sei() hinzuschreiben? Nein. Nur hier überflüssig. Äxl schrieb: > Wird schon auf 64 gesetzt, kann entfallen, denk' ich. > https://github.com/zkemble/millis/blob/master/arduino/millis/millis.cpp Das ist nicht der Arduino original Code Der findet sich hier: https://github.com/arduino/ArduinoCore-avr/blob/2f67c916f6ab6193c404eebe22efe901e0f9542d/cores/arduino/wiring.c
Aus der W. schrieb: > Zeilen 62-->67, 176-->183 und 206-->212 Teile Falsch eingebaut? Diese Zumutung von verquirltem Quelltext guck ich nicht nicht nochmal an. Ich habe Dir deinen Quelltext ordentlich formatiert und analysiert. Jetzt präsentierst du schon wieder die gleiche Scheiße. Das ist eine Frechheit, die ganze Mühe war für die Katz!
Frank L. schrieb: > Aber ist es grundsätzlich falsch ein sei() hinzuschreiben? Es kann natürlich eine Strategie sein, überall im Programm mal ein paar sei() einzustreuen. Falsch ist es nicht, aber meist unsinnig. Innerhalb einer Interruptroutine kann das seine Berechtigung haben. Allerdings solltest du dann genau wissen, was du tust.
Stefanus F. schrieb: > Ich habe Dir deinen Quelltext ordentlich formatiert und analysiert. Dann nimm den doch. Ich zupf mir dann die Zeilen und kopiere die in die neue ino. Aufm UNO board kann man die vorher testen. RC-Glied, Brücke zum Taster Oszilloskop, fertig. Kritik an der Formatierung ist jetzt nicht mehr. LG old.
Aus der W. schrieb: > Ich zupf mir dann die Zeilen und kopiere > die in die neue ino. ...und kopierst die Timerinitialisierung in die loop(). Aus der W. schrieb: > Kritik an der Formatierung ist jetzt nicht mehr. Frank L. schrieb: > Jetzt liegt > es an uns, ihm die Hilfe zu geben, die er noch benötigt. Also bitte... kapiert es jetzt der "Neuzugang" Frank L. auch, was hier abgeht? Aus der W. schrieb: > Aufm UNO board kann man die vorher testen. #issklar ;) bei mir ist zB ein 32u4 drauf, kein 328. Am Ende lass' ich mich dann beschimpfen, wenn ein Bit nicht passt? Ganz sicher nich...
deswegen schrieb ich pseudocode ich hab auch kein arduino... Wenn ich was mache weiß ich vorher welcher timer was tut und wie tickt weil ICH das bestimme und nicht eine IDE mit irgendwelchen libs Nuja dann halt Timer2 .. oder 3 ^^ prinzip bleibt gleich. vieleicht sollte man ihm mal sagen das man funktionen schreiben kann und nicht 1000 Zeilen kettencode schreiben muss
und bei den "if - schleifen" ließen sich auch n paar "Entscheidungen" umdrehen bzw. zusammenfassen...
Das ganze in passende Funktionen wird nur halb so lang.. Das Kreide ich ihm absolut NICHT an Er hat es nirgends gelernt. Schöne heile arduino Welt. Kann ja morgen auf Arbeit schauen. Die Lehrlinge nutzen das gerne Mal und vlt hat einer Zeit den scetch aufzuräumen
Bulimie-code schrieb: > Er hat es nirgends gelernt. Und will es auch nicht. Hatte schon mal angeregt, sich die üblichen Stile Guides mal anzuschauen. Interessiert ihn offensichtlich nicht. Bulimie-code schrieb: > Schöne heile arduino Welt. Das kannst/solltest du nicht Arduino ankreiden. Zudem: In einem Arduino Forum hätte er sicherlich nicht so lange überlebt. Ansonsten: Jeder ist seines Codes Schmied.
Bulimie-code schrieb: > Die Lehrlinge nutzen das gerne Mal und vlt hat einer Zeit den scetch > aufzuräumen Als Beispiel dafür, wie man es nicht macht sicher gut geeignet. Bisher fand ich den Begriff "Gutmensch" immer ganz furchtbar, aber, wenn ich sehe, wie hier nach mehr als 400 Beiträgen Ignoranz und Unbelehrbarkeit immer noch versucht wird, dem TO Grundlagen beizubringen bekommt der Begriff eine vollkommen neue Aussage. Warum lasst ihr den Trottel nicht am langen Arm verhungern? Ist doch langsam peinlich!
Harry L. schrieb: > Bulimie-code schrieb: > Die Lehrlinge nutzen das gerne Mal und vlt hat einer Zeit den scetch > aufzuräumen > > Als Beispiel dafür, wie man es nicht macht sicher gut geeignet. > > Bisher fand ich den Begriff "Gutmensch" immer ganz furchtbar, aber, wenn > ich sehe, wie hier nach mehr als 400 Beiträgen Ignoranz und > Unbelehrbarkeit immer noch versucht wird, dem TO Grundlagen beizubringen > bekommt der Begriff eine vollkommen neue Aussage. > > Warum lasst ihr den Trottel nicht am langen Arm verhungern? > > Ist doch langsam peinlich! Weil es interessant wäre wie man aus so einem ausgewürgtem etwas sogar was funktionierendes rauskommen kann. .. Wenn man denn will !! Einfach als Info für den Rest der Welt .. nicht für den TO
äxl schrieb: > Harry L. schrieb: >> Warum lasst ihr den Trottel nicht am langen Arm verhungern? > > machen wir doch ;) Nicht wirklich. Es wurde von einigen Leuten hier im Forum Lösungen auf dem Silbertablett serviert (als da wären z.B. Peda, ArduinoBoy, Stefanus, um nur einige der hier tätigen fachlich versierten Programmierer zu nennen), die werden aber als Vollidioten abgewatscht. Das ist unter anderem einer der Gründe, weshalb ich nicht im geringsten daran denke, einer dermaßen flegelhaften und undankbaren Person auch nur ansatzweise zu helfen. Just my 2 cent.
Mein Ärger gegenüber Firmen, die Ihre Softwareintwicklung ins Ausland geben, hat sich vollkommen in Luft aufgelöst. Danke dafür. Zumindest hat die Leserschaft von mir einen wirklich guten ALC-Sketch für Arduino bekommen. Also für die Tonne ist der Fred hier definitiv nicht. LG old.
Aus der W. schrieb: > Zumindest hat die Leserschaft von mir einen wirklich guten ALC-Sketch > für Arduino bekommen. <Gelächter einfügen> Du inszenierst hier Szenen einer grotesken satirischen Arduino-Maker-Posse, die erste Staffel ist fast fertig, hab ich recht? Wann ist die Erstausstrahlung im Fernsehen?
:
Bearbeitet durch User
Aus der W. schrieb: > Zumindest hat die Leserschaft von mir einen wirklich guten ALC-Sketch > für Arduino bekommen. Du machst Dich lächerlich. Solchen Spaghetticode kann und will keiner nachnutzen. Noch nie was von modularer Programmierung gehört?
:
Bearbeitet durch User
Aus der W. schrieb: > Zumindest hat die Leserschaft von mir einen wirklich guten ALC-Sketch > für Arduino bekommen. Also für die Tonne ist der Fred hier definitiv > nicht. Warum veröffentlichst du dein Code dann als Frage und nicht in der Codesammlung? Der Fred ist nicht für die Tonne, weil er die Popcorn-Industrie ankurbelt. Aus der W. schrieb: > Mein Ärger gegenüber Firmen, die Ihre Softwareintwicklung > ins Ausland geben, hat sich vollkommen in Luft aufgelöst. Bei solchen "Programmierern" wie dir, kommt man ja gar nicht umhin, die Tätigkeit zu willigeren Menschen zu verlagern.
Aus der W. schrieb: > Zumindest hat die Leserschaft von mir einen wirklich guten ALC-Sketch > für Arduino bekommen. Gleich nach Selbstüberschätzung kommt der Größenwahn.
Aus der W. schrieb: > Zumindest hat die Leserschaft von mir einen wirklich guten ALC-Sketch > für Arduino bekommen. Das will ich gerade nicht bewerten, aber ohne dazugehörigen Schaltplan ist ein Sketch wertlos.
yesitsme schrieb: > Das will ich gerade nicht bewerten, aber ohne dazugehörigen Schaltplan > ist ein Sketch wertlos. Ach? Davon rede ich schon seit Anbeginn. Dann hätte man das mal eben schnell zusammenpfrimeln können und mittesten (wie so maches mal hier bei anderen "Problemchen") Aber die Schaltung inm der Keksdose scheint es ja nicht mehr zu sein. Ist ja nun 'alles anders'. Ich beschrieb das mit "links" und "rechts" vom DDS und mir wurde "viel Spass beim Blinde-Kuh" spielen gewünscht. Beitrag "Re: I2C "blockiert" Arduino"
äxl schrieb: > Ist ja nun 'alles anders'. kurz zusammengefasst: du hast keine lust dir das alles allein in den drei foren und den vielen beiträgen hier zusammenzusuchen und willst die schuld dafür jetzt anderen geben? das geht so aber nicht... ironie aus
Wussten Sie schon: ctrl-t formatiert den Code in der Arduino IDE automatisch.
Ich spiele jetzt tatsächlich "blinde Kuh", hoffe aber darauf, dass der TO auf andere mehr hört, als auf mich und endlich einsieht, dass n Schaltplan - also ein aktueller Schaltplan - auch für andere unentbehrlich ist, um hier eventuell doch noch helfen zu wollen. Hier wird wohl die Phasenmodulation gemacht... https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154018#pid154018 https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154570#pid154570 Das scheint ja jetzt die komplette schaltung zu sein? https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154168#pid154168 Was ist aus diesem Phasenmodulator geworden? https://3.bp.blogspot.com/-4xgSlHlL5uE/XNws0KkeTcI/AAAAAAAABrY/Gty4qSO6dL0AmhQi_YMQ4YsNOyoYEWUXgCLcBGAs/s1600/schema_Phasenmodulator_C-QU_20190514_Blog.png Weshalb ändert sich das L-R mit der Frequenz? https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154777#pid154777
Aus der W. schrieb: > Ich habe nur Schaltungsteile in LTspice. Welchen Schaltungsteil > möchtest Du denn sehen? Ich kann Dir auch einen Screenshot > davon hochladen. Mein Angebot steht nach wie vor.
Aus der W. schrieb: > Man lernt dabei immer. Beispielsweise wie man die > ominöse Zahl in Zeile 171 berechnet: > > Multiplikator = 2*PI/40 // für millis() und 40ms Periodendauer > > Damit hätte ich mich sonnst nie befasst und der Semir hat ein > Geheimnis draus gemacht. https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154185#pid154185 da steht sogar die erkärung - geheimnis wurde also schon vor langer zeit gelüftet...
Sven K. schrieb: > https://radio-bastler.de/forum/showthread.php?tid=8756&pid=154185#pid154185 > da steht sogar die erkärung - geheimnis wurde also schon vor langer zeit > gelüftet... Nö, da steht >> das ist der Faktor 0.000157. Ein Verändern dieses Faktors erhöht >> oder erniedrigt die Frequenz. Ich hatte das mal ausgerechnet aber >> im Moment nicht parat. Jetzt wisst Ihr wie man das rechnet: Beitrag "Re: I2C "blockiert" Arduino" LG old.
Sven K. schrieb: > kurz zusammengefasst: du hast keine lust dir das alles allein in den > drei foren und den vielen beiträgen hier zusammenzusuchen und willst die > schuld dafür jetzt anderen geben? das geht so aber nicht... na genau ;) ( Ich mach ja nun schon - haha :)) ) Eigentlich interessiert mich nur der aktuelle Stand und die vielen "Von hinten durch die Brust ins Auge" Ansätze. Vieles wäre auch rein schaltungstechnisch einfach unnötig. Aber auch das ist sicherlich 'nicht verhandelbar'. Sehr unterhaltsam hier... Ich erwarte ja keine Baumappe, wie sie von der QRP-AG herausgegeben werden. Garnicht. http://www.qrpproject.de/Media/pdf/Hegau_Manual_komplett.pdf wenigstens n Schaltplan, wo man auch sieht, was da an PIN11 nun an PWM herauskommt, was dieser ominöse "ALC-Sketch" nun macht ( ich nehme an, hier wird PIN4 vom TDA7052A zwecks Lautstärkerregelung über ein Tiefpassfilter angesteuert?) Oder doch sein Differenzverstärker aus der Keksdose? Oder der OTA? Oder wird für die ALC ein SSM2167 genommen? Es scheinen ja drei PWM -Kanäle aktiv zu sein. .der ALC-Sketch-PIN .der 25Hz Pilot-Ton .der Frequenzabhängige Integratornachregelpegel für die Frequenzverdopplung was ist mit L-R, welches "mit der Freuenz" immer leiser wird? Mit Der Audiofrequnz oder mit der Sendefrequenz? Muh Äxl
Aus der W. schrieb: > Jetzt wisst Ihr wie man das rechnet: > Beitrag "Re: I2C "blockiert" Arduino" mit Verlaub: glaube mir Das wussten wir auch schon vorher. Das ist hier mikrocontroller.net. Wir befassen uns nicht erst seit gestern mit diesen und anderen Dingen.
Aus der W. schrieb: > Jetzt wisst Ihr wie man das rechnet: > Beitrag "Re: I2C "blockiert" Arduino" Nö, ich hab die Stützstellen in meinen obigen Arraybeispiel alle mit der Wünschelrute ausgependelt. Simpelste Mathematik mußt Du uns nicht erklären.
Peter D. schrieb: > Aus der W. schrieb: >> Jetzt wisst Ihr wie man das rechnet: >> Beitrag "Re: I2C "blockiert" Arduino" > > Nö, ich hab die Stützstellen in meinen obigen Arraybeispiel alle mit der > Wünschelrute ausgependelt. Es geht nicht um die Berechnung Deines Arrays. > Simpelste Mathematik mußt Du uns nicht erklären. Ja nachher ist man immer schlauer, hi hi. LG old.
Meine vorläufige Diagnose läutet: Egozentrisch Der Duden sagt dazu: > Die eigene Person als Zentrum allen Geschehens betrachtend; > alles in Bezug auf die eigene Person beurteilend und eine > entsprechende Haltung erkennen lassend Wikipedia: > Mit 'Egozentrik' wird ein „Egozentrismus der Wahrnehmung“ > beschrieben, der die Unfähigkeit bezeichnet, sich in > die Rolle eines Anderen hineinzuversetzen bzw. die Perspektive > eines Anderen anzunehmen sowie die eigene Sichtweise > als eine unter mehreren aufzufassen.
1 | C:\\Users\..."-DUSB_PRODUCT=\Arduino Micro\"" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\micro" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\ar\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Users\\ar\\Documents\\Arduino\\libraries\\Rotary-master" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "C:\\Users\\ar\\AppData\\Local\\Temp\\arduino_build_163424\\sketch\\cquam_darius_20191014g.ino.cpp" -o "C:\\Users\\ar\\AppData\\Local\\Temp\\arduino_build_163424\\sketch\\cquam_darius_20191014g.ino.cpp.o" |
2 | C:\Users\ar\Documents\cquam_darius_20191014g\cquam_darius_20191014g.ino: In function 'void setup()': |
3 | |
4 | cquam_darius_20191014g:85:18: error: 'PCIE2' was not declared in this scope |
5 | |
6 | PCICR |= (1 << PCIE2); |
Mitm Mega32u4 geht's schonmal nicht. Es gibt zwar den PCINT0 (Vec.No10/ Adr.0x12),es gibt das Pin Change Control Register Register PCICR, dort ist aber nur das Bit0 (PCIE0) definiert.
1 | In function 'void PCINT2_vect()': |
hat der mega32u4 auch nicht. Schade, schade... ;) Einen UNO hab ich nicht. Ich dachte, Arduino sei so'n bissl Plattformübergreifend. So würde ich das zumindest gestalten, wenn ich schon hier was schreiben söllte
äxl schrieb: > Ich dachte, Arduino sei so'n bissl > Plattformübergreifend. Naja... Bei direkten Registermanipulationen, sollten die Registerbezeichner und die Bit Defines schon zum verwendeten µC passen.
Arduino Fanboy D. schrieb: > Meine vorläufige Diagnose läutet: Egozentrisch Nennt man das heute nicht trumpen ?
Harry L. schrieb: > Arduino Fanboy D. schrieb: >> Meine vorläufige Diagnose läutet: Egozentrisch > > Nennt man das heute nicht trumpen ? Ja, durchaus! Versuchte ich auch schon mal zu erwähnen, mit etwas anderen Worten. Arduino Fanboy D. schrieb: > äxl schrieb: >> Stattdessen poltert Du hier hier durch die Gegend > > Ich nenne ein solches Verhalten mittlerweile "rumtrumpen". > Denn der Trump verhält sich ähnlich.
aus: https://www.mikrocontroller.net/attachment/highlight/432360 vom 20.10.2019
1 | #include <Wire.h> |
2 | #include <LiquidCrystal_I2C.h> // 27=A4=SDA, Pin28=A5=SCL |
3 | LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); |
4 | #include <rotary.h> |
5 | #include <EEPROM.h> |
6 | int volt = A1; //24 Atmega Eingang Spannungskontrolle, Taster |
7 | ... |
8 | ... |
Ich wundere mich über garnichts mehr. Natürlich wurde auch bei meinem Versuch einer Übersetzung das 'POSITIVE' als fehlerhaft angemerkt. Ein init mit 0x27,16,2 half dann. Andere bemerkten das auch... in: https://electronicsprojectshub.com/i2c-lcd-display-arduino/ wurde auf den fehlerhaften Init-Code fürs Display hingewiesen:
1 | Arnold |
2 | April 1, 2018 at 1:29 PM | Reply |
3 | |
4 | I am getting as ‘POSITIVE’ was not declared in the scope will you please help. |
5 | thanks in advance |
6 | |
7 | Electronics Projects Hub |
8 | April 1, 2018 at 6:46 PM | Reply |
9 | |
10 | I will check it and reply you soon. |
11 | Milan |
12 | November 1, 2018 at 10:56 AM | Reply |
13 | |
14 | LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); Shoul be |
15 | LiquidCrystal_I2C lcd(0x27, 16,2); |
16 | 16,2 is 16 boxes in 2 rows. No need to declare pins. |
17 | Electronics Projects Hub |
18 | November 18, 2018 at 12:21 PM | Reply |
19 | |
20 | All problems fixed, check the updated version in the same page. |
21 | |
22 | Jake Dorman |
23 | October 1, 2018 at 9:27 PM | Reply |
24 | |
25 | I’m also getting the error; |
26 | |
27 | Liquid_Crystal_Test:4:53: error: ‘POSITIVE’ was not declared in this scope |
28 | |
29 | LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); |
30 | |
31 | Electronics Projects Hub |
32 | November 18, 2018 at 12:25 PM | Reply |
33 | |
34 | All problems fixed, check the updated version in the same page. |
aus dem, am 08.11.2018 berichtigtem Quellcode:
1 | #include <Wire.h> |
2 | #include <LiquidCrystal_I2C.h> |
3 | // Set the LCD address to 0x27 for a 16 chars and 2 line display |
4 | LiquidCrystal_I2C lcd(0x27, 16, 2); |
5 | ... |
6 | ... |
Compiliert denn der quellcode /Arduino Sketch bei jemandem? Ich musste ausserdem "rotary" groß schreiben. Wer weiss, ob es die gleiche lib ist.
1 | #include <Wire.h> |
2 | #include <LiquidCrystal_I2C.h> // 27=A4=SDA, Pin28=A5=SCL |
3 | LiquidCrystal_I2C lcd(0x27, 16,2); |
4 | #include <Rotary.h> |
5 | #include <EEPROM.h> |
6 | int volt = A1; //24 Atmega Eingang Spannungskontrolle, Taster |
Aber wie oben schon genannt: der sketch ist ohne die original Bibliotheken wertlos. Ohne Schaltplan ebenso.
Beitrag "I2C Display an arduino uno" Also wenn ich dass schaffe … Oder soll ich dir meinen libraries Ordner zippen und anhängen? LG old.
äxl schrieb: > Andere bemerkten das auch... > in: https://electronicsprojectshub.com/i2c-lcd-display-arduino/ > > wurde auf den fehlerhaften Init-Code fürs Display hingewiesen: Es gibt ein gefühltes Dutzend verschiedener i2c-lcd-display Libs im Arduino Umfeld. Was bei der einen falsch ist, passt beider anderen auf den Punkt. äxl schrieb: > Ich musste ausserdem "rotary" groß schreiben. Win ist nicht Case sensitive Du nutzt vermutlich Linux, o.ä.
Aus der W. schrieb: >> Ich habe Dir deinen Quelltext ordentlich formatiert und analysiert. > Dann nimm den doch. Ich zupf mir dann die Zeilen und kopiere > die in die neue ino. Die Logik dahinter übersteigt meinen Horizont. Wenn ich den alten Quelltext anschaue, in dem deine Änderungen noch nicht drin sind, auf die sich deine Frage bezieht, wie kann ich dann dein Problem untersuchen? Mir scheint, dass da nicht nur im Quelltext eine ordentliche Struktur fehlt.
Harry L. schrieb: > Warum lasst ihr den Trottel nicht am langen Arm verhungern? Weil hier allzu oft der Vorwurf geäußert wird, wir wären nicht hilfsbereit. Wir wollen hilfsbereit sein, und das mit Erfolg. Denn ohne Erfolg fehlt der Spaß an der Sache. Das gilt nicht für die wenigen minderwertigen Menschen, die sich hier am Leid anderer erfreuen.
Stefanus F. schrieb: > Mir scheint, dass da nicht nur im Quelltext eine ordentliche Struktur > fehlt. Frei nach Freud: > Der geschriebene Code ist ein Spiegelbild der Denke.
Arduino Fanboy D. schrieb: > Stefanus F. schrieb: >> Mir scheint, dass da nicht nur im Quelltext eine ordentliche Struktur >> fehlt. > > Frei nach Freud: >> Der geschriebene Code ist ein Spiegelbild der Denke. Wenn man einige der Bilder vom HW-Aufbau betrachtet, könnte man vermuten, daß der Source-Code einem übergreifenden Konzept folgt.
Aus der W. schrieb: > Beitrag "I2C Display an arduino uno" > Also wenn ich dass schaffe … > Oder soll ich dir meinen libraries Ordner zippen und anhängen? > > LG > old. #issklar. noch n Thread, den ich übersehen habe ;)) Dabei hab ich mir so mühe beim "blinde Kuh" spielen gegeben. Alter - Sie haben doch nicht mehr alle... Es sollte doch wohl selbstverständlich sein, seine gesamtes Projekt zu zippen, wenn man was von anderen will. "Aaach, nen UNO und n Oszi. Dann geht das schon" Am Arsch!!! Meine Geduld wurde hier nun wirklich lang genug auf die Probe gestellt. __ stinksauer
Äxl schrieb: > Sie haben doch nicht mehr alle... Du bekommst den Sketch echt nicht kompiliert? Die Rotary gibt es selbstverstendlich bei dem OM der den VFO publiziert hat. Zum glück gibt es noch solche, die die Fahne für den Amateurfunk hochhalten. Aktive links dazu sind im Sketch unten. Mir ist egal welche Rotary oder I2C-Display lib Ihr in euren Code schiebt. Nehmt die, die Ihr kennt und gewohnt seit. Meine Display lib ist nicht final. Ich möchte noch andere testen. Das weißt du auch und du hast ja erklärt wozu du eigentlich hier bist (kotz). Ich hoffe dein Vorhaben wird dir nicht gelingen. Äxl schrieb: > "Aaach, nen UNO und n Oszi. Dann geht das schon" Häng dich hier nicht rein, wenn du überfordert bist.
Beitrag "Darius CQUAM Schaltungsteil Frequenzvedoppler" Das war ein Wochenende der Fehlersuche. Das Ausgangssignal war nicht ganz sauber und ich hatte das auf meinen Komparator im Verdoppler geschoben. Deshalb die Aktion mit dem MAX941. Das aktuelle Schaltbild mit Simu liefere ich die Tage noch nach, das alte mit dem LM13700 habt Ihr ja schon. Jedenfalls war das HF-Signal nicht sauberer. Den Jitterfehler erkennt man als Signalüberlagerung hinter dem Dreieckkomparator im Verdoppler auf dem Scope. Fieser weise nur bei manchen Frequenzen. Ich dachte eine Zeit lang, ich müsste das ganze Konzept aufgeben. Erst als ich den 2Vpp Sinus mal direkt auf das 74HCT73 gegeben habe und das Signal jitterfrei wurde, war mir klar wo zu suchen ist. Es liegt am Widerstand R12 auf dem AD9850-Board. Den 1K Widerstand durch ein Stück Draht ersetzt und gut ist. Puh, DAS hat mich echt Nerven gekostet. Mit dem Blog, das dauert deshalb noch etwas. Am AD9850 Board prüfe ich derzeit weitere Verbesserungen für den cquam-Exciter. LG old.
Aus der W. schrieb: > Äxl schrieb: >> "Aaach, nen UNO und n Oszi. Dann geht das schon" > > Häng dich hier nicht rein, wenn du überfordert bist. okay ;) Achso: bleiben Sie beim Thema. Nicht, dass der Thread noch dicht gemacht wird. Wäre ja schade drumm @all other Viel Spaß wünsch ich uns. Mal sehn, was hier noch so passiert.
Aus der W. schrieb: > Der Thread gehört eigentlich in Projekte und Code. Aus der Beschreibung: >> Hier könnt ihr eure Projekte, Schaltungen oder Codeschnipsel vorstellen und diskutieren. Bitte hier keine Fragen posten! Vor allem der letzte Teil. Hattest du nicht die Frage, warum dein LCD nicht richtig geht?
Aus der W. schrieb: > Der Thread gehört eigentlich in Projekte und Code. ... aber dann bitte auf 1/20 der Postings zusammengefasst. In dieser Form, mit all seinen Ausschweifungen, will sich doch keiner mehr ernsthaft antun.
Aus der W. schrieb: > Der Thread gehört eigentlich in Projekte und Code. Besser in die Kategorie "Dinge, die die Welt nicht sehen soll".
Aus der W. schrieb: > Beitrag "Darius CQUAM Schaltungsteil Frequenzvedoppler" > > Das war ein .... Ich habe kein ADS, es ist nur , oh guck mal ein Eichhörnchen!!! Warum kommt nach einer Diskusion immer so ein kopierter Blogbeitrag. Ein Projekte und code Thread ist das auch nicht. Du kannst gern in deinem Funkforum den Fortschritt dokumentieren. Oder erstelle einen neuen Beitrag hier in der passenden Rubrik. Wenn Fragen sind erstelle einen im passenden Unterforum und verlinke ggf dein Projekt.
Aus der W. schrieb: > Beitrag "I2C Display an arduino uno" > Also wenn ich dass schaffe … > Oder soll ich dir meinen libraries Ordner zippen und anhängen? Beitrag "I2C Display an arduino uno" der beitrag bringt die ignoranz und überheblichkeit ja noch viel bessser auf den punkt als das hier.
:
Bearbeitet durch User
Sven K. schrieb: > Beitrag "I2C Display an arduino uno" > > der beitrag bringt die ignoranz und überheblichkeit ja noch viel bessser > auf den punkt als das hier. Ja, das habe ich auch gedacht. Wenn auch in diametral anderer Richtung. Und wieder mal der User ufuf … Zum Glück hatte ich selbst eine Antwort gefunden und diese selbstverständlich eingestellt. LG old.
Aus der W. schrieb: > Und wieder mal der User ufuf … Hier ist er auch, der ufuf: Beitrag "Arduino zu millis() long und Reset vor dem Überlaufen" Und, wie immer gar nicht hilfsbereit und dauernd beleidigend. Nur auf Selbstdarstellung versessen. Der ufuf ist ein völliger Idiot. Überhaupt nicht in der Lage, deine berechtigten Probleme zu verstehen. Man sollte den ufuf aus dem Forum werfen. Je eher, desto besser. Der stört nur.
Arduino Fanboy D. schrieb: > Man sollte den ufuf aus dem Forum werfen. Dann wird es langweilig. Selbsterkenntnis ist der beste Weg zur Besserung. Wenn Du mal ehrlich helfen willst: Neustart mit neuem Nick. LG old.
Aus der W. schrieb: > Selbsterkenntnis ist der beste Weg zur Besserung. Ja, da hast du völlig Wahr. --> Beitrag "Arduino UNO retriggerbares Monoflop if while" Manchmal blitzt sogar etwas davon auf. Auch wenn es etwas anders heißt: > der erste Schritt zur Besserung
Arduino Fanboy D. schrieb: > Ja, da hast du völlig Wahr. > --> Beitrag "Arduino UNO retriggerbares Monoflop if while" > Manchmal blitzt sogar etwas davon auf. Da musste ich mir die Monoflops selbst basteln, weil Null Hilfe von euch! Der Klopfer: Dann meckern se noch drüber: Beitrag "Re: I2C "blockiert" Arduino" Nehmt doch Euer kleines Programmierwissen mit ins Grab. Fürn "return" reicht das gerade noch. Danke dafür. LG old.
Aus der W. schrieb: > Null Hilfe von euch! Ja, das stimmt. In keinem der bisher genannten Threads waren wir, oder gar ich, in der Lage dir zu helfen. Noch nicht mal sachdienliche Hinweise konnten wir anbringen. Ein Trauerspiel..... Danke, dass du mir mein Versagen so deutlich vor Augen führst.
Arduino Fanboy D. schrieb: > dass du mir mein Versagen Du bist ein ausgezeichneter Troll. Erweckst bei Neulingen den Eindruck zu helfen und stiftest maximale Verwirrung. Die nicht funktionierenden Codeschnipsel tagen dazu bei. Weiterhin viel Spaß beim Arduinonutzer ärgern.
Aus der W. schrieb: > Du bist ein ausgezeichneter Troll. Du bist ein ausgezeichneter Troll. Erweckst bei Neulingen sowie bei alten Hasenden den Eindruck geholfen werden zu wollen und stiftest maximale Verwirrung. Die nicht funktionierenden Codeschnipsel tragen dazu bei. Weiterhin viel Spaß beim Forenmitglieder ärgern.
Eric B. schrieb: > Die nicht funktionierenden Codeschnipsel tragen > dazu bei. Von mir gibt es einen kompletten lauffähigen Code. 20191016a.ino hfhd schrieb: > Aus der W. schrieb: >> Weiterhin viel Spaß beim Arduinonutzer ärgern. > > funzt Mit der Formatierung ist Euch das wirklich gelungen. grrr Ich hatte mich echt eine Stunde hingesetzt und den Code von Hand umformatiert. Also der Punkt geht an Euch. Habt Ihr mir eine Stunde Lebenszeit geklaut. Ich dachte meine Güte, hat sich der stefanus ja echt ein Bein für mich ausgerissen. Von wegen ... Natürlich funktionierte die Formatierung mit Strg t dann nicht mehr, weil der Code eben schon formatiert war. Die anderen Codes von mir lassen sich damit zur Unkenntlichkeit formatieren. Wer damit besser klar kommt solls machen. Ist ja nur einmal Strg t drücken. Also ist das eine faule Ausrede den Code nicht verstehen zu können. Wie viele Jahre habt Ihr denn daran gearbeitet die Helferlein im Bereich Code aus dem Forum zu mobben? LG old.
> Habt Ihr mir eine Stunde Lebenszeit geklaut.
Uuii
Soll ich mal nachzählen und die Stunde. Aufrechnen, die Sie allen
Beteiligten hier geraubt und sich erschlichen haben?
-
Ach herrje. Ich bin ja völlig überfordert. Ich vergaß.
Schnell weg hier ...
Stefanus F. schrieb: > Harry L. schrieb: > Warum lasst ihr den Trottel nicht am langen Arm verhungern? > > Weil hier allzu oft der Vorwurf geäußert wird, wir wären nicht > hilfsbereit. Wir wollen hilfsbereit sein, und das mit Erfolg. Denn ohne > Erfolg fehlt der Spaß an der Sache. > > Das gilt nicht für die wenigen minderwertigen Menschen, die sich hier am > Leid anderer erfreuen. Ach komm, jetzt hör aber auf, hier leidet niemand, bestenfalls du, aber du willst das ja. Hier hat's schon einer auf den Punkt gebracht: Dergute W. schrieb: > Also ich seh' hier niemanden, der um Hilfe bittet. Ich seh' hier nur die > ueblichen Verdaechtigen, die um permanente Demuetigung bitten, und die > auch prompt erhalten ;-)
Aus der W. schrieb: > Von mir gibt es einen kompletten lauffähigen Code. > 20191016a.ino wollte ich jetzt tatsächlich mal probieren und hab alle drei seiten dieses threads danach durchsucht, aber diese datei nicht gefunden.
Sven K. schrieb: > hab alle drei seiten > dieses threads danach durchsucht, aber diese datei nicht gefunden. Strg f Beitrag "Re: I2C "blockiert" Arduino" LG old.
Aus der W. schrieb: > Strg f mega hinweis! danke! damit habe ich die datei in dem von dir verlinkten beitrag auch gefunden, die hat aber einen anderen dateinamen als "20191016a.ino", ist also eine andere datei. und dazu wurde auch schon gesagt -> ohne libraries kompiliert die nicht! siehe: Beitrag "Re: I2C "blockiert" Arduino"
Zumindest erklärt dein Nickname deine Beiträge. Sven K. schrieb: > damit habe ich die datei in dem von dir verlinkten > beitrag auch gefunden, die hat aber einen anderen dateinamen als > "20191016a.ino", ist also eine andere datei rotfl Schonmal was mit I2C Display und Rotary mit Arduino gemacht?
Aus der W. schrieb: > rotfl geh bloß nciht auf den rest ein, der dein fehlverhalten aufzeigen könnte... Aus der W. schrieb: > Schonmal was mit I2C Display und Rotary mit Arduino gemacht? ja. und da gab es keine "rotary.h" aber auch das wurde bereits geschildert, hast du aber auch wieder augeblendet. von daher kuller dich ruhig vor lachen auf dem boden, irgendwann werden es alle anderen tun (die es jetzt nicht schon gemacht haben) edit: bei mir heißt das z.b. "#include <Encoder.h>"
:
Bearbeitet durch User
Aus der W. schrieb: > Dann baue die dir bekannten libs in den Sketch ein. Arduino Fanboy D. schrieb: > als Troll erwiesen als quotschmacher
Aus der W. schrieb: > Dann baue die dir bekannten libs in den Sketch ein. dann ist dein code so aber nicht komplett lauffähig, wie du behauptest... schon irgendwie ein widerspruch... Arduino Fanboy D. schrieb: > Jetzt hast du dich auch als Troll erwiesen. meinst du mal so unter uns trollen rumgetrollt oder wie? ;-)
Sven K. schrieb: > aber nicht komplett lauffähig [Ironie] Einen Rechner mit Betriebssystem und Arduino-Weichware soll ich dir dann auch noch spendieren …[/ironie] Ein lustiger Vormittag in der Paviangruppe. LG old.
Sven K. schrieb: > meinst du mal so unter uns trollen rumgetrollt oder wie? ;-) Ich sachs mal so: Der Bote unerwünschter Nachrichten wird getötet. Total menschlich, ein uraltes Hobby. Und bei deinem Satz, habe ich mit "trollen" ein Problem, da mir nicht klar ist, ob das ein Substantiv in Mehrzahl ist, oder die Tätigkeit. Aber so ist das eben... Die einen Paviane müssen mit einer kaputten Tastatur leben, Andere sind einfach nur Affen, und wieder Anderen sollte man eine unbefristete Merkbefreiung zustellen. http://www.de-te-be.net/formulare/merkbefrei.html
Arduino Fanboy D. schrieb: > Und bei deinem Satz, habe ich mit "trollen" ein Problem, da mir nicht > klar ist, ob das ein Substantiv in Mehrzahl ist, oder die Tätigkeit. "Trollen" - substantiv, plural + zu faul zu shift zu greifen
Aus der W. schrieb: > Sven K. schrieb: >> aber nicht komplett lauffähig > > [Ironie] Einen Rechner mit Betriebssystem und Arduino-Weichware > soll ich dir dann auch noch spendieren …[/ironie] andere libs haben andere funktionsnamen. daher sind deine rotary.h und seine encoder.h nicht kompatibel nicht nur die namen sondern auch die Verwendung. Wenn DU möchtest das jemand sich echt hinsetzt und DEINEN code nachschaut. Dann liefere ALLES an informationen. Also auch deine Verwendeten Libs. Aus der W. schrieb: > Dann baue die dir bekannten libs in den Sketch ein. also ... deine Denke: rumsitzen und lachen wie andere sich die mühe machen sollen für DICH das projekt zusammensuchen und korrigieren? Deine definition vom TEAM ist auch : Toll Ein Anderer Machts Aus der W. schrieb: > Ein lustiger Vormittag in der Paviangruppe. der CHEF der truppe spricht? guck mal in den spiegel
hfhd schrieb: > der CHEF der truppe spricht? Ich bin das fremde Männchen, das zu der Gruppe dazu kommt. Der Rest ist aus Paviandokus bekannt … hfhd schrieb: > sind deine Das sind nicht meine, sondern die Rotary kommt vom VFO-Sketch und die I2C du weißt schon. Ihr habt die längst, das hier gehört zu eurem Spiel. Ich suche sowieso Platz wo ich die libs parken kann, um dann vom Blog zu verlinken. Also Speicherplatte C --> Dokumente --> Arduino den Ordner libraries durch den hier angehängten, vorher entzippten, Ordner erstezen. LG old.
Aus der W. schrieb: > Der Rest ist aus Paviandokus bekannt … stimmt. Kann sich das neue Männchen nicht der Gruppe anpassen, wird es vertrieben oder getötet.
Aus der W. schrieb: > Das sind nicht meine, sondern die Rotary kommt vom VFO-Sketch > und die I2C du weißt schon. Ihr habt die längst, das hier > gehört zu eurem Spiel. wenn du der meinung bist... MACH ES VERDAMMT NOCHMAL ALLEINE! viel spass
Aus der W. schrieb: > Sven K. schrieb: >> hab alle drei seiten >> dieses threads danach durchsucht, aber diese datei nicht gefunden. > > Strg f > > Beitrag "Re: I2C "blockiert" Arduino" > > LG > old. mir gings ähnlich aber eine Chance wollte ich ihm noch geben, aber Aus der W. schrieb: > Dann baue die dir bekannten libs in den Sketch ein. wieso dennn irgendwelche? meinst du nicht es könnte hilfreich sein genau zu zeigen welche LIBs zu verwenden sind in DEINEM Sketch und genau auch die Downloadslinks einzufügen? Als RF Techniker würdest du ja auch nicht schreiben nimm einen 100nF ohne zu sagen Keramik, Elko, Folie denn es ist je nach Einbau durchaus entscheidend. verehrter TO es reicht nun absolut, so dä**** kann man doch nicht sein es wird im Sketch bemängelt: "rotary.h: No such file or directory" tatsächlich ist in der LIB: "Rotary.h" case sensitiv! also trollst du oder bist total dement?
:
Bearbeitet durch User
Beitrag #6012460 wurde von einem Moderator gelöscht.
äxl schrieb: > Compiliert denn der quellcode /Arduino Sketch bei jemandem? > Ich musste ausserdem "rotary" groß schreiben. Wer weiss, ob es die > gleiche lib ist.#include <Wire.h> > #include <LiquidCrystal_I2C.h> // 27=A4=SDA, Pin28=A5=SCL > LiquidCrystal_I2C lcd(0x27, 16,2); > #include <Rotary.h> > #include <EEPROM.h> > int volt = A1; //24 Atmega Eingang Spannungskontrolle, Taster > > Aber wie oben schon genannt: > der sketch ist ohne die original Bibliotheken wertlos. Ohne Schaltplan > ebenso. Joachim B. schrieb: > tatsächlich ist in der LIB: "Rotary.h" > > case sensitiv! sag ich doch...
Auf die ganzen sozialen Defizite, die beim TO ja nun mal durchaus vorhanden zu sein scheinen, gehe ich garnicht mehr drauf ein. Ist mir mittlerweile schnuppe. Der eine ist eben so. Der andere eben anders. Schade eben nur, dass er auf meine, Anfangs durchaus wohlwollend gemeinten, Ratschläge diesbezüglich garnicht eingeht... Ich habe mich mal bissl bei anderen belesen (google --> AM Stereo, C-QUAM) und bin jetzt (rein aus Spaß) mal dabei, die Summen-Differenzbildung, die Amplituden und Phasenmodulation alles digital im AVR zu machen. Ganz witzig, man muss nur auf die Laufzeiten etwas acht geben, sonst wandert - denke ich - der Stereo-Eindruck. Wenn jemand da ersthaft vorhat, etwas zu veranstalten, sollte man evtl.doch auf ein System mit DMA Controller zurückgreifen. (STM32Discovery-xyz?) Die DDS läuft bei mir mit 96Mhz Takt, nicht mit 125. Viel Spaß noch.
äxl schrieb: > und bin jetzt (rein aus Spaß) warum sonnst? > mal dabei, die Summen-Differenzbildung, > die Amplituden und Phasenmodulation alles digital im AVR zu machen. Klasse, je weniger Hardware um so attraktiver ist der Nachbau. :-) Deshalb war ich an der fl2k-Sache so interessiert. LG old.
Aus der W. schrieb: > Deshalb war ich an der fl2k-Sache so interessiert. Sicher wieder ein Insider, mit dem niemand etwas anfangen kann... Wovon reden Sie?
äxl schrieb: > Wovon reden Sie? [Ironie] Ja, ist streng geheim. [/Ironie] Guck mal: Beitrag "Re: Was ist das für ein Röhren- Dipper ?" Da ist einer, mit dem du dich sie-zen kannst.
hfhd schrieb im Beitrag #6012460:
> Bei dem TO stand die Schaukel damals definitiv zu nah an der Wand!!
Denn muss ich mir merken. :-) :-) :-) Danke.
Aus der W. schrieb: > äxl schrieb: >> Wovon reden Sie? > > [Ironie] Ja, ist streng geheim. [/Ironie] > > Guck mal: > Beitrag "Re: Was ist das für ein Röhren- Dipper ?" > Da ist einer, mit dem du dich sie-zen kannst. Ich denke, ich kenn die Jungs aus dem Faden ganz gut (wenn auch nicht persönlich) und es würde mir nicht einfallen, einen zu "sie-zen"... Ich du'ze eigentlich alle hier im Forum. Ich denke, jeder versteht meine Intention, hier einen gewissen Abstand ihrer Person gegenüber zu symblisieren, um mich damit klar und deutlich von ihrem Verhalten zu distanzieren. Was hat das mit einem "FL2K" zu tun? Das klingt wie
1 | " Ihr Peiffen wisst nicht mal, was ein FL2K ist " |
Sicher braucht es wieder hundert weitere Posts, bis wir das erfahren. Oder darf ich wieder "blinde Kuh" spielen? Sie wissen, ich bin intelektuell total überfordert..
https://osmocom.org/projects/osmo-fl2k/wiki Muh BTW: was wollen Sie damit? Das ist nix für Sie. Wir müssen dann sicher einen "fl2k-sketch" mit I2C-Display und Rotary.h für Sie schreiben :) (irgendwo hab ich das tatsächlich die letzten Tage schonmal gelesen)
>> " Ihr Peiffen wisst nicht mal, was ein FL2K ist " Das ist nen Tipfehler da stand Fuck, kein Wunder bei dem Schwachsinn hier. Aber den Sketch find ich gut, nen Sketch ist doch ein gespielter Witz oder ? ohoh, ich seh gerade die Verwirrung, hat so viele Bedeutungen... https://www.dict.cc/englisch-deutsch/sketch.html
Bademeister schrieb: > Aber den Sketch find ich gut, nen Sketch ist doch ein gespielter Witz > oder ? Sketch? Kann man drüber lachen, wenn man möchte. Oder auch weinen, schimpfen, je nach Gemüt. Arduino ist im Processing Umfeld entstanden. Und da heißen die Programme (in einer C ähnlichen Sprache) eben Sketch. https://processing.org/
Hi
>Und da heißen die Programme (in einer C ähnlichen Sprache) eben Sketch.
Eingedeutscht: Lachnummer.
Beschreibt das ganze Arduinosystem.
MfG Spess
Friedrich Nietzsche:
> Nicht durch Zorn, sondern durch Lachen tötet man.
–
Hi >Friedrich Nietzsche: >> Nicht durch Zorn, sondern durch Lachen tötet man. Ja. Ich höre die ganzen Chinesen laut lachen, wenn sie den doofen europäischen Arduinofans ihren Scheiss andrehen. Hoffentlich hat Nietzsche Recht. Und der TO geht übrigens auch auf eure Kosten. MfG Spess
spess53 schrieb: > Und der TO geht übrigens auch auf eure Kosten. Ach, der hat doch sowieso nicht alle Streusel auf dem Kuchen. Ob mit oder ohne Arduino, macht da gar nichts aus.
Kann man wirklich alles Arduino über einen Kamm scheren? Es sieht eher danach aus, als ob es etwas anderes für jeden Einzelnen ist. Gut, die Unos sind vom Formfaktor her nicht das günstigste. Aber es gibt so viele andere brauchbare Bords, daß man schon einiges auf die Beine stellen kann. Früher mußte ich mir für jeden Sch... eine LP für einen uC erstellen. Heute kauf ich mir eine Zehnerpackung von Nanos oder Pro-Minis und greife ich in die Schachtel und bau die externe Beschaltung herum. Für viele Projekte durchaus wert den kleinen Einsatz. Die Professionellen mögen darüber mitleidig lächeln. So be it! Für Viele ist es ein praktischer Ansatz. Auch die Programmgestaltung läßt viel Spielraum übrig. Wer sich die Mühe macht anhand des Datenblatt den uC zu verstehen kann durchaus mit dem Arduino Werkzeug Dang GCC die Fähigkeiten des betreffenden uC ausreizen - Nicht jeder ist unbedingt eine bequeme Copycat. Viele der Bibliotheken können zumindestens als Ansatzpunkt ausgenützt werden. Auch die oftmals sehr zuverläßige Installation und Portabilität ist ein Pluspunkt. Gut, ein GDB Debugger wäre nett. Aber hier tut sich ja auch schon etwas. Man muß mal abwarten. Die bequemen Shields oder kleinen Bords mit den vielen ICs erlauben schnelles anfängliches Ausprobieren von neuen Peripherie ICs ohne großen Zeitaufwand. Später kann man das ja alles konsolidieren. Ich sehe das ganze Arduino Movement eher gelassen als geschichtemachende Innovation mit einer sehr breiten potenziellen Nutzbarkeitsbasis. Ich möchte nicht wissen in wie vielen Firmen der Welt schnelle Experimente im Schutz der Laborräume damit gemacht werden:-) Laßt die Leute doch machen und ihre Freude, Zugang zu nützlicher Technik zu haben. Wenn ich an die siebziger Jahre zurückdenke wo die Werkzeuge den Gegenwert einiger Autos kosteten, dann sind wir heute schon besser dran. Der PC hat die uC Entwicklung demokratisiert. Vielleicht sond manche Entwickler wegen der Verbreitung dieser Technik nur etwas verschnupft und neidig weil es heute potenziell leichter geht wie in ihrer Lernzeit. Wieviel wurde damals in den achtiger Jahren mit BASIC erreicht. Alle möglichen Spiele und Programme wurden damals eifrig entwickelt. Wirklich komplexe, professionelle Sachen, benötigen meist die Entwicklung von ASICs, FPGAs und leistungsfähiger HW. Da endet Arduino sowieso und ist die Domaine der Industrie.
ich hab schon einiges mit "processing" gemacht. https://processing.org/ da finde ich nichts verwerfliches dran. Zum Arduino: geht schnell ->TtM super. Den overhaed darf man sich nicht ansehen, klar. (siehe digitalWrite() als Beispiel). Man muss ja auch den Anwenderkreis berücksichtigen, für den diese Plattform entwickelt wurde... alles gut soweit, finde ich.
Alter Sack schrieb: > Wirklich komplexe, professionelle Sachen, benötigen meist die > Entwicklung von ASICs, FPGAs und leistungsfähiger HW. Da endet Arduino > sowieso und ist die Domaine der Industrie. Das ist eine Fehleinschätzung. LG old.
Aus der W. schrieb: > Das ist eine Fehleinschätzung. Dass wir deinem Urteil vertrauen können, hat sich schon mehrfach erwiesen. In Sachen Entwicklung von eingebetteten Systemen hast du ja schließlich mehr Erfahrung, als wir alle zusammen.
Aus der W. schrieb: > Alter Sack schrieb: >> Wirklich komplexe, professionelle Sachen, benötigen meist die >> Entwicklung von ASICs, FPGAs und leistungsfähiger HW. Da endet Arduino >> sowieso und ist die Domaine der Industrie. > > Das ist eine Fehleinschätzung. > > LG > old. Letzteres ist der ultimative Beweis.
Nur Palaver. Vor lauter Hass bekommt ihr nichts mehr geschafft und vergrault Nutzer des Forums. Schade drum, mutzen wird euch das nichts. Der Bumerang kommt zurück, Leute. Ach ja, mich werdet ihr nicht los. LG old.
Mittlerweile ein C++ Buch angeschafft? Tipp: Anschaffen reicht nicht. Es zu lesen/verstehen, ist noch viel wichtiger.
Arduino Fanboy D. schrieb: > Mittlerweile ein C++ Buch angeschafft? > > Tipp: > Anschaffen reicht nicht. > Es zu lesen/verstehen, ist noch viel wichtiger. Das ist so, das ob man erst Latein lernen müsste, um Französisch lernen zu dürfen. Für Arduino bedarf es zum Glück keiner Programmiersprache. Deshalb kann ich erfolgreich damit arbeiten.
Aus der W. schrieb: > Das ist so, das ob man erst Latein lernen müsste, Nein, das ist so als würde man Eier brauchen um ein Omelett zu machen.
Leute die Zeh können gehen da anders ran. Aber Arduino ist definitiv für nicht-Programmierer gedacht und geeignet. Der Erfolg gibt mir recht.
Aus der W. schrieb: > Für Arduino bedarf es zum Glück keiner Programmiersprache. > Deshalb kann ich erfolgreich damit arbeiten. Herzerfrischend! Ich schätze mal, dass diese abgrundtiefe Dummheit, der ganzen Sache die Krone aufsetzt. Meinen herzlichen Glückwunsch. Damit schießt du echt den Vogel ab.
Aus der W. schrieb: > Für Arduino bedarf es zum Glück keiner Programmiersprache. lustig, dass die arduino-macher das anders sehen... > To do so you use the Arduino programming language (based on Wiring), > and the Arduino Software (IDE), based on Processing. ("programming language" kommt aus dem englischen und heißt übersetzt in etwa so viel wie "programmiersprache") https://www.arduino.cc/en/Guide/Introduction https://www.arduino.cc/reference/en/
:
Bearbeitet durch User
Aus der W. schrieb: > Der Erfolg gibt mir recht. welcher Erfolg? bei #include <rotary.h> kann sich doch KEIN Erfolg einstellen. Das war dein Sketch der sich so nicht kompilieren lies. Wenn du diesen Fehler korrigiert hast, warum ist er dann nicht in deinem Sketch? Oder nennst du das Erfolg hier alle zu veräppeln, dann tust du mir nur leid.
:
Bearbeitet durch User
Joachim B. schrieb: > welcher Erfolg? Der Modulator arbeitet mit dem Sketch. Und viele andere Projekte auch mit selbst "programmiertem" Arduino. Joachim B. schrieb: > Das war dein Sketch der sich so nicht kompilieren lies. Ich habe hier keinen Sketch gepostet, der sich nicht kompilieren lässt. Lüge ruhig weiter rum, irgendwann glaubt das ein Dummer. LG old.
Arduino Fanboy D. schrieb: > Ich schätze mal, dass diese abgrundtiefe Dummheit, der ganzen Sache die > Krone aufsetzt. Es ist ein satirisches Bühnenstück bei dem die Arduinoisten auf die Schippe genommen werden. Kein Klischee bleibt unberührt, alles wird bis zum Anschlag übertrieben. Du sollst lachen bis es Dir die Tränen in die Augen treibt.
Aus der W. schrieb: > Für Arduino bedarf es zum Glück keiner Programmiersprache. Du hast wirklich nicht alle Tassen im Schrank. Was meinst Du wohl was Dein Sourcecode darstellt?
Zeno schrieb: > Du wohl was > Dein Sourcecode darstellt? Klingt für mich anmaßend das als Programmiersprache zu bezeichnen. Aber bitte wenn ich das machen darf...
Aus der W. schrieb: > Klingt für mich anmaßend das als Programmiersprache zu bezeichnen. Hört hört! Der Combjudalinguist hat gesprochen.
Bernd K. schrieb: > Bühnenstück bei dem die Arduinoisten auf die > Schippe genommen werden Naja... Auf die Schippe nehmen, gut und schön... Glaubst du wirklich daran, dass das nur Theater ist? Egal wie man Menschen klassifiziert/gruppiert, gerne sind dann 1 bis 2% Egozentriker dabei, welche die ganze Menge in Verruf bringen. Arduino User Demonstranten Tierschützer Motorradfahrer Weiße, schwarze, gelbe, rote, grüne, blaue usw. Egal.
Arduino Fanboy D. schrieb: > Egal wie man Menschen klassifiziert/gruppiert, gerne sind dann 1 bis 2% > Egozentriker dabei, welche die ganze Menge in Verruf bringen. Darius (oldeurope) ist ja deshalb schon aus zahllosen Foren mit großem Fußtritt rausgeflogen.
Aus der W. schrieb: > Klingt für mich anmaßend das als Programmiersprache zu bezeichnen. Dass deine Maßstäbe unfehlbar sind, halte ich für erwiesen. Aus der W. schrieb: > Aber bitte wenn ich das machen darf... Natürlich erlaube ich es dir, die Sprache C++, als Programmiersprache, zu bezeichnen.
Arduino Fanboy D. schrieb: > Natürlich erlaube ich es dir, die Sprache C++, als Programmiersprache, > zu bezeichnen. Und wie darf ich die darauf basierende Arduino-Programmiersprache bezeichnen?
Bademeister schrieb: > Kauderwelsch Meinetwegen. Ich nenne das Sketch oder Code. hinz schrieb: > ist ja deshalb schon aus zahllosen Foren mit großem > Fußtritt rausgeflogen. Und du musst deine Identität verstecken, weil du zu den Tretern gehörst.
Aus der W. schrieb: > Und wie darf ich die darauf basierende Arduino-Programmiersprache > bezeichnen? Gar nicht. Ist einfach nur C++11, mit ein paar vorgekauten Dingen. Nenne die vorgekauten Dinge "Arduino Framework" oder HAL. Das versteht hier jeder.
Arduino Fanboy D. schrieb: > Gar nicht. Musst dich mal entscheiden > Ist einfach nur C++11, mit ein paar vorgekauten Dingen. [Ironie]Und Französisch ist "Latein11 mit ein paar vorgekauten Dingen".[/Ironie]
Aus der W. schrieb: > Musst dich mal entscheiden Wieso ich? Reicht doch, wenn du die richtigen Entscheidungen triffst. Offensichtlich hast du dich mit den Arduino Innereien schon so ausführlich beschäftigt, dass da keine Zweifel mehr bei dir auftauchen können. Vermutlich muss ich mich auch in diesem Punkt, vor deiner maßlosen Kompetenz verbeugen.
Aus der W. schrieb: > hinz schrieb: >> ist ja deshalb schon aus zahllosen Foren mit großem >> Fußtritt rausgeflogen. > > Und du musst deine Identität verstecken, weil du zu den Tretern > gehörst. Das ist eine deiner Wahnvorstellungen.
Aus der W. schrieb: > Musst dich mal entscheiden Ich muss mich nicht entscheiden, denn ich kann den Beweis führen, dass es so ist.
1 | void setup() |
2 | {
|
3 | Serial.begin(9600); |
4 | Serial.println(__cplusplus); |
5 | }
|
6 | |
7 | void loop() |
8 | {
|
9 | }
|
Dieses Programm meldet bei mir 201703, was dann eindeutig C++, in der Version C++17 bezeichnet. Bei dir wird höchst vermutlich 201103 gemeldet, also C++11 Versuche das zu wiederlegen, und du wirst daran versagen.
Pass mal auf, dass du hier nicht rausfliegst. (Ich fände das schade, den wenn man hier als Gast fragt, kann man von hinz durchaus Hilfe bekommen, die sich in barer Münze auszahlt. Insofern stecke ich seine blöden Beiträge mit einem Lächeln weg.) LG old.
Aus der W. schrieb: > Pass mal auf, dass du hier nicht rausfliegst. Eine weitere deiner Wahnvorstellungen.
hinz schrieb: > Eine weitere deiner Wahnvorstellungen. du darfst das. Bist mein Mitarbeiter als Bauteile-identifizierter. Statt Entlohnung stecke ich deine Spinner-Beiträge gerne weg.
Aus der W. schrieb: > Bist mein Mitarbeiter als Bauteile-identifizierter. Und noch eine Wahnvorstellung.
hinz schrieb: > Aus der W. schrieb: >> Bist mein Mitarbeiter als Bauteile-identifizierter. > > Und noch eine Wahnvorstellung. Magst wissen in welchem Thread du mir, als mein Mitarbeiter, am meisten geholfen hast?
Aus der W. schrieb: > hinz schrieb: >> Aus der W. schrieb: >>> Bist mein Mitarbeiter als Bauteile-identifizierter. >> >> Und noch eine Wahnvorstellung. > > Magst wissen in welchem Thread du mir, als mein Mitarbeiter, > am meisten geholfen hast? Kriech doch einfach wieder unter deinen Stein, du stinkender Troll.
Nun, dann werde ich es mal als "Blitzableiter" versuchen... Erstens, finde ich, daß Eure Meinungsaustausche ein gesundes Maß schon lange überschritten haben und nun mittlerweise viele auf ihre Hinterbeine stehen. So laßt uns diese gespannte Situation abkühlen und lasst die Vernunft siegen bevor Eure Hörner Blut vergießen:-) Zweitens, führt das alles zu nichts. Es gibt jetzt von Euch schon genug Hinweise und gutgemeinte praktische Vorschläge die schon viele uC Probleme gelöst haben wenn man vom Internet als solches einmal absieht. Wenn nun möglicherweise fast alles im Sand verlaufen ist, dann ist es vielleicht ein Zeichen für die Moderation den Thread zu erlösen um diesen unangenehmen Verlauf zu beenden.
hinz schrieb: > du stinkender Troll. du darfst das. Ich bin der MEIER: Beitrag "Mikrocontroller identifizieren (Bild)" Danke für die gute Mitarbeit. Ganz ehrlich ! rotfl
Aus der W. schrieb: > hinz schrieb: >> du stinkender Troll. > > du darfst das. Ich bin der MEIER: > Beitrag "Mikrocontroller identifizieren (Bild)" > > Danke für die gute Mitarbeit. Ganz ehrlich ! rotfl Und wann hast du den nächsten Termin bei deinem Psychiater?
Alter Sack schrieb: > Wenn nun möglicherweise fast alles im Sand verlaufen ist, dann ist es > vielleicht ein Zeichen für die Moderation den Thread zu erlösen um > diesen unangenehmen Verlauf zu beenden. Der Rotary-Pushbutton ist gekommen, ich werde Euch noch ein paar Bilder vom Baufortschritt zeigen und den Link zum Blog. Das Problem hat sich mit der ALC eigentlich erledigt. Wenn lstz == 0 leuchtet die rote led permanent. So weiß man, dass die ALC ihre Zuregelgrenze erreicht hat und den Eingangspegel verringern muss. Das war es schon. Das Display zeigt Frequenz, Raster und ggf. Unterspannung. Mehr braucht das nicht. LG old.
Der Gegenbeweis kommt also nicht. Aha. Ein Irrtum wird auch nicht eingestanden. Tja...
Arduino Fanboy D. schrieb: > Der Gegenbeweis kommt also nicht. > Aha. > > Ein Irrtum wird auch nicht eingestanden. > Tja... Er ist halt ein stinkender Troll.
Aus der W. schrieb: > Klingt für mich anmaßend das als Programmiersprache zu bezeichnen. > Aber bitte wenn ich das machen darf... Klar ist das eine Programmiersprache. Du kannst halt nicht programmieren. Dumm gelaufen.
Läuft bestens, weil man da keine Hochsprache für können muss. Arduino eben :-)))))
Aus der W. schrieb: > Arduino Fanboy D. schrieb: >> Der Gegenbeweis kommt also nicht. >> Aha. > > ??? Herrje... Da wird aber alles komplett ausgeblendet, was dir nicht in den Kram passt, oder? Hier noch mal, zum mitmeißeln: Beitrag "Re: I2C "blockiert" Arduino"
Aus der W. schrieb: > Läuft bestens, weil man da keine Hochsprache für können muss. > Arduino eben :-))))) Wenn ich mal wieder in Solingen bin schaue ich mir Deine Butze (gibt es die noch?) mal an. Bin gespannt, ob es passt: "Wie der Herr, so das Gescherr" :-).
Sehr gerne, bist willkommen. :) Bitte AM-Stereoradio mitbringen - wenn vorhanden.
Aus der W. schrieb: > Bitte AM-Stereoradio mitbringen Nie gehabt - wozu auch, dafür gab es keinen Sender in DE.
Hugo H. schrieb: > wozu auch Spaß an der Freud´ Es gibt Decodereinbausätze oder eben auch die Motorola-ICs dafür. Ich habe den Pariser C-QUAM Sender leider knapp verpasst. Die haben erst Stereo und dann den Sender abgeschaltet. In NL senden einige in cquam. Dafür habe ich mir das portable Radio auf dem Bild modifiziert. https://www.mikrocontroller.net/attachment/432080/IMAG2301.jpg LG old,
Aus der W. schrieb: > das portable > Radio auf dem Bild ... und so ganz nebenbei gibt es ein Foto in gefühlten 320x240 Pixeln mit 96dpi mit dem kompletten Aufbau des zee-kuhukwham MittelwellenSenders. Prima. Aber: blos nicht reagieren, wenn man exakt sowas in zeitgemäßer Auflösung in klusive Schaltplan[fordert, abverlangt, wünscht] (es wird doch einen, zu diesem Aufbau exakt passenden, Schaltlpan geben!!!). Aber man würde ja den Anschein erwecken, als würde man sich einem einzelnen unterordnen. Na - blos nicht. Dabe will ich garnicht wissen, wieviele hier im stillen mitlesen. ;) Das Teil würde längst auf technisch zeitgemäß hohem Niveau laufen. Dabei spielt es überhaupt keine Rolle, ob man es nun braucht, und/oder nicht. Hamse ja richtig verkackt, das Projekt der Community schmackhaft zu machen. Statt ein Gemeinschaftsding draus zu machen, ist es ein Elfenbeinturm-Eigenbrödler-Projekt mit teils fragwürdigen Ansätzen und kruden Umschiffungen zur Lösung von vermeintlichen Problemen, die man gemeinsam hätte besprechen können, entstanden. Nicht immer heiligt der Zweck die Mittel. Sehr schade... Welchen Stand hat denn dieser Aufbau? Welches ino ist denn hier nun letztendlich am werkeln? War die ganze herablassende Wichtigtuerei also für die Katz', wenns am Ende (mit verbeultem) Pilotton eigentlich doch läuft?!?
Arduino Fanboy D. schrieb: > Da wird aber alles komplett ausgeblendet, was dir nicht in den Kram > passt, oder? ist aber schon die ganze zeit. stellt man ne kritische frage, wird die komplett ignoriert. [ironie]kommt in der frage noch ein positiv belegbares wort vor, wird nur das wort zitiert und auf das eigene projekt bezogen[/ironie] (die irnoie-tags sind auch schon irnoie...)
äxl schrieb: > wenns am > Ende (mit verbeultem) Pilotton eigentlich doch läuft?!? Maximale Verunsicherung stiften. Jeder der den Sketch halbwegs interpretieren kann weiss, dass du wieder mal lügst.
äxl schrieb: > Elfenbeinturm-Eigenbrödler-Projekt mit teils fragwürdigen Ansätzen und > kruden Umschiffungen zur Lösung von vermeintlichen Problemen, Das kennen wir doch von nebenan: oldeurope == bome??
Was wir in dieser Komödie unbedingt noch brauchen ist eine weibliche Nebenrolle mit einem romantischen Element. Zum Beispiel eine hochbegabte weibliche Nerdin die am MIT studiert hat und fließend Haskell spricht und mit der er seinen ersten Sex hat, die ihn dann aber 2 Tage später wutentbrannt verlässt als sie herausfindet daß er Leerzeichen statt Tabs verwendet und seinen Code nicht richtig einrückt.
:
Bearbeitet durch User
... und in einem anderen Beitrag will er Hilfestellung geben.
Sven K. schrieb: > (die irnoie-tags sind auch schon irnoie...) Das riecht aber schon ein Wenig wie eine Rekursion. Aus der W. schrieb: > lügst Eigentlich sehe ich hier im Thread nur einen Lügner. Einen, der welcher sich scheinbar gerne selber belügt und es gar nicht merkt. PS: Habe letzte Tage schon den Vorgang zum Bundesamt für Merkbefreiung übertragen. Die werden sich demnächst bei dir melden. Laut erster Rückmeldung wird die Merkbefreiung vermutlich unbefristet ausfallen.
Beitrag #6014951 wurde von einem Moderator gelöscht.
Beitrag #6014968 wurde von einem Moderator gelöscht.
Beitrag #6014973 wurde von einem Moderator gelöscht.
Beitrag #6014987 wurde von einem Moderator gelöscht.
Ich möchte Euch noch den Sketch nachreichen, der mit allen Displayanzeigen so funktioniert wie ich mir das Wünsche. :-))) Beitrag "I2C "blockiert" Arduino [Endet 31.10.]" LG old.
Ist immernoch genauso unlesbar... Und mit den selben Fehlern ausgestattet. A B E R!!!! Wenn dir das genügt und es seine Funktion erfüllt, Viel Erfolg weiterhin mit dem Projekt.
Aus der W. schrieb: > Ich möchte Euch noch den Sketch nachreichen, Oh nein, bitte nicht schon wieder!
... gehört nach "Projekt und Code" Stimmt denn die Zeile mit der display-Initialisierung? Das Schlüsselwort "POSITIVE" wurde vom Ersteller der Lib Anfang November 2018 bereits als obsolet erklärt und entsprechend berichtigt. Verstehe ich grad nicht. Läuft da noch die ganz alte Version?
Äxl schrieb: > ... gehört nach "Projekt und Code" Habe einen Blog dafür gestartet. Ich hoffe bis Dezember damit fertig zu werden. https://c-quam.blogspot.com/2019/10/a-cquam-mit-arduino-und-ad9850.html Dort könnt Ihr das Projekt verfolgen. LG old.
Hi >Habe einen Blog dafür gestartet. Ich hoffe bis Dezember damit fertig zu >werden. Auf Mittelwelle in Stereo habe ich schon ein Leben lang gewartet. Und das mit einer Sendeleistung <=100W (der Amateursender meines ehemaligen Physiklehrers hatte wesentlich mehr Watt). Wie weit nach DE reicht das denn deiner Meinung nach? Das Interesse an deinem Blog dürfte gegen Null gehen. Auf todgerittene Pferde setzen nur Idioden. MfG Spess