PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Videoausgabe mit Bascom



JanB
26.02.2005, 20:07
Hallo,
das Thema hat mich dann doch nicht losgelassen,
und hier ist jetzt ein erster Versuch einer Videoausgabe
in Bascom. Das Programm ist nur ein Experiment.

Es besteht aus dem Bascom Programm und einer Bin-Datei.
Am Anfang des Bascom Programmes ist ein Start-Teil, der nicht
verändert werden sollte. Dort wird auch die Bin-Datei eingebunden.
Evtl. muss der dort Pfad angepasst werden, damit Bascom
die Bin-Datei findet.
Nichts anderes ändern, sonst läuft es nicht mehr.
Nach diesem Start-Teil kommt das normale Bascom-Programm.
Da könnt ihr nach Herzenslust rumexperimentieren,
und eigene Ideen ausprobieren.
TImer0, und andere Interrupts dürfen nicht verwendet werden,
weil sie das Videotiming stören.

Es läuft auch mit der Bascom-AVR Demoversion 1.11.7.7.
Ihr braucht einen Mega32-16 mit 16MHz Quarz und die
bekannten drei Widerstände dazu.
Ein Widerstand 100 Ohm an Pin 11 (GND)
Ein Widerstand 560 Ohm an Pin 1 (PortB0)
Ein Widerstand 1200 Ohm in Pin 20 (PortD6)
Die drei freien Enden der Widerstände verbinden,
das ergibt das Videosignal.

Das Programm und die BIN-Datei hänge ich am Ende dran.

Wie gesagt, es st nur ein Versuch, um zu sehen ob das
überhaupt geht.
Und es klappt - nach einigen Mühen... :-)

Gruß Jan


'Videoterminal in Bascom
'Jan Baare 26.2.05
'
'Nur ein Experiment.
'


'************************************************* ****************
'Ab hier im folgenden Bereich nix ändern !!
$regfile = "M32def.dat"
$crystal = 16000000
$noramclear
On Oc0 &HCC Nosave
$asm
rcall l1
sei
jmp Basic
nop
nop
nop
nop
nop
nop
nop
$end Asm
$inc L1 , Nosize , "D:\AVR\Basvid\Avrvid32.bin"
Basic:
Dim Bs(672) As Byte At &H60
Dim Fb(256) As Byte At &H300
'Oberhalb dieser Linie nix ändern !!!
'************************************************* ******************
$asm
'hier probeweise 0, 1, 2 oder 3 nop's einsetzen,
'falls das Bild zu unruhig ist. Mehr als 3 nutzt nix.
'einfach ausprobieren, wie es am Besten ist.
nop
nop
nop
$end Asm
'************************************************* ******************
'Ab hier das normale Bascom-Programm
'keine Timer, kein Usart , kein Print verwenden


Dim W As Word
Dim N As Word
Dim M As Word
Dim X As Integer

Dim S As String * 84
Dim C As String * 1

Dim Z10 As String * 28 At 96 + 280 Overlay
Dim Z12 As String * 28 At 96 + 336 Overlay
Dim Z24 As String * 28 At 740 Overlay
Dim Xs As String * 10 At 96 + 424 Overlay


Restore Daten
Read S

Z24 = String(28 , 28)

M = 141
For N = 1 To 84
C = Mid(s , N , 1)
Bs(m) = C
M = M + 1
For W = 0 To 20000
Next
Next

Z10 = "Das ging viel schneller..."

M = 0
X = 0
Do
If M = 0 Then
M = 1
Z12 = " Eine blinkende Zeile "
Else
M = 0
Z12 = " "
End If
Xs = Str(x)
X = X + 1
Loop


End

Daten:
Data "Ein erster experimenteller Versuch, eine Videoausgabe in Bascom-AVR zu integrieren."

pebisoft
26.02.2005, 23:38
hallo jan, du bist ein verrückter toller type.
klasse, wie du das gemacht hast. wo nimmst du immer diese perfektion für den timer her um die zeilen darzustellen. nochmals meine bewunderung für dein stehvermögen. vielen dank, das du uns hier so mit deinem wissen verwöhnst.
mfg pebisoft

globe
27.02.2005, 01:54
Super!
Danach hab ich schon lange gesucht! Jetzt kann ich auch die Höhe in das Bild der Onbordkamera in meinem Modellflieger "einblenden"

Trabukh
27.02.2005, 10:17
@globe: Wie geht das denn? Du müsstest das Signal des AVRs haargenau mit dem der Onbordkamera abstimmen. Wie machst du das?

Gruß, Trabukh

27.02.2005, 10:34
Stimmt da hab ich auch erst drüber nachdacht nachdem ich mein Post geschrieben habe =P~

Aber gibt es nicht ICs die das "übereinander" legen zweier Videosignale übernehmen könnten?

Zur Not ginge halt noch Umschalten was aber ja gar net schön wäre.

