Mario Kart 8 Umbau auf D143

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Mario Kart 8 Umbau auf D143

      Hallo Freunde der kleinen Carrera Bahn,

      nachdem ich hier schon einige Zeit mitlese und eure Fahrzeug-Umbauten und Bahnen bewundert habe, will ich heute mal meinen letzten Umbau vorstellen.

      Ich mag die kleinen Karts mit Mario und Co besonders. Meine Tochter samt Freunden übrigens auch. :rolleyes:
      Da war es immer sehr schade das es die nur als analog GO!!! Autos gibt.

      Als ich vor einiger Zeit einen defekten D143 Controller hatte, kam mir die Idee ihm seiner Bauteile zu berauben und diese zusammen mit einigen neuen in die vorhandenen Hohlräume von Marios Kart einzubauen.

      Hier das Ergebnis. Fährt wirklich Super als D143.
      2019-01-16 23.20.56.jpg

      2019-01-16 23.24.41.jpg
      Jetzt müssen natürlich auch noch die anderen drei umgebaut werden.
      Ich werde wohl einen kleine Platine dafür fräsen. :hmm:

      Grüße
      Enrico
    • Mario Kart 8 Umbau auf D143

      Das ist mal eine Aufgabe, bzw eine Lösung

      Die Welt braucht mehr Ver-Rückte, seht was die Normalen aus Ihr gemacht haben
      erwachsen werden ist nur etwas für kinder
      denn
      wer nicht mehr träumt, hat keine kraft mehr zum leben
    • Danke für die lobenden Worte!
      Es ist ja kein Hexenwerk, nur etwas fummelig....

      danielmueller112 wrote:

      Also bissl Licht wäre ja wohl noch möglich gewesen, bei dem riesen Platz! :P

      In der Tat hab ich da auch schon drüber nachgedacht.
      Hinten ist ja so eine rotes Ding. Das könnte ein Rücklicht sein.

      2019-01-17 22.12.47.jpg

      Fragt sich nur was es tun soll....

      einfaches Dauerlicht, oder so eine Blinkding wie bei den F1 Kisten?

      Bremslicht wäre auch machbar, allerdings muß dann ein zweiter µC Platz finden.
      Mal überlegen....
    • Hallo und guten Abend,

      die super Idee das Kart noch mit Auspuffflammen zu versehen hat mich nicht losgelassen.

      Die Überprüfung der Auspuffe ergab das problemfrei eine 3mm LED rein passt. Also schnell abmontiert und aufgebohrt.

      2019-01-19 21.02.19.jpg

      Im ersten versuch hab ich eine LED mit passendem Vorwiderstand direkt am Motor angeklemmt. Funktioniert, je nach Motordrehzahl heller oder dunkler.
      Mit einer Flacker-LED vielleicht gar nicht so übel. Aber 1. hab ich kein da und 2. sollte ja das Rücklicht auch mit funktionieren.

      Also wennschon dennschon......

      Jetzt packe ich noch einen µC mit rein. Flackerlicht für den Auspuff und Bremslicht hinten sind das Ziel.
      Mit einem Arduino teste ich gerade die Software. Die Blinksequenz für den Auspuff ist schon fertig...

      dropbox.com/s/x0769w6rlm0frnt/…01-19%2021.34.53.mp4?dl=0
    • Der gleiche der auch auf dem original D143 Controller ist.

      Ein Atmel ATtiny25.

      Ich hoffe der passt genau über den anderen in den Seitenkasten. Der "hört" dann die PWM für den Motor ab.
      Wenn ein signal da ist schaltet er das Auspuff-Licht ein und wenn die Drehzahl runter geht macht er für einen Moment das Bremslicht an.

      Ich muss mal rechnen ob die Z-Diode für die Spannungsstabilisierung das verträgt..... :hmm:
    • Dem Mansaster- Code ab zu hören währe auch eine Möglichkeit.



      const int Bus_In = DEINE PINNUMMER;

      volatile boolean NewData = false;

      volatile unsigned long OnMicroS = micros();
      volatile unsigned long OutMicroS = micros();

      void setup() {//-------------------------------------------------------------------void_setup

      pinMode(Bus_In, INPUT_PULLUP);
      attachInterrupt(digitalPinToInterrupt(Bus_In), M_Decoder, CHANGE);
      }// void setup-------------------------------------------------------------------------------


      void M_Decoder() {//-----------------------------------------------------------void M_Decoder
      OnMicroS = micros();
      boolean bus_In = (digitalRead(Bus_In) == LOW);
      unsigned long microS = OnMicroS - OutMicroS;
      if (microS > 200) {
      Data= DataIn;
      NewData = true;
      DataIn = 0;
      bitSet( DataIn,0 );
      OutMicroS = OnMicroS;
      }
      if (microS > 75 && microS < 125) {
      DataIn = DataIn << 1;
      if (bus_In) {
      bitSet( DataIn,0 );
      }
      OutMicroS = OnMicroS;
      }
      }//void M_Decoder----------------------------------------------------------------------------

      Das Programmdatenwort kommt 2 mal.
      Danach brauchst Du nur mehr die passen Bits filtern.

      Hier wird alles gelesen und in die passenden Arrays geschrieben.

      //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Data Reader XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      void Data_Reader() {
      int lenData = 13;
      uint8_t onBit = 0;
      while (onBit == 0) {
      onBit = bitRead(Data, lenData);
      lenData--;
      }
      if (lenData == 12) {
      ProgCommand = 0;
      bitWrite(ProgCommand, 0, bitRead(Data, 11));
      bitWrite(ProgCommand, 1, bitRead(Data, 10));
      bitWrite(ProgCommand, 2, bitRead(Data, 9));
      bitWrite(ProgCommand, 3, bitRead(Data, 8));
      ProgValue = 0;
      bitWrite(ProgValue, 0, bitRead(Data, 7));
      bitWrite(ProgValue, 1, bitRead(Data, 6));
      bitWrite(ProgValue, 2, bitRead(Data, 5));
      bitWrite(ProgValue, 3, bitRead(Data, 4));
      bitWrite(ProgValue, 4, bitRead(Data, 3));
      ProgRegulator = 0;
      bitWrite(ProgRegulator, 0, bitRead(Data, 2));
      bitWrite(ProgRegulator, 1, bitRead(Data, 1));
      bitWrite(ProgRegulator, 2, bitRead(Data, 0));
      }
      else if (lenData == 9) {
      uint8_t car = 0;
      bitWrite(car, 2, bitRead(Data, 8));
      bitWrite(car, 1, bitRead(Data, 7));
      bitWrite(car, 0, bitRead(Data, 6));
      Car_Sw[car] = (bitRead(Data, 5) == 1);
      uint8_t in = 0;
      bitWrite(in, 3, bitRead(Data, 4));
      bitWrite(in, 2, bitRead(Data, 3));
      bitWrite(in, 1, bitRead(Data, 2));
      bitWrite(in, 0, bitRead(Data, 1));
      Car_Speed[car] = in;
      Car_Tank[car] = (bitRead(Data, 0) == 1);
      }
      else if (lenData == 7) {
      if (bitRead(Data, 6) == 0) {
      Car_Speed[0] = 0;
      }
      if (bitRead(Data, 5) == 0) {
      Car_Speed[1] = 0;
      }
      if (bitRead(Data, 4) == 0) {
      Car_Speed[2] = 0;
      }
      if (bitRead(Data, 3) == 0) {
      Car_Speed[3] = 0;
      }
      if (bitRead(Data, 2) == 0) {
      Car_Speed[4] = 0;
      }
      if (bitRead(Data, 1) == 0) {
      Car_Speed[5] = 0;
      }
      if (bitRead(Data, 0) == 0) {
      Car_Speed[6] = 0;
      Car_Speed[7] = 0;
      }
      }
      }
      Landschaftsmodellbauer mit 2 für Autorennen begeistern Söhnen.
    • Hallo,

      das würde natürlich auch funktionieren....
      Aber es ist viel aufwändiger und vor allem, wie soll ich dem µC die Fahrzeug ID mitteilen auf die er hören soll.

      Die Motor PWM hat genau die Information die ich brauche.

      Ist auch schon fertig....
      Ein Video gibt es nachher auch noch.
    • Ich werde in den Semesterferien (ab 4. Feb. ) hierzu die ersten Versuche starten, die Programmier- Sequenz, die wie ich meine bereiz entschlüsselt zu haben, zu testen.
      Meine Finanzministerin begrenzt mein Budget. Kann demnach nur begrenzt Bauteile pro Monat beschaffen.

      @ Admins:

      Eine Abteilung "Carrera Hacks" könnte sich als nützlich erweisen.
      Offensichtlich sind einige mehr hier durchaus fähig sich selbst Dinge zu lösen.
      Gesammelt in einer Kategorie währe sicher sehr fein.

      Wenn meine Annahme stimmt, dass die 143er Controller einfach ID´s nutzen und Gohst und Peacecar einfach nicht kennen, haben wir mehr Möglichkeiten als die 132er Controller.
      Landschaftsmodellbauer mit 2 für Autorennen begeistern Söhnen.
    • Hallo,

      inzwischen bin ich mit Mario ( noch ohne Licht und Feuer) etliche Runden auf der Teststrecke unterwegs gewesen.

      Es scheint mir so das der fliegende Aufbau der Teile und die langen Drähte gelegentlich zu einer Störung beim Empfang der Datenpakete führen.
      Evtl. ist es auch das PWM Signal, ich konnte es noch nicht richtig ergründen.

      Die Reaktion auf die Geschwindigkeit ist manchmal etwas verzögert, besonders wenn man den Motor frei drehen läst.


      Da muss ich nochmal ran. Auf dem Steckbrett zum Test der neuen Bauteile hatte ich dieses Verhalten nicht.

      Grüße
      Enrico
    • Mario Kart 8 Umbau auf D143

      Bei mir waren es die Blinke-Leds die den Decoder aus dem Tritt brachten. Am liebsten machte dann das Auto beim Gas zurück nehmen einen satten Satz nach vorne und Abflug in der kommenden Kurve.
      passiert heute im Kleinen noch mal bei meinem Polizei Buggy.


      Die Welt braucht mehr Ver-Rückte, seht was die Normalen aus Ihr gemacht haben
      erwachsen werden ist nur etwas für kinder
      denn
      wer nicht mehr träumt, hat keine kraft mehr zum leben