Forum: Mikrocontroller und Digitale Elektronik Lasertag mit Atmega328 - einige Fragen


von Roman C. (levon)


Lesenswert?

Hallo Leute,

ich habe vor ein paar Tagen mit meinem ersten "richtigen" Elektronik 
Projekt angefangen, einem Lasertag System.
Der Plan ist, dass ich mir auf Basis des Atmega328 eine Platine baue, 
die folgendes können soll:
- IR Puls senden und empfangen (56kHz PWM, ca 2 Byte Daten)
- ein Display ansteuern
- Sound ausgeben bei Treffern, etc
- evtl Daten mit den anderen Tagger austauschen über Funk (zB NRF24L01) 
(ist kein Muss)

Im Moment bin ich dabei den Schaltplan für die Platine zu entwickeln und 
die Software zu schreiben.
Zum Testen habe ich einen Arduino Uno, ein Adafruit 1,8" TFT und IR LEDs 
und Receiver.
Das Display und der IR Puls funktionieren schon einwandfrei, gerade bin 
ich am Empfangen dran.

Jetzt habe ich aber einige Fragen bei denen mir Google bis jetzt nicht 
weiter helfen konnte:
1) Die IR Library (https://github.com/shirriff/Arduino-IRremote) die ich 
verwende, benutzt zum Senden und Empfangen/Dekodieren den selber Timer. 
Das heißt doch, wenn ich etwas sende kann ich nichts empfangen, richtig? 
Die Lösung dafür wäre also, dass ich mit einem anderen Timer das 
dekodieren machen muss, das heißt ich ändere einfach die Register auf 
Timer1 ab zum Beispiel, oder muss ich sonst noch was beachten?

2) Wie soll ich die Soundausgabe machen? Ich sehe da zwei Möglichkeiten, 
zum einen könnte ich so einen Audiorekorder IC (zB ISD1740) nehmen, der 
dann über SPI angesteuert wird, oder ich mache es direkt über PWM aus 
dem Atmega und lese die Sounds aus der µSD aus, die am Bildschirm hängt. 
Aber reicht die Rechenpower des Atmega dafür aus? Man bräuchte also 
einen Timer für den Sound, einen für die Dekodierung der empfangenen IR 
Signale und einen um das PWM Signal für die IR LED zu erzeugen, sollte 
ja also eigentlich reichen, der ATmega328 hat ja 3 Timer, richtig? Das 
Probelem bei dem ISD Chip ist, das der relativ groß ist, die Platine 
wird also sehr voll und ich würde sie ungern größer als die Display 
Platine machen. Bei beiden Versionen müssten natürlich noch eine 
Endstufe dazu, ich hab da an die TDA7052 gedacht.

3) Ich hab mal hier in die Liste mit den Platinenherstellern geschaut 
und fande Ragworm vom Preis-Leistungs-Verhältnis ganz gut. Habe auch 
keine schlechte Berichte über die gefunden, sind die zu empfehlen?

4) Im Moment programmiere ich noch mit der Arduino IDE und den ganzen 
Libraries. Macht das auf lange Sicht Sinn oder sollte ich lieber direkt 
auf was "richtiges" umsteigen, wie zB Atmel Studio?

Gibts ansonsten noch allgemein irgendwas was ich bei diesem Projekt 
beachten muss?

Mit freundlichen Grüßen
Roman

von Sébastien M. (sebi211)


Lesenswert?

Hallo Roman

Cooles Projekt das du da vorhast jedoch auch ziemlich aufwändig für ein 
erstes Projekt würde ich sagen. Auch habe ich das Gefühl, dass du das 
ein bisschen falsch angehst. Bei solchen Projekten ist das IPERKA 
Prinzip wichtig (Informieren, Planen, Evaluieren, Realisieren, 
Kontrollieren& Abschliessen). Du bist vermutlich schon fast bei 
realisieren. Zeig da Geduld, ganz wichtig in der Elektronik (kenne das 
Problem hier). Probier zuerst einige Module aus. Mach zuerst einmal ein 
Infrarotmodul und bastle an dem herum, dann ein Audiomodul etc. Am Ende 
kannst du diese dann auf ein PCB bringen.

Zu deiner ersten Frage kann ich dir leider keine Antwort geben jedoch zu 
den anderen.

Zur zweiten:
Das kannst du nur selber abschätzen in dem du Nutzen, Aufwand und 
Endprodukt abwägst. Den Sound kannst du über einen Controller ausgeben 
wird einfach mühsam und evt. Zeitkritisch aber erspart dir Geld. Du 
kannst auch einen fertigen Chip nehmen den du z.B. über SPI ansteuerst 
(Stichwort Texas Instruments). Wenn ich jedoch dich wäre würde ich einen 
fertigen Chip nehmen. (aus dem Grund vom Blockdiagramm und modulares 
Denken).

Zur dritten:
Kenn ich nicht aber ich bestelle von Seeedstudio aus China. Dauert ein 
bisschen mit der Lieferung aber gute Qualität!

Zur vierten:
Auch wieder deine Entscheidung: willst du Spezialist werden genau auf 
diesem System oder willst du offen für Neues sein? Also ich würde mit 
auch offen für andere Systeme sein jedoch würde ich mit Eval-Boards dann 
üben und nicht bei einem Projekt. Kann zu unnötigen Zeit und Geldverlust 
führen.

Hoffe konnte damit helfen.

Gruss Sébi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.