RCO
27.02.2005, 16:41
Zur Not ginge halt noch Umschalten was aber ja gar net schön wäre.

Wie meinst du das?
Das Problem ist, dass du im Videosignal der Kammera erstmal die Sync-Signale rausfinden musst, damit dann beim umschalten auch tatsächlich der untere Teil des Bildes und nciht irgendwas erscheint.

MFG Moritz

globe
27.02.2005, 17:00
Naja ich meine halt komplet umschalten. Dann käme halt entweder das Bild von der Kamera oder eben schwarzer Hintergrund mit der Schrift.

Habe mir aber auch schon was gebastelt um Daten seriell über den "Ton" des
Videosenders zu übertragen. Mit eingeblendeter Schrift im Bild wäre natürlich wesentlich schicker!

RCO
27.02.2005, 17:11
Habe mir aber auch schon was gebastelt um Daten seriell über den "Ton" des
Videosenders zu übertragen. Mit eingeblendeter Schrift im Bild wäre natürlich wesentlich schicker!

Echt? Was doch hier vor Kurzem schonmal Thema. Wie hast du es denn angestellt, wenn ich fragen darf. Der Thread hat nämlich zu keinem Ergebniss geführt?

MFG Moritz

globe
27.02.2005, 17:50
Ja kein Problem. Es geht zwar nur mit 300 Baud aber um Höhe usw. zu übertragen reicht es ja dicke.
Ich erzeuge mit einem Ne555 der am Auidoeingang des Senders hängt entweder 1000 Hz oder 2000 Hz. Das mache ich indem ich einen Kondensator zuschalte oder weg lasse. Das Umschalten übernimmt ein Transistor der an der seriellen Schnittstelle des Controllers im Flieger hängt.

Auf der Empfänderseite habe zunächst einen Op zum verstärken. Das Signal geht dan n auf einen Eingang eines 2313 der mit Hilfe eines Timers prüft op jetzt 1000Hz oder 2000Hz anliegen und je nach dem einen weitern Pin schaltet.--> fertig

Ja das ist eigentlich alles. Geht halt nicht sehr schnell ist dafür aber fehlerfrei und einfach aufgebaut.

RCO
27.02.2005, 19:19
Das klingt gut, wie stellt du im 2313 fest, um welche Frequenz es sich handelt? Interrupt und Zeitmessung?

MFG Moritz

globe
27.02.2005, 20:31
Ja genau. Mehr ist es nicht. Vielleicht geht es auch noch schneller aber zu dem Zeitpunkt als ich das gebaut habe hatte ich keine 4 Wochen Mikrocontroler Erfahrung.

pebisoft
28.02.2005, 10:16
hallo, kannst du mal einen genauen einfachen schaltplan posten mit bauteile-liste für den audio-sender-empfänger von baudsignalen.
mfg pebisoft

globe
28.02.2005, 10:43
Hi

Ja also Pläne gibt es nicht wirklich. Ich habe da mal wild drauf los gelötet, aber wenn Interresse besteht wäre ich gerne bereit noch welche zu machen.

Wir sollten allerdings am besten einen neuen Fred aufmachen und nicht Jan´s
vollmüllen.

pebisoft
28.02.2005, 11:38
hallo, wunderbar das du es machst.
mfg pebisoft

ICH_
28.02.2005, 21:00
Das würde mich auch interessieren

globe
01.03.2005, 00:04
So hab mal schnell was zusammen gestellt nicht viel. Aber so auf die scnelle:

https://www.roboternetz.de/phpBB2/viewtopic.php?t=7339

Gruß Georg

pebisoft
01.03.2005, 18:59
hallo, vielen dank für deine mühe.
werde es einmal zusammenbauen.
mfg pebisoft

Waldichecker
05.04.2010, 17:28
hallo,

ich hab diesen thread durch google gefunden, jetzt wollte ich des ganze ausprobieren. nur habe ich iwie die bin-datei nicht gefunden.

ich weiß das der thread schon sehr alt ist, aber vlt kann mir doch noch jemand helfen.

gruß

Waldichecker

chr-mt
05.04.2010, 19:42
Hi,
hier solltest du fündig werden:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=23833

Gruß
Christopher

Waldichecker
05.04.2010, 20:02
Hmm,

der Beitrag is doch für assembler, und ne bin-datei hab ich da nich gefunden.

Gruß
waldichecker

chr-mt
05.04.2010, 20:33
Hi,
das ist die Weiterentwicklung des ursprünglichen Bascom /Assembler Projektes von Jan.
Wozu brauchst du eine .bin Datei ?
Die .hex Datei zum programmieren ist doch dabei.

Falls du dich auch für Zeichen und Bildausgabe auf einem Oszilloskop interessierst, wäre der Thread hier was für dich :
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=10606&postdays=0&postorder=asc&highlight=oszi+uhr&start=66

