Σελίδα 2 από 2 ΠρώτηΠρώτη 1 2
Εμφάνιση αποτελεσμάτων : 11 έως 14 από 14

Θέμα: arduino + l298n + analog joy

  1. #11
    Μέλος Το avatar του χρήστη SProg
    Όνομα
    Σάββας
    Εγγραφή
    Mar 2014
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    2.612

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από johnkoreli Εμφάνιση μηνυμάτων
    3. επίσης κάτι που ξέχασα να αναφέρω είναι πως όταν οι τιμές του joy έπαιζαν 0-510, στην αριστερή θέση δηλαδή, όταν τερμάτιζε το joy για κάποιο λόγο σταματούσε το monitor να δίνει τιμές.
    Αφου το 0 δε το περιλαμβάνεις στη συνθήκη ελέγχου...

    1 Not allowed! Not allowed!

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

    johnkoreli (04-04-20)

  3. #12
    Νέο Μέλος
    Όνομα
    Αργυρης
    Εγγραφή
    Apr 2020
    Περιοχή
    Βεροια
    Μηνύματα
    7

    Προεπιλογή

    Πολύ σωστά. Μπράβο. Έχω θολώσει κ δεν βλέπω βασικά πράγματα.

    0 Not allowed! Not allowed!

  4. #13
    Νέο Μέλος
    Όνομα
    Αργυρης
    Εγγραφή
    Apr 2020
    Περιοχή
    Βεροια
    Μηνύματα
    7

    Προεπιλογή

    ΛΥΘΗΚΕ
    Λοιπόν, 2 προβλήματα υπήρχαν τελικά και όχι ένα.
    1. αρχικά η αριστερή μεριά που νόμιζα ότι τρέχει κανονικά, στην πράξη δεν άλλαζε την ταχύτητα του stepper ιδιαίτερα. Με μπέρδευαν οι τιμές του μόνιτορ γιατί έβλεπα ταυτόχρονα και το αποτέλεσμα της map και την τιμή του joy.
    Στην ουσία η map έφερνε ψιλό κουλές τιμές από 380 μέχρι 450 αντί 0-450.
    Το λάθος ήταν στην map. Μιας κ έχει πολλ/μους και διαιρέσεις λέω το out δε μπορεί να είναι ΙΝΤ. το γύρισα σε float και όλα καλά !!

    Κώδικας:
    int mymap(int x, int in_min, int in_max, float out_min, float out_max) {  
    return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;}

    2ο. Πρόβλημα, απ ότι κατάλαβα "δυσκολευόταν" να φέρει τιμές κοντά στο 0. κάτι παίζει με μαθηματικά φαντάζομαι στην map.
    Οπότε άλλαξα την κατώτερη ταχύτητα σε 80 μιας και είναι αρκετά αργή στην ουσία και πρακτικά κάνω τη δουλειά μου με το παραπάνω.
    όποτε..

    Κώδικας:
    if ( (vrx_data >= 540)  &&   (vrx_data <= 1023)   ) //τιμες οπου το joy ειναι στην δεξια θεση
    {
        xMap = mymap(vrx_data, 540,1023, 80,450);
        myStepper.setSpeed(xMap);
        myStepper.step(-32);
        Serial.println(xMap);
    //    Serial.println(vrx_data);
    
    
    }
    Υ.Γ. Ευχαριστώ τους nkarama και SProg για την διευκρίνηση των τιμών με το "=". Ήταν το έναυσμα να λύσω όλα τα υπόλοιπα.

    1 Not allowed! Not allowed!

  5. #14
    Μέλος Το avatar του χρήστη SProg
    Όνομα
    Σάββας
    Εγγραφή
    Mar 2014
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    2.612

    Προεπιλογή

    Γενικά καλό είναι όπου υπάρχει IF να υπάρχει και ELSE. Ειδικά κατά την ανάπτυξη.

    0 Not allowed! Not allowed!

Σελίδα 2 από 2 ΠρώτηΠρώτη 1 2

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

  1. Φρουτάκι JOY@NET
    By polozark in forum Ηλεκτρονικά
    Απαντήσεις: 0
    Τελευταίο Μήνυμα: 27-11-19, 20:29
  2. Απαντήσεις: 12
    Τελευταίο Μήνυμα: 20-06-16, 13:24
  3. l298n
    By hackertom in forum Μικροελεγκτές
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 02-02-16, 21:57
  4. keypad for arduino uses only one analog input
    By apollonic in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 14-03-14, 19:10
  5. Arduino μετρησεις σε analog inputs προβλημα
    By Kostas_21 in forum Μικροελεγκτές
    Απαντήσεις: 10
    Τελευταίο Μήνυμα: 10-03-14, 12:44

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

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