hey radbruch,
was ist denn schwieriger? der projektor? oder der rotator?
ich will mich anfaangs natürlich an das einfachere wagen
mfg murdocg
Druckbare Version
hey radbruch,
was ist denn schwieriger? der projektor? oder der rotator?
ich will mich anfaangs natürlich an das einfachere wagen
mfg murdocg
Hallo
Der Vorteil des Projektors ist die stationäre Ansteuerung. Das könnte sogar mit dem asuro funktionieren. Nachteil ist das schwache Licht und die fummeligen Kippspiegel.
Beiden gemeinsam ist das Generieren der Bitmuster (Zeichensatz) und das Timeing bei der Darstellung.
Gruß
mic
Das heißt Ansteureung etc. ist beim projektor einfacher, dafür brauch ich aber die perfekte anordnung der spiegel?
mfg murdocg
Worauf befestigst du die Spiegel?
Wie steurere ich alles an? Kannst du mal eine Anleiteung per PN oder E-Mail schreiben?
Der Aufbau ist das geringste Problem da ich das ganze noch gar nit gemacht habe brauch ich bei der Elektronik noch Hilfe.
mfg murdocg
Hallo
Zur Ansteuerung des Projektors benötigt man lediglich zwei Pins. Einer für den Laser und einer für die Lichtschranke.
Die Spiegel müssen so ausgerichtet werden dass jeder Spiegel auf der Projektionsfläche eine eigene Linie erzeugt. Einzige Erleichterung beim Fummeln: Die Spiegel müssen nicht in der richtigen Linien-Reihenfolge angeordnet sein weil man das später mit der Software korrigieren kann. Trotzdem kann man das Projekt wohl nicht wirklich als einfach bezeichnen. Es ist eben eine "Bastellösung" die zeigt was mit wenigen Teilen möglich ist.
Sorry, aber "persönliche Beratung" lehne ich ab. Lies dich ins Thema ein, mache eigene Versuche und konstruiere einen eigenen Rotor aus irgendwas mit mehreren Flächen (z.B. Schraubdeckel von Kosmatika). Am Besten zerlegst du das Projekt in einzelne Teilaufgaben wie Rotorbau, Antrieb, Laseranschluß, Lichtschranke, Zeichengenerator und ganz wichtig: Die synchonisierte Ausgabe. Das sind alles Teilprobleme die man einzeln testen und lösen kann bevor man alle Funktionen zusammenfügt. Dann kannst du auch gerne gezielte Fragen stellen.Zitat:
Kannst du mal eine Anleiteung per PN oder E-Mail schreiben?
Gruß
mic
Ja klar kein Prob.
Ich werde einfach mal ein bissl rumtüfteln.
vielen dank
murdocg
Das sind schon geniale Teile:
http://www.youtube.com/watch?v=K1asNB0te0o
http://www.youtube.com/watch?v=-6JnAxTXApw
http://www.youtube.com/watch?v=e_6xkMJ5G2o
Was fürn nen Motor nutz ich den am besten für den Rotator, welche Elektronik? Wie schliees ich die an?
Hallo
Obwohl mein eigenes Projektor-Projekt im Moment eingemottet ist habe ich mal einen kleinen Test mit dem asuro gemacht:
Bild hier
Der Laserpointer (6€ beim C) ersetzt die FrontLED. Da mein Laser bereits einen 33Ohm-Widerstand eingebaut hat (kann man dann bequem mit 5V/18mA betreiben) habe ich den Vorwiderstand der LED überbrückt (R9 220R). Nun kann ich den Laser mit der asuro-Library schalten. Gepulste 18mA sind für den Mega8 unbedenklich.
Als Synchronisationssensor verwende ich die Liniensensoren. Bei einem direkten Treffer mit dem Laserstrahl (keine Ahnung ob das den Sensoren schadet!) liest LineData() Werte von über 1000 ein. Da der Pegel an den Pins (PC2+PC3) ab ca. 400-500 als High erkannt wird (ausprobiert) verzichte ich auf eine analoge Auswertung und prüfe einfach, ob einer der Pegel High ist:
while(!(PINC & (1<<PC3 | 1<<PC2)));
Diese Schleife wird solange ausgeführt bis der Laserstahl einen der beiden Sensoren trifft. Da zwischen Bild und Sensor ein kleiner Abstand sein soll, wird dann der Laser kurz ausgeschaltet. Nach dieser kurzen Wartezeit werden die 16 Bit des Bitmusters von MSB nach LSB über den Laser rausgeblitzt. Anschliessend folgt nochmals eine kurze Dunkelphase am Zeilenende bevor der Laser erneut eingeschaltet wird. Nun wird das Bitmuster neu gesetzt und der Ablauf startet erneut mit "Warten auf Laser trifft Sensor":
Benutzer der orginalen CD-Library müssen die 36 in den Sleep()-Befehlen nach 72 ändern, bzw. die Scheifen anpassen.Code:// Vorstudie zu einem asuro-gesteuerten Laserprojektor 8.10.08 mic
#include "asuro.h"
int main(void)
{
unsigned char bit; // Zähler für die einzelnen Bits
unsigned int j, bitmuster; // Hilfvariable, 16 Bit Muster
Init (); // Initialisieren nie vergessen!
for(j=100; j-- >0; Sleep(36)); // Kurz warten
FrontLED(ON); // Laser einschalten
StatusLED(RED); // besser zuviel als zuwenig kommentieren
bitmuster=0b1100110010101010; // Startbitmuster festlegen
while(1) // ausführen bis die Akkus leer sind
{
while(!(PINC & (1<<PC3 | 1<<PC2))); // Warten auf Startimpuls Liniensensoren
FrontLED(OFF); // Laser kurz ausblenden (Zeilenanfang)
for(j=50; j-- >0; Sleep(36));
bit=15; // 16 Bits werden ausgegeben, MSB zuerst
do // also muss der Rotor clockwise drehen
{ // Bitmuster blinken
if(bitmuster & 1<<bit) FrontLED(ON); // Bit gesetzt/nicht gesetzt?
else FrontLED(OFF); // Laser entsprechend setzen
Sleep(20); // Diese Zeit bestimmt die Bitlänge!
}while(bit--); // Abbrechen nach Bit0
FrontLED(OFF); // Laser kurz ausblenden (Zeilenende)
for(j=200; j-- >0; Sleep(36));
//bitmuster++; // Neues Bitmuster setzen
FrontLED(ON); // Laser ein für Warten auf Zeilenanfang
}
}
Das sieht dann so aus:
Bild hier
http://www.youtube.com/watch?v=ehH0vq82tig
Bild hier
Ein Ausschnitt aus dem Video (ca. 7.Sek) zeigt deutlich das Bitmuster :)
Leider ist das Video nicht sehr beeindruckend. Es fehlt natürlich noch die konstante Drehzahl des Rotors, die Ausgabe mehrerer Zeilen und der Bitmustergenerator, aber man kann stellenweise erkennen wie es aussehen soll. Es gibt noch viel zu erforschen.
Gruß
mic