Gruß
Christopher

Waldichecker
05.04.2010, 20:46
hi,

des mit dem osziloskop ist cool.

mit der hex-datei könnte ich das schon ausprobieren, nur ohne die bin könnte ich das ganze ja dann nicht mehr weiter "erforschen".

ich kann zurzeit nur bascom.

und da suche ich jetzt ein beispiel das man erweitern und anpassen könnte.

vlt kennst du da ja noch sowas?

Gruß

Waldichecker

chr-mt
05.04.2010, 20:57
Eine reine Bascom Version kenne ich nicht.
einige Teile sind eigentlich immer in Assembler geschrieben, da die Erzeugung des Videosignals wohl zu zeitkritisch für Bascom ist.

Gruß
Christopher

Thomas$
05.04.2010, 22:44
der code sieht echt gut aus könntest du bitter den asm teil kurz mit kommentaren versehen das wäre eine echte hilfe. man könnt sich ja das sync signal mit transistoren rausfiltern und dann damit den timer starten dann könnte man das bild auch mischen

JanB
11.04.2010, 15:34
Hallo,
wirklich deprimierend ](*,) , erst nach
über fünf Jahren merkt jemand, dass ich
damals die BIN-Datei vergessen habe.
Der Thread scheint also nicht besonders
interessant gewesen zu sein, und niemand
hat es wirklich ausprobiert.

Ich werde dieser Tage mal auf einer alten FP
nachsehen, ob ich die Datei noch habe.
Viel Hoffnung habe ich aber nicht, denn
es ist ja schon einige Rechnergenerationen her.
Mittlerweile bin ich auf Mac umgestiegen...

Das Programm würde auch nur mit der damals
verwendeten alten Bascom-Version funtionieren

Gruß Jan

jardik
13.10.2013, 22:09
hallo,

Amazing work . Bascom hat eine Bibliothek VIDEO OUT !

Arduino und volle C-Compiler -Bibliotheken sind schon eine lange Zeit her, und immer noch wie Bascom existieren.

Ich konnte meinen Augen nicht trauen , als ich hier in diesem Thread sah programmieren.

Wirklich erstaunlich Arbeit!

Ich möchte dieses Programm als eine Grafikkarte für LCD-Display -TV mit Video-Eingang verwenden . ( Speziell für LCD Rückfahrkamera Auto)

Aber ich brauche die kleinste Größe PCB ( mit dem Haupt- MCU auf einer Leiterplatte mit RX , TX, eine serielle Schnittstelle kommunizieren ) .





Ich habe folgende Frage oder vielmehr anfordern:

ging von Ihrem Versuch, Video -Generator für Bascom Remake für andere als die MCU ist ATMEGA32 ?
Zum Beispiel ATmega328 oder ATMEGA168P .

Es wäre möglich, eine größere Schriftart für Überschriften hinzufügen?

Ist es möglich Bascomu normale serielle Kommunikation? Kollisionen Timer , etc.?

Es wäre möglich, Programm durch detailliertere Kommentar ergänzt .
Ich würde gerne mehr beschreiben einen Weg der Weitergabe der Verklappung von Text auf dem Bildschirm zwischen der Basic-Code und Assembler .



Vielen Dank im Voraus und beste Grüße
Marek

Harry1234
05.12.2013, 19:16
Hallo Jan, ich bin heute auf deinen alten Beitrag gestoßen, Hast Du die .BIN Datei noch gefunden? Ich bin auch noch Neuling was die MC angeht und versuche ein Programm zu schreiben das mir unter anderen die Syncsignale erzeugen soll. Hintergrund: Ich habe ein paar alte Video SW Kameras gefunden die ein externes Syncsignal (H-Sycn. V-Sync. und CompSycn.) benötigen um zusammen zu arbeiten und dafür habe ich es versucht, klappt noch nicht so ganz. Das ganze soll unter Bascom laufen, bzw. wie bei Dir eingebettet sein, weil der Rest in Bascom läuft. Nun ist mir Dein Beitrag aufgefallen und der dürfte mir die nötige Hilfestellung geben. Wenn Du mir da auf die Sprünge helfen könntest wäre ich Dir dankbar.



Hallo,
wirklich deprimierend ](*,) , erst nach
über fünf Jahren merkt jemand, dass ich
damals die BIN-Datei vergessen habe.
Der Thread scheint also nicht besonders
interessant gewesen zu sein, und niemand
hat es wirklich ausprobiert.

Ich werde dieser Tage mal auf einer alten FP
nachsehen, ob ich die Datei noch habe.
Viel Hoffnung habe ich aber nicht, denn
es ist ja schon einige Rechnergenerationen her.
Mittlerweile bin ich auf Mac umgestiegen...

Das Programm würde auch nur mit der damals
verwendeten alten Bascom-Version funtionieren

Gruß Jan