Εμφάνιση 1-4 από 4
  1. #1
    Εγγραφή
    07-11-2006
    Ηλικία
    39
    Μηνύματα
    290
    Downloads
    5
    Uploads
    0
    Τύπος
    ADSL HOL Full
    Ταχύτητα
    6144/1024
    ISP
    HOL
    DSLAM
    ΟΤΕ - ΚΑΛΑΜΑΡΙΑΣ
    Σας παραθέτω ένα ερασιτεχνικό προγραμματάκι που έκανα το οποίο δέχεται εντολή απο ένα remote control panasonic ή απο διακοπή μίας ακτίνας φωτός για να ανάψει με την βοήθεια ενός relay ένα φώς.
    Εδώ είναι ο κώδικας....
    <?PHP:
    #include <IRremote.h>

    int RECV_PIN 7;
    int lightPin 0;  //define a pin for Photo resistor
    int ledPin=11;     //define a pin for LED
     
    int a=1;
     
     
    IRrecv irrecv(RECV_PIN);

    decode_results results;

    void setup()
    {
        
    Serial.begin(9600);  //Begin serial communcation
        
    pinModeledPinOUTPUT );
        
    irrecv.enableIRIn();
    }

    void dump(decode_results *results) {
      
    int count results->rawlen;
      
    int take_control results->value;
      
      if (
    take_control ==) { a++; }//
    delay(200);
        
        
    }

    void loop()
    {
       
    int sss =analogRead(lightPin);
      if (
    irrecv.decode(&results)) {
        
    dump(&results);
        
    irrecv.resume(); // Receive the next value
      
    }
       
        if (
    sss<260) { a++; delay(300);} 
     
    Serial.println(a);   
       if (
    ==0) { digitalWrite(ledPin,HIGH);  } 
    else { 
    δ
    digitalWrite
    (ledPin,LOW);
    }                                            
       
    delay(100); //short delay for faster response to light.



    • Στην θέση του led μπορείτε να συνδέσετε με παροχή 220 v και οποιαδήποτε φώτα επιθυμείτε αλλά ΠΡΟΣΟΧΗ τα 220V είναι επικίνδυνα εάν δεν γνωρίζεται μην το επιχειρήσετε!

    • Εδώ σας έχω την βιβλιοθήκη που χρειάζεται για την αποκωδικοποίηση του τηλεκοντρόλ σας, εάν δεν είναι πανασόνικ πρέπει να αλλάξετε τον κώδικα.
      http://arcfn.com (το επισύναψα)

    Η λογική για το φωτοκύτταρο είναι να ανάβει το φως όταν εισέρχομαι σε έναν χώρο.

    Ελπίζω να σας ωθήσει να ασχοληθείτε με το αντικείμενο και κρίμα που δεν έχω κάμερα να ανεβάσω κανα video!!
    Attached Files Attached Files
    Τελευταία επεξεργασία από το μέλος nt5352 : 15-05-10 στις 20:51.

  2. #2
    Εγγραφή
    24-12-2006
    Περιοχή
    Νότια Φινλανδία
    Μηνύματα
    47.081
    Downloads
    22
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    17640/1020
    ISP
    Forthnet
    DSLAM
    Forthnet - ΒΥΖΑΝΤΙΟ
    Router
    Asus DSL-N17U
    SNR / Attn
    1.0(dB) / 20.2(dB)
    Path Level
    Interleaved
    Σε πρώτη φάση, πάτα "Επεξεργασία" στο μήνυμά σου, και μίκρυνε τα γραφικά, γιατί τόσο μεγάλα, απαγορεύονται απο τους κανονισμούς του φόρουμ.Ανέβασε την φωτο στο http://imageshack.us/, και μετά διάλεξε "Forum Thumbnail".
    Runtime Erro
    Τον Ken Lee, τον ξέρετε ;
    Με τη βοήθεια του θεού, λεφτά υπάρχουν.

  3. #3
    Εγγραφή
    08-12-2005
    Περιοχή
    Καλλιθεα, Αθηνα
    Μηνύματα
    138
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL
    Ταχύτητα
    24576/1024
    ISP
    Conn-x OTE
    DSLAM
    ΟΤΕ - ΚΑΛΛΙΘΕΑΣ ΑΘΗ
    Router
    3COM W/M-RT
    SNR / Attn
    14(dB) / 13(dB)
    Ωραιο ιδεα και υλοποιηση.
    Προφανως εχεις Panasonic τηλεοραση και θελεις να αναβεις και τα φωτα στο σαλονι με το τηλεκοντρολ της, σωστα?
    Επισης θελεις να αναβει το φως οταν μπαινεις στο δωματιο.
    Φανταζομαι οτι υπαρχει καποια laser διοδος απο την αλλη μερια που με το φωτοκυταρο φτιαχνει καποιο trip-wire ε?

    Αλλα εχω μερικες ερωτησεις σχετικα με τον κωδικα, γιατι και εγω ειμαι σχετικα νεος με τους AVR.

    int count = results->rawlen;
    int take_control = results->value;
    Εδω οριζεις την "count" αλλα δεν την ξαναχρησιμοποιείς. Γιατι?
    Ειπσης το "->" τι σχεση οριζει μεταξυ "results" και "rawlen"?
    Oι μεταβλητες rawlen και results που ειναι ορισμενες στον κωδικα, ή ειναι μερος της βιβλιοθήκης IRremote.h?


    if (a % 2 ==0) { digitalWrite(ledPin,HIGH); }
    else {
    δ
    digitalWrite
    (ledPin,LOW);
    Το συμβολο "%" κανει καποια πραξη μεταξυ του "a" και του 2? Αν ναι ποια ειναι?
    Μεσα στον ορισμο του else, το ελληνικο γραμμα "δ" τι ακριβως κανει?
    So Loooong (and thanks for all the fish)

  4. #4
    Εγγραφή
    07-11-2006
    Ηλικία
    39
    Μηνύματα
    290
    Downloads
    5
    Uploads
    0
    Τύπος
    ADSL HOL Full
    Ταχύτητα
    6144/1024
    ISP
    HOL
    DSLAM
    ΟΤΕ - ΚΑΛΑΜΑΡΙΑΣ
    Είσαι ωραίος γιατί δεν το είχα προσέξει!!!
    το δ είναι τυπογραφικό λάθος.
    και το
    int count = results->rawlen; είναι άχρηστο απλά ξέχασα να το σβήσω....

    τώρα στις εξηγήσεις το results είναι πίνακας με δίαφορα πεδία ένα απο αυτά είναι και το value, επίσης είναι μέρος της βιβλιοθήκης όπως σωστά λές...
    if (a % 2 ==0) σημαίνει ότι εάν η διαίρεση του α με το 2 δίνει υπόλοιπο 0 κάνε αυτο... με αλλά λόγια ελέγχεις εάν είναι μονός η ζυγός το α...

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

  1. Arduino-Rgb Led οθόνη
    Από nt5352 στο φόρουμ Hardware Γενικά
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 13-04-10, 14:44
  2. Ασύρματος διακοπτης
    Από bannedteam στο φόρουμ Hardware Γενικά
    Μηνύματα: 3
    Τελευταίο Μήνυμα: 07-07-09, 23:26
  3. Βρύση με φωτοκύτταρο ?
    Από BeholderX στο φόρουμ Εκτός θέματος
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 29-06-09, 07:05
  4. Προβλημά με Infrared
    Από Anny στο φόρουμ Σκληροί δίσκοι, αποθηκευτικά μέσα και λοιπά περιφερειακά
    Μηνύματα: 1
    Τελευταίο Μήνυμα: 23-01-06, 19:35
  5. Διακόπτης audio
    Από DSLamer στο φόρουμ Hardware Γενικά
    Μηνύματα: 17
    Τελευταίο Μήνυμα: 14-08-05, 13:18

Tags για αυτό το Θέμα

Bookmarks

Bookmarks

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

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας