Bmag
Auf Blasted zuhause
Nach geraumer Zeit kann ich auch meine Version einer Selectfire Rapidstrike auf Arduinobasis präsentieren. Komplett neu ist mein Entwurf jetzt nicht, er basiert zu großen Teilen auf der Anleitung von @02134, wobei ich mir auch Inspirationen bei tungstenexe geholt habe. Leider konnte ich noch nicht alle Features so implementieren, wie ich mir das wünsche. So fehlt vor allem die Anzeige und das Messen der LiPo-Spannung. Da aber verschiedene Leute jetzt immer wieder nach meiner Version gerufen haben (@Crash Override , @Moggih ) Veröffentliche ich hier und heute eine robuste Grundversion, welche folgende Anforderungen erfüllt:
Die Steuerung der Flywheels läuft auch über den Arduino, so dass wie oben geschrieben ein Logic Level Mosfet nötig ist. Beim Pusher habe ich auf ein Relais zurückgegriffen, da ich somit sehr einfach eine Motorbremse realisieren konnte. Ich bin auf diese Idee bei einem Schaltplan für die Rhinofire gestoßen:
Als Schalter für die Wahl des Feuermodus bzw. der Magazingröße (durch Öffnen der Jamdoor) habe ich einen großen Button als Daumenschalter für die linke Hand installiert, der sich hervorragend in die "Zähne" schmiegt:
Der Rest der Verkabelung sieht jetzt nicht gerade überragend aus, ich habe versucht alles in dem Gehäuse unterzubringen:
Das Relais habe ich dabei oberhalb des Pushermechanismus verlegt:
An dieser Stelle noch eine Anmerkung zu dem Pusher, genauer gesagt zum Cyclecontrol: es kann sein, dass es an dem Alter und Zustand meiner Rapidstrike lag, aber für andere mag es auch hilfreich sein. Teilweise schafft es der Schalter des Cyclecontrol nicht schnell genug gegen die Reibung anzuarbeiten, so dass ich bei diesem Schalter die Feder gegen eine stärkere tauschen musste. Danach schaltete er zuverlässig.
Den Code pack ich als txt in den Anhang. Ihr müsst nach dem Runterladen einfach die Dateiendung wieder in .ino ändern. Ich bin kein professioneller Programmierer, was sich wohl auch in einem leicht konfusen Stil äußert, da meine Gedanken manche Sprünge machen. Vor dem Veröffentlichen habe ich noch versucht, den Code etwas zu ordnen, und ein paar Kommentare eingefügt. Falls ihr Fragen habt, könnt ihr mir gerne schreiben. Auch für Anmerkungen und Kritiken habe ich ein offenes Ohr.
Und nun zum Abschluss eine Demonstration der Funktionen
- 3 Feuermodi: Einzelfeuer, Burst (Standardmäßig 3er Salven, läßt sich im Code simpel ändern), Dauerfeuer
- Anzeige von aktuellem Dartvorrat und Magazingröße
- Wahl von voreingestellten Magazingrößen
- Feinanpassung der Magazingrößen
- Reset der Dartzahl bei Magazinwechsel
- Ardunio nano (ein Spannungswandler ist bei diesem für 2s- und 3s-Betrieb nicht nötig)
- 128x64 OLED LCD
- Ein Kanal Relais
- Logic level Mosfet (also einer, der schon bei 5V schaltet)
Die Steuerung der Flywheels läuft auch über den Arduino, so dass wie oben geschrieben ein Logic Level Mosfet nötig ist. Beim Pusher habe ich auf ein Relais zurückgegriffen, da ich somit sehr einfach eine Motorbremse realisieren konnte. Ich bin auf diese Idee bei einem Schaltplan für die Rhinofire gestoßen:

Als Schalter für die Wahl des Feuermodus bzw. der Magazingröße (durch Öffnen der Jamdoor) habe ich einen großen Button als Daumenschalter für die linke Hand installiert, der sich hervorragend in die "Zähne" schmiegt:

Der Rest der Verkabelung sieht jetzt nicht gerade überragend aus, ich habe versucht alles in dem Gehäuse unterzubringen:

Das Relais habe ich dabei oberhalb des Pushermechanismus verlegt:

An dieser Stelle noch eine Anmerkung zu dem Pusher, genauer gesagt zum Cyclecontrol: es kann sein, dass es an dem Alter und Zustand meiner Rapidstrike lag, aber für andere mag es auch hilfreich sein. Teilweise schafft es der Schalter des Cyclecontrol nicht schnell genug gegen die Reibung anzuarbeiten, so dass ich bei diesem Schalter die Feder gegen eine stärkere tauschen musste. Danach schaltete er zuverlässig.
Den Code pack ich als txt in den Anhang. Ihr müsst nach dem Runterladen einfach die Dateiendung wieder in .ino ändern. Ich bin kein professioneller Programmierer, was sich wohl auch in einem leicht konfusen Stil äußert, da meine Gedanken manche Sprünge machen. Vor dem Veröffentlichen habe ich noch versucht, den Code etwas zu ordnen, und ein paar Kommentare eingefügt. Falls ihr Fragen habt, könnt ihr mir gerne schreiben. Auch für Anmerkungen und Kritiken habe ich ein offenes Ohr.
Und nun zum Abschluss eine Demonstration der Funktionen