Meinst Du sowas? https://www.onetransistor.eu/2018/01...duino-lcd.html
Hallo!
Ich Suche nach einer Möglichkeit, die guten und preiswerten UHF-Modulatoren nutzen zu können, die für ihren Betrieb und Parametrierung eine I2C-Befehlssequenz brauchen.
Hier am PC und mit dem kleinen Programm "I2C Beispiel" hab ich das hingekriegt, aber nach Unterbrechung der Betriebsspannung is wieder Ritze.
Professionell gelöst wird das z.B. in dem Modulator von "König", da ist ein 8er DIP-Schalter und ein Proz. EM78P153, der macht das wunderbar.
Kann man den EM revers engineeren, also kopieren? Oder einen anderen CMOS-Proz ähnlich programmieren?
Elektronik, also eine Schaltung und Platine machen is für mich kein Problem, auch einfache Programmiergeräte (sind meist nur Pegelwandler) mach ich selbst.
Aber keine Ahnung von Programmiersprachen und Compilern und . . . für solche Käfer.
Könnt ihr mir da helfen?
Meinst Du sowas? https://www.onetransistor.eu/2018/01...duino-lcd.html
Wenn du wirklich nur eine feste Sequenz brauchst, die beim Start gesendet wird, könntest du mit relativ überschaubarem Aufwand mit der Arduino IDE einen ATTiny 48 oder 88 programmieren.
Meines Wissens können die I2C. Evtl. geht es auch mit kleineren µC (Attiny 13), dann mit I2C-Emulation (Bitbanging).
@ Holomino ja sowas meinte ich. Ich habe vorwiegend Modulatoren mit dem MC44353. Dein link ist sehr interessant, hilft mir aber nicht gänzlich, der Quellcode is ja noch kein funktionierender uC.
@ Gnom67 ja, welcher uC ist mir eigentlich egal, solange ich am besten über PC (oder zusätzlich mit DIP-Schaltern) dem Käfer den Befehl eingeben kann, der dann nach Anlegen der Spannung den Modulator-IC entsprechend in Funktion bringt.
der uC sollte deshalb in Sockel steckbar sein und möglichst wenig Strom verbrauchen (und nicht unbedingt ein Vermögen kosten, so wie der König-Modulator!)
Technisch kein besonders großes Problem. Wenn du allerdings ohne Vorkenntnisse da dran gehst, wird es dich einige Mühe kosten, das Ding zu bauen.
Wie viele verschiedene Befehlssequenzen brauchst du denn? Wenn es nur einige, feststehende Sequenzen sind, ist es vielleicht recht einfach.
Der Einfachheit halber könntest du einen Arduino Nano nehmen. Mit einem DIP-Schalterblock kannst du die entsprechende Anzahl Einstellvarianten ermöglichen.
Mit welcher Spannung arbeitet die Elektronik auf diesen Modulatoren? Der Arduino hat 5 Volt. Wenn die mit mehr oder weniger arbeiten, musst du das noch anpassen.
Wenn der µC gestartet wird, liest er die DIP-Schalter aus, und sendet per I2C die gewünschte Sequenz.
Das Programm musst du aber irgendwie selbst schreiben - in Anlehnung an den Link von Holomino.
Hallo und Danke,
Der uC muß nach Anlegen der Spannung, also Initialisierung, eine einzige Sequenz an den Mod-chip senden. die besteht aus paar Teilen (Blöcken) für Frequenz, Audio-Träger, Testsignal, Mod.-Tiefe u.dgl.
Mir ist es egal, ob ich alle Parameter, die in dieser Sequenz enthalten sein müssen, vorher am PC festlege (und ins EEPROM schreibe ??) oder Teile (Blöcke) davon per DIP nachträglich modifizieren kann.
Auch die Versorgung von üC und Modulator mit möglicherweise verschiedenen Spannungen und daraus resultierende Pegelanpassungen sind (ich bin Elektroniker) kein Thema.
Mein Problem ist allein das Erstellen des Programms. Ich bin keine 17 mehr und wollte mit eurer Hilfe vermeiden, noch mal Programmiersprache usw. wegen dieses Projekts lernen zu müssen.
Ein bisschen Getüftel wird es schon.
Der Arduino Nano lässt sich aber sehr einfach programmieren (Entwicklungsumgebung im PC installieren, Nano mit USB-Kabel anschließen - das ist eingetlich schon alles).
Für dein Programm dürften die wesentlichen Teile die Einbindung der Wire-Bibliothek
#include <Wire.h>
und das Senden der Sequenzen
Wire.beginTransmission(MOD_ADDRESS);
Wire.write(0x88 )
Wire.write(0x40 | mod_sound[soundIdx]);
Wire.write(fm);
Wire.write(fl);
Wire.endTransmission();
sein. Die Werte hier sind im Programm mit Hilfe der Tasten und des LCD eingestellt. Du kannst sie natürlich als feste Werte in den Klammern hinterlegen (so wie der Wert 0x88 in der zweiten Zeile).
MOD_ADRSESS solltest du duch so etwas wie 0xCA (Adresse des Moduls aus dem Beispiel) ersetzen können. Die Definition
#define MOD_ADDRESS (0xCA >> 1)
verschiebt den Wert um ein Bit nach rechts - was das soll, verstehe ich allerdings nicht.
In der Setup-Sektion ist offenbar noch ein
Wire.begin();
nötig.
Jetzt heißt es für dich wohl: Frisch ans Werk.
o.k. ! etwas "Getüftel" is bei allen solchen Projekten normal.
Also paar dieser Teile:
https://www.banggood.com/de/ATmega32...r_warehouse=CN
kaufen, "arduino-1.8.10-windows.exe" installieren, usb-Verbindung und los gehts: " Wire.beginTransmission(0xCA); " usw. . . . ??
Mein Modulator-chip MC44353 hat übrigens lt. Datenblatt auch die Adresse CA(hex), der wird doch nicht etwa kompatibel sein mit dem im Link von Holomino ??
Hi,
also ganz ohne eure externe Hilfe wirds doch nix. Mein Modulator chip mc44353 ist zwar sehr ähnlich dem MBS74T1AEF im Link von Holomino, alle bytes haben die selbe Bezeichnung und Funktion, aber es gibt doch paar Unterschiede.
Die keyPad- und LCD- funktionen wie bei "Cornelius´ projekt brauch ich nicht, die umständliche umrechnung der PAL-Kanal-nummern in die eigentliche frequenz auch nich, mit meinem chip reicht es, die gewünschte Video-Frequenz als Vielfaches von 0,25 MHz in die beiden bytes FL und FM zu schreiben, die begrenzung der Kanäle " if ((channel < 21) || (channel > 69)) channel = 21;
innerhalb 21 bis 69 is genau so überflüssig.
Hab jetzt keine Ahnung wie ich aus dem Quellcode aus dem Link einen für mich machen kann??
Lesezeichen