Σελίδα 2 από 55 ΠρώτηΠρώτη 1 2 3 4 12 52 ... ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 11 έως 20 από 543

Θέμα: Απορία για "κώδικα".

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

    Προεπιλογή

    Δεν βρισκω το post μου που λεει (νομιζω παλι στο Fino) ακριβως οτι λεει ο Μανος και τη λογικη σειρα που πρεπει να μαθεις καποια πραγματα εαν θελεις να ασχοληθεις με μΕ (..ακομα και με arduino που σου δινει ετοιμη τροφη).




    Δεν γινεται ο Kωστας (SeAfasia) το παιδι που σου ριχνει DoubleScore στα χρονια.. να καθεται και να γραφει συναρτησεις και προγραμματα για LCD για να μαθει τον PIC ενω μπορουσε απλα να πεταξει μια βιβλιοθηκη.


    Ελεος.Και ποια η λογικη να διορθωσουμε το κωδικα; Χανεται η μαγεια και δεν εχει και νοημα.

    2 Not allowed! Not allowed!

  2. #12
    Banned
    Όνομα
    tsimpidas
    Εγγραφή
    May 2012
    Περιοχή
    Αθηνα
    Μηνύματα
    1.028

    Προεπιλογή

    Κώδικας:
    #include <SPI.h>
    #include <LiquidCrystal.h>//LCD 
    float R1 = 100000.0;//input1 resistor1  
    float R2 = 10000.0;//input1 resistor2
    float R3 = 100000.0;//input2 resistor1
    float R4 = 10000.0;//input2 resistor2
    LiquidCrystal lcd (22, 23, 24, 25, 26, 27);//lcd
    int analogInput1 = 0 ;//mesure input 1 voltage
    int analogInput2 = 1 ;//mesure input 1 voltage
    float vout1 = 0.0;//μεταβλητη εξοδου 1
    float vin1 = 0.0 ;//    >>
    int value1 = 0; //    >>
    float vout2 = 0.0;//μεταβλητη εξοδου 1
    float vin2 = 0.0 ;//    >>
    int value2 = 0; //    >>
    int pinbutton1 = 6;//on off out
    int Relay = 7;//on off out
    int pinbutton2 = 5;//on off out
    int Relay2 = 4;//on off out
    int staterelay1 = LOW ;//on off out
    int statebutton1;//on off out
    int staterelay2 = LOW ;//on off out
    int statebutton2;//on off out
    int previous = LOW; //on off out
    long time = 0;
    long debounce = 500;
    int val; 
    int encoder0PinA = 3;//for encoder
    int encoder0PinB = 2;// for encoder
    int encoder0Pos = 0;//for encoder
    int encoder0PinALast = LOW;//for encoder
    int n = LOW;//for encoder
    int csPin = 10                 ΕΡΩΤΗΜΑΤΙΚΟ ΕΔΩ ΔΕΝ ΘΑ ΒΑΛΕΙΣ 
    
    
    void setup() {
    pinMode (analogInput1, INPUT);
    pinMode (analogInput2, INPUT);
    pinMode ( pinbutton, INPUT );    ΣΕ ΠΟΙΟ pinbutton ΣΤΟ 1 ΣΤΟ 2 ??????
    pinMode ( Relay, OUTPUT);
    lcd.begin (16, 2);
    Serial.begin (9600);
    lcd.print ("DIGITAL PSU FINOS");
    Serial.println ("DIDITAL PSU FINOS ........... WAIT FOR COMANT ");
    pinMode (encoder0PinA,INPUT);
    pinMode (encoder0PinB,INPUT);
    }
    
    
    void loop() {
    value1 = analogRead(analogInput1);//input 1 monitor
     vout1= (value1 * 5.0) / 1024 ;
     vin1 = vout1 / (R2/(R1+R2));
    value2 = analogRead(analogInput2);// input 2 monitor 
     vout2= (value2 * 5.0) / 1024 ;
     vin2 = vout2 / (R2/(R1+R2));
     
     
     if (vin1<1.255) {
      vin1 = 0.0;
      
     }
    lcd.setCursor(0,1);
    lcd.print("VOUT= ");
    lcd.print(vin1);
    Serial.println("Vout = ");
    Serial.println(vin1);
    delay (2);
     if (pinbutton = HIGH) ;  ΣΕ ΠΟΙΟ pinbutton ΣΤΟ 1 ΣΤΟ 2 ??????
      digitalWrite (Relay, HIGH );
    n = digitalRead(encoder0PinA);
       if ((encoder0PinALast == LOW) && (n == HIGH)) {
         if (digitalRead(encoder0PinB) == LOW) {
           encoder0Pos--;
         } else {
           encoder0Pos++;
           
           if (encoder0Pos<0);
           encoder0Pos= 0;
         }
         Serial.print (encoder0Pos);
         Serial.print ("/");
       } 
       encoder0PinALast = n;
     }
    [/QUOTE]
    Φτιαξε τα παραπανω που σου εχω με κοκκινο και θα σου τρεξει![/QUOTE]




    Ναι τωρα δουλευει.

    Βαγγελη κανε copy-paste

    #include <SPI.h>#include <LiquidCrystal.h>//LCD
    float R1 = 100000.0;//input1 resistor1
    float R2 = 10000.0;//input1 resistor2
    float R3 = 100000.0;//input2 resistor1
    float R4 = 10000.0;//input2 resistor2
    LiquidCrystal lcd (22, 23, 24, 25, 26, 27);//lcd
    int analogInput1 = 0 ;//mesure input 1 voltage
    int analogInput2 = 1 ;//mesure input 1 voltage
    float vout1 = 0.0;//μεταβλητη εξοδου 1
    float vin1 = 0.0 ;// >>
    int value1 = 0; // >>
    float vout2 = 0.0;//μεταβλητη εξοδου 1
    float vin2 = 0.0 ;// >>
    int value2 = 0; // >>
    int pinbutton1 = 6;//on off out
    int Relay = 7;//on off out
    int pinbutton2 = 5;//on off out
    int Relay2 = 4;//on off out
    int staterelay1 = LOW ;//on off out
    int statebutton1;//on off out
    int staterelay2 = LOW ;//on off out
    int statebutton2;//on off out
    int previous = LOW; //on off out
    long time = 0;
    long debounce = 500;
    int val;
    int encoder0PinA = 3;//for encoder
    int encoder0PinB = 2;// for encoder
    int encoder0Pos = 0;//for encoder
    int encoder0PinALast = LOW;//for encoder
    int n = LOW;//for encoder
    int csPin = 10;




    void setup() {
    pinMode (analogInput1, INPUT);
    pinMode (analogInput2, INPUT);
    pinMode ( analogInput2, INPUT ); //ΣΕ ΠΟΙΟ pinbutton ΣΤΟ 1 ΣΤΟ 2 ??????
    pinMode ( Relay, OUTPUT);
    lcd.begin (16, 2);
    Serial.begin (9600);
    lcd.print ("DIGITAL PSU FINOS");
    Serial.println ("DIDITAL PSU FINOS ........... WAIT FOR COMANT ");
    pinMode (encoder0PinA,INPUT);
    pinMode (encoder0PinB,INPUT);
    }




    void loop() {
    value1 = analogRead(analogInput1);//input 1 monitor
    vout1= (value1 * 5.0) / 1024 ;
    vin1 = vout1 / (R2/(R1+R2));
    value2 = analogRead(analogInput2);// input 2 monitor
    vout2= (value2 * 5.0) / 1024 ;
    vin2 = vout2 / (R2/(R1+R2));


    if (vin1<1.255) {
    vin1 = 0.0;

    }
    lcd.setCursor(0,1);
    lcd.print("VOUT= ");
    lcd.print(vin1);
    Serial.println("Vout = ");
    Serial.println(vin1);
    delay (2);
    if (analogInput2 = HIGH) ; //
    digitalWrite (Relay, HIGH );
    n = digitalRead(encoder0PinA);
    if ((encoder0PinALast == LOW) && (n == HIGH)) {
    if (digitalRead(encoder0PinB) == LOW) {
    encoder0Pos--;
    } else {
    encoder0Pos++;

    if (encoder0Pos<0);
    encoder0Pos= 0;
    }
    Serial.print (encoder0Pos);
    Serial.print ("/");
    }
    encoder0PinALast = n;
    }

    2 Not allowed! Not allowed!

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

    finos (17-12-15)

  4. #13
    Μέλος Το avatar του χρήστη finos
    Όνομα
    Βαγγελης
    Εγγραφή
    Feb 2013
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    1.775

    Προεπιλογή

    βρε μπαμπινο δεν ηθελα κι ουτε θελω σε καμια περιπτωση να εναντιωθώ στον μανο τι του είπα απλος οτι δεν θεωρω εξωτική την spi
    κι ξέρεις κάτι μου αρεσει να βουτάω στα δύσκολα αν θημαστε στην αρχη του προηγούμενού καλοκαιριού (ιουνιος 2015 ) ανεβασα ενα κωδικα για ενα bluetooth αυτοκινιτακι ;απο τοτε εγραψα κωδικα κι για αλλα πραματα πχ ενα αυτοματο σύστημα άρδευσης με ελενχο θερμοκρασιας , ηγρασιας , ηλεκτροβανες κτλ (να βρω τον κωδικα να σας τον δειξω) θέλω να ευχαριστήσω δεν πρόσεξα ποιος επισήμανε τα λάθει στον κωδικά κι ποιος τα διόρθωσε

    1 Not allowed! Not allowed!

  5. #14
    Μέλος Το avatar του χρήστη finos
    Όνομα
    Βαγγελης
    Εγγραφή
    Feb 2013
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    1.775

    Προεπιλογή

    με επιτυχία ολοκλήρωσα εάν κομμάτι του κώδικα που :παίρνει την τιμή του encoder και την στέλνει στο ψηφιακό ποτενσιόμετρο
    αλλά θέλω επίσης να βάλω μια προστασία δηλαδή αν φτάσει στο μάξιμουμ του ποτενσιόμετρου (256) να σταματάει να μετράει κι
    επιεί έχω 2 εξόδους θέλω να έχω 2 encoders κι όταν παρατηρείτε αλλαγή στον έναν αν αλλάζει την αντίστοιχη τιμή κι όταν παρατηρείτε στο άλλο encoder να αλλάζει το άλλο ποτενσιόμετρο

    Κώδικας:
    #include <SPI.h>;#include <LiquidCrystal.h>;//LCD 
    float R1 = 100000.0;//input1 resistor1  
    float R2 = 10000.0;//input1 resistor2
    float R3 = 100000.0;//input2 resistor1
    float R4 = 10000.0;//input2 resistor2
    LiquidCrystal lcd (22, 23, 24, 25, 26, 27);//lcd
    int analogInput1 = 0 ;//mesure input 1 voltage
    int analogInput2 = 1 ;//mesure input 1 voltage
    float vout1 = 0.0;//μεταβλητη εξοδου 1
    float vin1 = 0.0 ;//    >>
    int value1 = 0; //    >>
    float vout2 = 0.0;//μεταβλητη εξοδου 1
    float vin2 = 0.0 ;//    >>
    int value2 = 0; //    >>
    int pinbutton1 = 6;//on off out
    int Relay1 = 7;//on off out
    int pinbutton2 = 5;//on off out
    int Relay2 = 4;//on off out
    int staterelay1 = LOW ;//on off out
    int statebutton1;//on off out
    int staterelay2 = LOW ;//on off out
    int statebutton2;//on off out
    int previous = LOW; //on off out
    long time = 0;
    long debounce = 500;
    int val; 
    int encoder0PinA = 3;//for encoder
    int encoder0PinB = 2;// for encoder
    int encoder0Pos = 0;//for encoder
    int encoder0PinALast = LOW;//for encoder
    int n = LOW;//for encoder
    int csPin1 = 10;
    int csPin2 = 9;
    void setup() {
    pinMode (analogInput1, INPUT);
    pinMode (analogInput2, INPUT);
    pinMode ( pinbutton1, INPUT );
    pinMode ( Relay1, OUTPUT);
    lcd.begin (16, 2);
    Serial.begin (9600);
    lcd.setCursor(0,0 );
    lcd.print ("DIGITAL PSU FINOS");//fancy 
    Serial.println ("DIDITAL PSU FINOS ........... WAIT FOR COMANT ");//fancy 
    pinMode (encoder0PinA,INPUT);//roterry encode 
    pinMode (encoder0PinB,INPUT);
    SPI.begin();
    pinMode(csPin1, OUTPUT);
    pinMode(csPin2, OUTPUT);
    }
    
    
    
    
    void loop() {
    value1 = analogRead(analogInput1);//input 1 monitor
     vout1= (value1 * 5.0) / 1024 ;
     vin1 = vout1 / (R2/(R1+R2));
    value2 = analogRead(analogInput2);// input 2 monitor 
     vout2= (value2 * 5.0) / 1024 ;
     vin2 = vout2 / (R2/(R1+R2));
     
     
     if (vin1<1.255) {
      vin1 = 0.0;
      
     }
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("VOUT1= ");
    lcd.print(vin1);
    lcd.setCursor(1,0);
    lcd.print("VOUT2= ");
    lcd.print(vin2);
    Serial.println("Vout1 = ");
    Serial.println(vin1);
    Serial.println("Vout2 = ");
    Serial.println(vin2);
    delay (2);
     if (pinbutton1 = HIGH) ;
      digitalWrite (Relay1, HIGH );
    
    
    n = digitalRead(encoder0PinA);// roterry encoder read data start 
       if ((encoder0PinALast == LOW) && (n == HIGH)) {
         if (digitalRead(encoder0PinB) == LOW) {
           encoder0Pos--;
         } else {
           encoder0Pos++;
           
           if (encoder0Pos<0);
           encoder0Pos= 0;
         }
         
       } 
       encoder0PinALast = n;//roterry encoder read date end 
       digitalWrite (csPin1,LOW);//spi bus mpc 4151 first
       SPI.transfer(0);
       SPI.transfer(encoder0Pos);
       digitalWrite (csPin2,HIGH);
       
     }
    σας εχω λιγω κουρασει;

    0 Not allowed! Not allowed!

  6. #15
    Μέλος Το avatar του χρήστη finos
    Όνομα
    Βαγγελης
    Εγγραφή
    Feb 2013
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    1.775

    Προεπιλογή

    κανεις νο one ?

    0 Not allowed! Not allowed!

  7. #16
    Μέλος
    Όνομα
    Τάκης
    Εγγραφή
    Jul 2012
    Περιοχή
    Πειραιας
    Μηνύματα
    417

    Προεπιλογή

    ''Serial.println ("DIDITAL PSUFINOS ........... WAIT FOR COMANT");//fancy''
    Κανείς δεν θα μπορεί να αμφισβητήσει ότι αυτό το τροφοδοτικό είναι του φίνου βλέποντας στην LCD το COMANT !

    3 Not allowed! Not allowed!

  8. #17
    Μέλος Το avatar του χρήστη finos
    Όνομα
    Βαγγελης
    Εγγραφή
    Feb 2013
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    1.775

    Προεπιλογή

    γιατι να μιν βαλω κατι fancy

    0 Not allowed! Not allowed!

  9. #18
    Μέλος Το avatar του χρήστη The_Control_Theory
    Όνομα
    Tedi
    Εγγραφή
    Apr 2012
    Περιοχή
    Βόλος
    Μηνύματα
    890

    Προεπιλογή

    Γειά σου Φίνο.

    Να σου πω ένα κόλπο για το μέλλον να χρησιμοποιείς. Πολλά κόλπα μάλλον.

    1. Τα πάντα τελειώνουν με ερωτηματικό ( τέτοιο -> ; ) ΥΠΑΡΧΟΥΝ ΠΕΡΙΠΤΩΣΕΙΣ ΛΙΓΕΣ ΠΟΥ ΔΕΝ ΤΕΛΕΙΩΝΟΥΝ. Δοκιμαζε στον μεταγλωτιστή και βάλε αν βγάζει λάθος εκεί που δεν έχει
    2. Χώριζε τον κώδικα ( πχ αυτόν που συζητάμε τώρα ) σε δύο στρατόπεδα. Αυτόν που λειτουργεί και σε αυτόν που δεν λειτουργεί( δηλαδή βγάζει λάθη) με την χρήση σχολίων //. (Να τον πρασιζίζεις)
    3. Καρτερικά και με προσευχή βγαζε ένα ένα τα σχόλια // μέχρι να δουλέψει.
    4. Αν όλα πάνε καλά υπάρχει και level 2.

    Παρατηρώ ότι κάνεις λάθη ορθογραφίας. Δεν είναι κακό απλά συνήθως κουράζουν τον κόσμο που διαβάζει τα άρθρα σου και τους κάνει να μην σου απαντάνε.
    Αν προσπαθήσεις να γράψεις πιό εύκολα για αυτούς που διαβάζουν πιστεύω να σου απαντάνε περισσότεροι και να μαθαίνεις περισσότερα.

    Εύχομαι καλές κατασκευές.

    4 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη The_Control_Theory : 18-12-15 στις 23:34

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

    Muttley Black (18-12-15)

  11. #19
    Μέλος Το avatar του χρήστη Muttley Black
    Όνομα
    Ανδρέας
    Εγγραφή
    Apr 2014
    Περιοχή
    Ελληνικό
    Μηνύματα
    289

    Προεπιλογή

    Το thanks είναι για τον τρόπο που "μίλησες".

    1 Not allowed! Not allowed!

  12. #20
    Μέλος Το avatar του χρήστη finos
    Όνομα
    Βαγγελης
    Εγγραφή
    Feb 2013
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    1.775

    Προεπιλογή

    1 το ξέρω απλός μερικές τα ξεχναω
    2 ωραία μαγκια
    4 level 2;

    0 Not allowed! Not allowed!

Σελίδα 2 από 55 ΠρώτηΠρώτη 1 2 3 4 12 52 ... ΤελευταίαΤελευταία

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

  1. Απαντήσεις: 8
    Τελευταίο Μήνυμα: 01-05-20, 14:51
  2. Απαντήσεις: 1
    Τελευταίο Μήνυμα: 27-05-11, 08:48
  3. Απαντήσεις: 0
    Τελευταίο Μήνυμα: 22-10-10, 23:51
  4. Απαντήσεις: 9
    Τελευταίο Μήνυμα: 22-02-10, 14:01
  5. Απαντήσεις: 39
    Τελευταίο Μήνυμα: 17-04-09, 13:43

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

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