Μετάβαση στο κύριο περιεχόμενο

Αναρτήσεις

Πώς να χρησιμοποιήσετε την αναλογική και ψηφιακή είσοδο/έξοδο του Arduino

  Πώς να χρησιμοποιήσετε την αναλογική και ψηφιακή είσοδο/έξοδο του Arduino (I/O) Το Arduino μπορεί να εισάγει και να εξάγει αναλογικά σήματα καθώς και ψηφιακά σήματα. Το Arduino μπορεί να εισάγει και να εξάγει αναλογικά σήματα καθώς και ψηφιακά σήματα. Ένα αναλογικό σήμα είναι αυτό που μπορεί να λάβει οποιονδήποτε αριθμό τιμών, σε αντίθεση με ένα ψηφιακό σήμα που έχει μόνο δύο τιμές: HIGH και LOW. Για τη μέτρηση της τιμής των αναλογικών σημάτων, το Arduino διαθέτει ενσωματωμένο μετατροπέα αναλογικού σε ψηφιακό (ADC). Το ADC μετατρέπει την αναλογική τάση σε ψηφιακή τιμή. Η συνάρτηση που χρησιμοποιείτε για να λάβετε την τιμή ενός αναλογικού σήματος είναι analogRead(pin). Αυτή η συνάρτηση μετατρέπει την τιμή της τάσης σε μια αναλογική ακίδα εισόδου και επιστρέφει μια ψηφιακή τιμή από 0 σε 1023, σε σχέση με την τιμή αναφοράς. Η προεπιλεγμένη τάση αναφοράς είναι 5 V (για πλακέτες Arduino 5 V) ή 3,3 V (για πλακέτες Arduino 3,3 V). Έχει μια παράμετρο που είναι ο αριθμός pin. Το Arduino δ...

PWM στο Arduino

  PWM στο Arduino Εισαγωγή στο PWM Η διαμόρφωση πλάτους παλμού (PWM)   είναι μια τεχνική με την οποία το πλάτος ενός παλμού μεταβάλλεται διατηρώντας τη συχνότητα του κύματος σταθερή. Είναι μια μέθοδος παραγωγής αναλογικού σήματος με χρήση ψηφιακής πηγής. Γενιά PWM   Ένα σήμα PWM αποτελείται από δύο κύρια στοιχεία που καθορίζουν τη συμπεριφορά του: έναν  κύκλο λειτουργίας  και μια  συχνότητα  .   Τι είναι ο κύκλος λειτουργίας του σήματος Η περίοδος ενός παλμού αποτελείται από έναν  κύκλο  ON   (5V) και έναν    κύκλο  OFF  (0V). Το κλάσμα για το οποίο το σήμα είναι ενεργοποιημένο για μια περίοδο είναι γνωστό ως   κύκλος λειτουργίας  . Π.χ.  Ένας παλμός με περίοδο 10 ms θα παραμείνει ενεργός (υψηλό) για 2 ms. Επομένως, ο κύκλος λειτουργίας θα είναι D = 2ms / 10ms = 20%   Μέσω της τεχνικής PWM, μπορούμε να ελέγξουμε την ισχύ που παρέχεται στο φορτίο χρησιμοποιώντας το σήμα ON-O...

Σχολικό κουδούνι με δυνατότητα πρόσθετου προγραμματισμού

     /* Modified on Nov 24, 2020 Modified by MehranMaleki from Arduino Examples Modified by Panagiotis Toumpaniaris on March 3,2024 */ #include <EEPROM.h> #include <Keypad.h> #include <Wire.h> #include <DS1307RTC.h> #include <LiquidCrystal_I2C.h> #include <TimeLib.h> LiquidCrystal_I2C lcd ( 0x 27 , 16 , 2 ) ;  // I2C address 0x27, 16 column and 2 rows const char * monthName [ 12 ] = {   "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" ,   "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" } ; tmElements_t tm; const int ROW_NUM    = 4 ; // four rows const int COLUMN_NUM = 4 ; // four columns char keys [ROW_NUM][COLUMN_NUM] = {   { '1','2','3', 'A' } ,   { '4','5','6', 'B' } ,   { '7','8','9', 'C' } ,   { '*','0',...

Βαρομετρική πίεση, θερμοκρασία αέρα και μεταλλικό θερμόμετρο υγρών σε οθόνη LCD

 Χρειάζονται κάποιες βιβλιοθήκες για να είναι λειτουργικός ο παρακάτω κώδικας Dallas Temperature https://drive.google.com/file/d/1-k9Zcxs7-vu02EN06LqbDUDBoGQbbmqn/view?usp=drive_link OneWire https://drive.google.com/file/d/10xkNPnv_KbBdNIBFpRPkUGBLGTzU58iL/view?usp=drive_link Για την οθόνη LCD I2C χρειάζεται  https://drive.google.com/file/d/1OPMAmsVRVzX4PpuPRF2CxV5Eiw2gs5Jy/view?usp=drive_link #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd ( 0x 27 , 16 , 2 ) ;  // I2C address 0x27, 16 column and 2 rows const int SENSOR_PIN = 2 ; // Arduino pin connected to DS18B20 sensor's DQ pin OneWire oneWire ( SENSOR_PIN ) ;         // setup a oneWire instance DallasTemperature tempSensor ( & oneWire) ; // pass oneWire to DallasTemperature library #define BME280_ADDRESS 0x 76 unsigned long int temp_raw,pres_raw; // hum_raw, signed long int t_fine; uint16_t dig_T1; ...