Εμφάνιση αποτελεσμάτων : 1 έως 9 από 9

Θέμα: 2 sketch σε arduino mega

  1. #1
    Μέλος
    Όνομα
    george
    Εγγραφή
    Jun 2005
    Περιοχή
    ΤΡΙΚΑΛΑ
    Μηνύματα
    421

    Προεπιλογή 2 sketch σε arduino mega

    καλησπερα.ηθελα να ρωτησω το ποσο ευκολο ειναι σε εναν arduino mega να φορτωσουμε 2 διαφορετικα sketch.φυσικα για το καθε sketch θα δηλωθουν τα αντιστοιχα pin τα οποια θα ειναι διαφορετικα για το καθενα.η πρωτη κατασκευη αφορα εναν ενισχυτη 5.1 που φτιαχνω και η δευτερη ειναι διακοπτης με ρελε για την επιλογη ηχειων.
    η ο κωδικας για την κατασκευη του ενισχυτη ειναι στην παρακατω σελιδα https://daacwaves.blogspot.com/2021/...emote-kit.html και για την δευτερη κατασκευη με τα ρελε ειναι εδω https://www.instructables.com/Arduino-Audio-Switch/
    ποσο ευκολο ειναι να τα φορτωσω και τα δυο σε εναν arduino mega??

    0 Not allowed! Not allowed!

  2. #2
    Μέλος
    Όνομα
    Aνδρέας
    Εγγραφή
    Jan 2010
    Περιοχή
    Πάτρα
    Μηνύματα
    833

    Προεπιλογή

    το να συγχωνεύσεις 2 διαφορετικα sketch σε ένα γίνεται εφόσον:

    --η μνήμη του mega τα χωράει(δεν είδα μέγεθος δεύτερου scetch)

    --να σε φτάσουν οι ακροδέκτες πινς του mega από την μια και από την άλλη αν τα 2 sketch χρησιμοποιούν κοινούς ακροδέκτες,πρέπει να αλλάξεις τους κοινούς με διαθέσιμους,με ότι αυτό σημαίνει για τον κώδικα και αλλαγές αυτού.

    --δεν περιέχει
    π.χ εντολή ή πολλές εντολές καθυστέρησης delay το πρώτο sκetch,που μπορεί να δημιουργήσει προβλήματα στην ταχύτητα εκτέλεσης(αξιοπιστία) του δεύτερου sκetch.

    --να μπορέσεις να τα συχγωνεύσεις σωστά,ώστε να καταφέρεις τον κώδικα να δουλέψει.
    Το χω κάνει 2 φορές και δούλεψε,αλλά χρειάστηκε να αφιερώσω πολύ χρόνο..


    0 Not allowed! Not allowed!

  3. #3
    Μέλος
    Όνομα
    george
    Εγγραφή
    Jun 2005
    Περιοχή
    ΤΡΙΚΑΛΑ
    Μηνύματα
    421

    Προεπιλογή

    ανδρεα καλησπερα.για κατασκευη του ενισχυτη τα πιν ειναι:
    - lcd LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // RS,E,D4,D5,D6,D7
    -για τα υπολοιπα πιν,rotary-button
    #define sw01 9 // SW
    #define sw02 11 // DT
    #define sw03 10 // CLK
    #define sw04 A0 // Input
    #define sw05 A1 // Mute
    #define sw06 A2 // Power
    #define sw07 13 // RELE
    #define sw08 12 // DISPLAY

    τωρα για την κατασκευη με τα ρελε
    // PIN 2 to CH8 relay (amp left channel)
    // PIN 3 to CH7 relay (amp right channel)
    // PIN 4 to CH6 relay (amp center channel)
    // PIN 5 to CH5 relay (amp surround left channel)
    // PIN 6 to CH4 relay (amp surround right channel)
    // PIN 7 to CH3 relay (amp LFE channel)
    // PIN 8 to CH2 relay (amp GND)
    // PIN 9 to CH2 relay (amp GND)


    const int buttonPin = 11;
    const int ledPin1 = 10;
    const int ledPin2 = 12;
    const int ledPin3 = 13;

    φυσικα τα πιν μπορω να τα αλλαξω.ανεβαζω αυτα οπως τα εχει το προγραμμα

    0 Not allowed! Not allowed!

  4. #4
    Μέλος
    Όνομα
    george
    Εγγραφή
    Jun 2005
    Περιοχή
    ΤΡΙΚΑΛΑ
    Μηνύματα
    421

    Προεπιλογή

    // ARDUINO audio switch
    // by ACMECORPORATION
    // Switch audio between 5.1 ch, 2.1 ch or 2 ch
    // pin numbers:
    // PIN 2 to CH8 relay (amp left channel)
    // PIN 3 to CH7 relay (amp right channel)
    // PIN 4 to CH6 relay (amp center channel)
    // PIN 5 to CH5 relay (amp surround left channel)
    // PIN 6 to CH4 relay (amp surround right channel)
    // PIN 7 to CH3 relay (amp LFE channel)
    // PIN 8 to CH2 relay (amp GND)
    // PIN 9 to CH2 relay (amp GND)


    const int buttonPin = 11;
    const int ledPin1 = 10;
    const int ledPin2 = 12;
    const int ledPin3 = 13;
    int buttonPushCounter=0;
    int buttonState = 0;
    int lastButtonState = 0;


    void setup() {
    pinMode(ledPin1, OUTPUT);
    pinMode(ledPin2, OUTPUT);
    pinMode(ledPin3, OUTPUT);
    pinMode(buttonPin, INPUT);
    for(int a=2;a<10;a++){
    pinMode(a, OUTPUT);
    }
    }


    void loop() {


    buttonState = digitalRead(buttonPin);
    if (buttonState != lastButtonState){
    buttonPushCounter++;
    if (buttonPushCounter>2) {
    buttonPushCounter=0;
    }
    if (buttonPushCounter == 1){
    digitalWrite(ledPin2, HIGH);
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin3, LOW);
    for(int a=2;a<7;a++){
    digitalWrite(a, LOW);
    }
    digitalWrite(7, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(9, LOW);
    delay(200);
    }
    if (buttonPushCounter == 2){
    digitalWrite(ledPin3, HIGH);
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin1, LOW);
    for(int a=2;a<9;a++){
    digitalWrite(a, HIGH);
    }
    digitalWrite(9, LOW);
    delay(200);
    }
    if (buttonPushCounter == 0){
    digitalWrite(ledPin1, HIGH);
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin3, LOW);
    for(int a=2;a<9;a++){
    digitalWrite(a, LOW);
    }
    delay(200);
    }
    delay(250);
    }


    }

    0 Not allowed! Not allowed!

  5. #5
    Μέλος
    Όνομα
    Aνδρέας
    Εγγραφή
    Jan 2010
    Περιοχή
    Πάτρα
    Μηνύματα
    833

    Προεπιλογή

    Η πρώτη κατασκευή είναι με ATmega328.Δεν έχουν την ίδια αντιστοίχιση το atmega328 με τον mega.Δηλαδή ο ακροδέκτης π.χ clk του arduino atmega328 δεν είναι στον ίδιο αριθμό πιν με το arduino mega.

    Για μένα ξεκίνα και φτιάξε μόνο το πρώτο κύκλωμα με το arduino mega,αφού κάνεις ότι αλλαγές χρειάζεται στον κώδικα και στα πινς.

    Άν δουλέψει το πρώτο ,τότε και μόνο τότε φτιάξε και το δεύτερο κύκλωμα ξανά μόνο του και εννοείται να δηλώσεις ακροδέκτες που δεν είναι κοινοί και στα 2 κυκλώματα.

    Όταν σου δουλέψουν και τα 2 κυκλώματα μόνα τους ξεκίνα την συγχώνευση του κώδικα και όπου συναντήσεις πρόβλημα τον ανεβάζεις και σε βοηθάμε.


    0 Not allowed! Not allowed!

  6. #6
    Μέλος Το avatar του χρήστη Kernel Panic
    Όνομα
    Kernel Panic
    Εγγραφή
    Aug 2016
    Περιοχή
    Αθήνα
    Μηνύματα
    430

    Προεπιλογή

    Θα χρειαστείς ακόμη 12 pin ελεύθερα στο mega. Δεν κάθομαι να το δω τώρα, αλλά νομίζω ότι σε παίρνει άνετα.
    θέλει μια προσοχή με τα ρελέ των καναλιών που έχει τα pins σε αύξουσα σειρά και χρησιμοποιεί το for για να τα ελέγξει.

    Το ξεκίνησες ποιο πάνω, Μετά τις δηλώσεις των #define sw δήλωσε τα πιν του audio switch,
    μέσα στο setup() ενεργοποιήσετα και στο loop() τα ελέγχεις.

    0 Not allowed! Not allowed!

  7. Ένα μέλος ευχαρίστησε τον Kernel Panic για αυτό το χρήσιμο μήνυμα:

    mikemtb (06-03-24)

  8. #7
    Μέλος
    Όνομα
    Μάρκος
    Εγγραφή
    Mar 2012
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    2.946

    Προεπιλογή

    Η κατασκευή δεν έχει πολλές απαιτήσεις, πιστεύω ότι μπορεί να γίνει και με ένα Atmega328, το πολύ να χρειαστεί και ένα MCP23017

    0 Not allowed! Not allowed!
    Όταν όλα τα άλλα έχουν αποτύχει..... RTFM.
    Short instructions: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>> Good Luck!
    https://diyelectronics-gr.blogspot.gr https://www.facebook.com/groups/872041030200567

  9. #8
    Μέλος
    Όνομα
    george
    Εγγραφή
    Jun 2005
    Περιοχή
    ΤΡΙΚΑΛΑ
    Μηνύματα
    421

    Προεπιλογή

    καλημερα.τις κατασκευες τις εχω φτιαξει με εναν arduino nano ξεχωριστα για τηνν καθε μια κατασκευη και δουλευουν τελεια.απλα επειδη εχω ενα arduino mega2560 ελεγα να τα μαζεψω τις δυο κατασκευες σε μια

    0 Not allowed! Not allowed!

  10. #9
    Μέλος
    Όνομα
    Μάρκος
    Εγγραφή
    Mar 2012
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    2.946

    Προεπιλογή

    Το καλύτερο είναι να μπουν όλα σε μια δική σου πλακέτα και να πιάνουν τον μικρότερο δυνατόν χώρο.
    Ο arduino Mega είναι πολύ πιο ισχυρός και πιο ακριβός από 2 arduino nano και είναι κρίμα να χρησιμοποιηθεί για μια τόσο απλή κατασκευή.

    Πιστεύω πως μπορεί να χρησιμοποιηθεί ένα μόνο arduino nano (ή ακόμη καλύτερα ένα atemega328 ). Για τις εξόδους I/O που χρειάζεσαι μπορείς να κάνεις οικονομία ή/και επέκταση εξόδων. Για παράδειγμα αν στην οθόνη βάλεις ένα module σειριακής επικοινωνίας χρειάζεσαι μόνο 2 ποδαράκια για την οθόνη (και λίγη μετατροπή στο software). Τα buttons μπορείς να τα βάλεις (πάλι με κατάλληλο software) σε ένα μόνο ποδαράκι. Επέκταση Ι/Ο μπορείς να κάνεις με ειδικά πολοκληρωμένα όπως π.χ. το MCP23017 (+16 Ι/Ο) ή με sift register όπως το ΜC74ΗC595.

    0 Not allowed! Not allowed!
    Όταν όλα τα άλλα έχουν αποτύχει..... RTFM.
    Short instructions: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>> Good Luck!
    https://diyelectronics-gr.blogspot.gr https://www.facebook.com/groups/872041030200567

  11. Ένα μέλος ευχαρίστησε τον elektronio για αυτό το χρήσιμο μήνυμα:

    mikemtb (08-03-24)

Παρόμοια Θέματα

  1. Arduino Mega 5V - 2A
    By hackertom in forum Κυκλώματα Τροφοδοτικών
    Απαντήσεις: 9
    Τελευταίο Μήνυμα: 19-07-18, 16:44
  2. Βοήθεια για τροποποίηση arduino sketch
    By profilca in forum Μικροελεγκτές
    Απαντήσεις: 22
    Τελευταίο Μήνυμα: 18-10-16, 21:03
  3. ARDUINO SKETCH ΓΙΑ ΓΚΑΡΑΖ
    By takhs764 in forum Μικροελεγκτές
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 22-10-15, 20:50
  4. arduino ethernet mega?
    By takhs764 in forum Μικροελεγκτές
    Απαντήσεις: 1
    Τελευταίο Μήνυμα: 04-01-12, 13:00

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας