Sketch an Steckbrett Arduino anpassen

Ich habe mir einen eigenständigen Arduino auf Steckbrett aufgebaut und, nachdem nun die Pin-Nummern ja nicht mehr dieselben sind wie auf dem Origininal -Arduino-Board, musste ich selbige ändern. Anstatt Pins 2, 3, 4, 5 ,6,7, 8, 13 und 9, 10, 11,12 verwende ich die äquivalenten Pins 4, 5, 6, 11, 12, 13, 14, 19, 15,16,17 und 18, also die entsprechenden Anschlüsse für den eigenständig aufgebauten Controller ohne das Arduino- Board, aber der Sketch läuft nicht (compilieren lässt er sich natürlich).
Auf dem Original- Uno-Board läuft der Sketch einwandfrei, in der Steckbrettversion nicht. Ich habe schon alles versucht.
Es handelt sich um diesen Countdown-Timer:
Arduino Einstellbarer Countdown-Timer mit 7-Segment-Anzeige - Hackster.io
Ich möchte den eigenständig ohne Arduino-Board betreiben und dann zusammen mit einer selbstgeätzten Platine in ein hübsches Gehäuse einbauen.

Kann mir jemand einen guten Rat geben? Vielen Dank schon mal im Voraus!

Gerhard

Dan must du die Pins nach Datenblatt anpassen nicht nach Steckbrett.
Schätze mall dass das ist ein ATMEGA328P- PN in DIP /DIL Format, ist dein Sketch schon drauf ?
Foto machen und einstellen.

[edit]
Vergiss, was ich geschrieben habe.
Ich mir Dein

mapping
                      AVR            
#define aPin 2     // 4       
#define bPin 3     // 5 
#define cPin 4     // 6 
#define dPin 5     // 11
#define ePin 6     // 12
#define fPin 7     // 13
#define gPin 8     // 14
#define dotPin 13  // 19

#define c1Pin 9    // 15
#define c2Pin 10   // 16
#define c3Pin 11   // 17
#define c4Pin 12   // 18

angesehen. Das passt 1:1 - Du benutzt die selben Pins.
Also brauchst Du nix anpassen.

Das Foto vom Aufbau wäre trotzdem hilfreich
Die PIN-Zuweisung ist nicht an die Pins des Controllers gebunden. Dazwischen gibt es noch ein Mapping. Siehe
Du kannst jetzt ein eigenes Mapping machen, aber das halte ich für nicht zielführend.
Baue Deinen Sketch um, das die PIN-Zuweisungen denen auf dem Arduino entsprechen.

Mach mal nen Foto vom Aufbau. Dann mappen wir das um.

Wenn du in der Software die #define Anweisungen auf die Pinnummern korrekt umgestellt hast und es funktioniert nicht, bleibt eigentlich nur ein „Verkabelungsfehler“ auf dem Steckbrett und/oder falsche Komponenten.

Bei 7-Segmentanzeigen wird sich gerne mal bei der gemeinsamen Kathode oder Anode vertan.

Mit einem FTDI Adapter der an GND und dem TX Pin (PD1 Pinnummer 3) angeschlossen ist, kannst Du den Sketch mit Hilfe von Serial.print auch debuggen.

Die Aussage beruht auf der Annahme, dass Du einen Atmega 328P verwendest. Leider hast Du weder deinen angepassten Code hier gezeigt, noch hast Du mitgeteilt welchen MC du verwendest.

Da kann eine Aussage nur vage bleiben. Deine Zahlenangaben deuten aber auf einen Atmega hin.

Die zweite Frage wie ist das mit dem Quarz, oder willst du den internen Oscilator nutzen

Wenn das Hochladen der Software per ISP funktioniert, kann es ja nicht so ganz falsch angeklemmt sein. Allerdings wurde nur davon gesprochen, dass der Code sich compilieren lässt. Es bestehen also noch Zweifel, ob der Code überhaupt auf dem MC angekommen ist.

Man kan ja die Bausteine tauschen, aufspielen usw.
Nur danach will die MCU 16Mhz sehen

Es ist ein Atmega328P, also der gängige für den UNO. Leider habe ich keinen Schaltplan, sondern nur das Platinen-Layout, ich habe den ATMega328P also schon auf einem eigenen , wirklich richtig verdrahteten Print aufgebaut. Photos schicke ich dann gleich mal.
Danke einstweilen!

Das ist die Grundplatine nach dem Schaltplan von der Seite, die ich geschickt habe

Und hier die zweite Platine mit dem 4-stelligen Display und den 3 Tastern.

Ich habe den Controller mit den äquivalenten, neuen Pineinstellungen auf dem Originial-UNO-Board geflasht und dann den µC in die Fassung meines Eigenbaus gesteckt.

Was sollen die Platinenbildchen helfen, wenn Du mit deinem Breadboardaufbau Probleme hast? Aber wenn da „garantiert“ alles richtig aufgebaut ist, kann es ja nur noch die Software sein.

Dann weißt Du ja, wo Du suchen musst.

Ja eben und drum dachte ich mir, dass die Schaltung mit den angepassten Pins passt. Es braucht meiner Ansicht nach sonst nichts geändert werden? Ich arbeite mit dem internen Takt, also verwende den 16MHz-Quarz nicht und das Display hat Common Cathode. das hab ich noch umgestellt.


Leider habe ich nicht mehr als die Aufnahmen


Das wäre die Display-Platine mit den 3 Tastern

Hier die Rückseiten

Leider weiss ich nicht, was am Sketch ausser den Pin-Nummern sonst noch geändert werden muss, wenn ich das Projekt eigenständig betreiben will.

Leider habe ich nur die Aufnahmen

Bei Internentakt funktioniert das nicht, die Fuse müssen anders gesetzt werden und vertägt nur 3,3V, so wie ich das könne

Warum willst Du die Pinnummern verändern, das verstehe ich nicht. Das Programm sieht doch nicht, ob drumrum eine UNO-Platine oder Dein Selbstbau ist.

Hast Du die Fuses entsprechend verändert?

Der Fehler versteckt sich immer da, wo Du nicht suchst :wink:

Irgendwo verrenst du dich zwischen deinem "Programmieren auf dem Arduino Board" und "Kein Quartz". Andererseits hast du auf der Selbstbauplatine auch einen Quartz,... super verwirrend - auch für mich.

F1: Wie flasht du deinen 328 genau? Wenn du keinen Quartz nutzt, kanns ja nicht mit dem UNO Bootloader und somit auch nicht mit den UNO Pinmapping sein.

F2: Wenn über USB/einen Bootloader - welcher Core genau mit welchen Einstellungen?

F3: Bitte stelle einen Schaltplan zur Verfügung. Die bisherigen Bilder taugen nix.

F4: ein erster Hardware-Test soll wohl immer ein einfacher Blinksketch mit Arduino Pin 13 sein? Läuft der bei dir?

Das kann ich nicht erkennen:

Speed Grade: 0 - 4MHz@1.8 - 5.5V, 0 - 10MHz@2.7 - 5.5.V, 0 - 20MHz @ 4.5 - 5.5V