Ardumotive Arduino Greek Playground
  • Home
    • About us
    • Contact
    • License
  • Arduino
    • Tutorials
    • Workshop
  • Raspberry Pi
  • DIY 3D Printer
  • News
    • Events >
      • Unboxing & Review
    • Blog
The 1st Arduino Playground in Greece - Open Source Hardware

6η κατασκευή - Ας φτιάξουμε μια έξυπνη Arduino Λάμπα!

26/9/2014

Comments

 
Picture
Σε αυτό το άρθρο θα φτιάξουμε κάτι χρήσιμο με το Arduino uno, χρησιμοποιώντας ότι μάθαμε στα προηγούμενα μαθήματα μας. Στόχος μας είναι να κάνουμε μια απλή λάμπα να ανάβει αυτόματα σε χαμηλό φωτισμό και μέσω μιας μεταβλητής αντίστασης να μπορούμε να ρυθμίσουμε την φωτεινότητα της.

Τα υλικά που θα χρειαστούμε:
  1. Arduino uno
  2. Λάμπα (με μπαταρίες)
  3. Tranzistor NPN
  4. Button
  5. 2x 10ΚΩ αντίσταση
  6. Ποτενσιόμετρο 5ΚΩ
  7. Φωτοαντίσταση

Το κόστος της κατασκευής (χωρίς το arduino uno) δεν ξεπερνάει τα 10 ευρώ!

Το κύκλωμα μας σε Breadboard
Picture
Το αρχείο με τον κώδικα περιέχει σχόλια στα ελληνικά για την κατανόηση του.
Κώδικας (download)

Comments

Η σειριακή οθόνη και η χρήση της Serial.print() - Arduino IDE

21/9/2014

Comments

 
Picture
Συχνά στις κατασκευές μας θα χρειαστεί να στείλουμε ή να λάβουμε δεδομένα στο Arduino uno. Αυτή η επικοινωνία γίνεται μέσω της σειριακής θύρας του Arduino και πιο συγκεκριμένα μέσω των pins Rx και Tx που υπάρχουν πάνω σε αυτό.
Picture
Τα δεδομένα λαμβάνονται απ' το Arduino uno μέσω του pin Rx (Receive) και στέλνονται απ' αυτό μέσω του pin Tx (Transmit). Για να γίνει σωστά η επικοινωνία θα πρέπει το Rx και Tx του Arduino να συνδεθούν σταυρωτά με τα αντίστοιχα Rx και Tx της μονάδας που θέλουμε να γίνει η σειριακή σύνδεση (πχ GPS, Bluetooth module).
Picture
Η επικοινωνία μέσω του Η/Υ γίνεται μέσα απ' την σειριακή οθόνη (serial monitor) του Arduino IDE. Δεν χρειάζεται να κάνετε τίποτα με τα Rx και Tx, απλά συνδέστε το καλώδιο usb.
Picture
Για να επιτευχθεί η σωστή επικοινωνία θα πρέπει και οι δύο πλευρές, H/Y και Arduino, να έχουν τον ίδιο ρυθμό μετάδοσης δεδομένων (baud rate). Για εμάς πάντα ο ρυθμός μετάδοσης θα είναι τα 9600kbps.

Σε προγραμματιστικό επίπεδο, ώστε να μπορέσουμε να πούμε στο Arduino πως θα επικοινωνήσουμε με αυτό, η εντολή που χρησιμοποιούμε είναι η Serial.begin(9600); Η τιμή 9600 αναφέρεται στον ρυθμό μετάδοσης που είπαμε παραπάνω. Την εντολή αυτή την βάζουμε πάντα στο κομμάτι της void setup().

   void setup(){
        Serial.begin(9600);
   }

Για να μας εκτυπώσει το Arduino ένα μήνυμα στην σειριακή οθόνη, θα πρέπει μέσα στον κώδικα να κάνουμε χρήση της εντολής Serial.print("Hello World");. Αν θέλουμε το επόμενο μήνυμα να ξεκινάει στην επόμενη γραμμή τότε κάνουμε χρήση της println.

   void setup(){
        Serial.begin(9600);
        Serial.println("Hello World");
   }

Έστω ότι θέλουμε το Arduino να μας στέλνει εναλλάξ, ανά 2 δευτερόλεπτα, το μήνυμα "Blacκ" και "White" (δεν υποστηρίζονται ελληνικοί χαρακτήρες). Ο κώδικας που θα φορτώσουμε στο arduino uno είναι ο εξής:

  void setup(){
        Serial.begin(9600);
   }
  void loop(){
        Serial.println("Black");
        delay(2000);
        Serial.println("White");
        delay(2000);
   }

Comments

Η συνθήκη ελέγχου if στην πράξη - Arduino IDE

18/9/2014

Comments

 
Picture
Στο προηγούμενο μάθημα μας είδαμε λεπτομερώς την συνθήκη ελέγχου if. Για να την κατανοήσουμε καλύτερα σήμερα θα δούμε την χρήση της μέσα απ' ένα παράδειγμα.

Θέλουμε να φτιάξουμε ένα πρόγραμμα το οποίο θα μας εκτυπώνει, ανάλογα με την ηλικία ενός παιδιού (από 4 έως 18 χρονών), τι εκπαίδευση λαμβάνει.

Σε επίπεδο σκέψης θα λέγαμε πως αν είναι από 4 έως 6 χρονών θα πήγαινε νηπιαγωγείο, από 6 έως 12 χρονών δημοτικό, από 12 έως 15 γυμνάσιο και από 15 έως 18 λύκειο.

Προγραμματιστικά στο Arduino IDE θα γράφαμε:

int ilikia; // Μεταβλητή που αποθηκεύεται η ηλικία

if (ilikia >=4 && ilikia < 6){
    println("Νηπιαγωγείο");
}
else if (ilikia >=6 && ilikia <12){
    println("Δημοτικό");
}
else if (ilikia >=12 && ilikia <15){
    println("Γυμνάσιο");
}
else if (ilikia >=15 && ilikia <18){
    println("Λύκειο");
}
else {
    println("Ηλικία εκτός 4-18!)";
}

Προσέξτε τους τελεστές, που ανοίγουν και κλείνουν οι αγκύλες '{'  '}' και που γίνεται χρήση του χαρακτήρα ';' (ελληνικό ερωτηματικό).
Comments

Συνθήκη ελέγχου if και Τελεστές- Arduino IDE (συμπληρωματικό μάθημα)

8/9/2014

Comments

 
Picture
Την συνθήκη ελέγχου if θα την συναντήσουμε πολλές φορές στα προγράμματα μας. Όπως δηλώνει και το όνομα της "if" (Αν), ελέγχει μια συνθήκη αν είναι αληθής ή ψευδής. Αν είναι αληθής, εκτελούνται και οι αντίστοιχες εντολές που περικλείονται από την συνθήκη, αν είναι ψευδής, δηλαδή δεν ισχύει, τότε δεν εκτελούνται οι εντολές τις συνθήκης.

if ( συνθήκη ) {
    εντολές
}

Σε κάποιες περιπτώσεις ο έλεγχος θα πρέπει να επεκταθεί σε μια ή σε περισσότερες επιλογές, έτσι η σύνθετη μορφή της "if" είναι η "else if". 

if ( συνθήκη ) {     if ( συνθήκηΑ ) {  
   εντολές                   εντολές
}                             }
else {                     else if ( συνθήκηΒ ) {
   εντολές                   εντολές
}                             }
                              else if ( συνθήκηΓ ) {
                                   εντολές                   
                               }
                               else {                
                                   εντολές
                               }

Μπορεί επίσης να χρειαστεί μέσα σε μια συνθήκη ελέγχου να βάλουμε και άλλη συνθήκη ελέγχου.  


if ( συνθήκηΑ ) {      
      if ( συνθήκηΑ' ) {  
          εντολές              
      }  
      else if ( συνθήκηΒ' ) {
          εντολές
      }  
}
else {       
   εντολές     
}  

Συγκριτικοί τελεστές:

Το αποτέλεσμα των συγκριτικών τελεστών είναι πάντα λογικού τύπου. (αληθής ή ψευδής)

  • <= ή ≤ (μικρότερο ή ίσο)
  • < (μικρότερο)
  • = (ίσον)
  • <> (διάφορο)
  • > (μεγαλύτερο)
  • >= ή ≥ (μεγαλύτερο ή ίσο)

Λογικοί τελεστές:

Οι λογικοί τελεστές, ΚΑΙ, Ή, ΟΧΙ, εφαρμόζονται πάνω σε λογικές εκφράσεις (δηλαδή εκφράσεις που το αποτέλεσμά τους είναι αληθής ή ψευδής). Το αποτέλεσμά τους είναι πάλι λογικού τύπου δεδομένων.

  • && (και)
  • || (ή)
  • ΝΟΤ (όχι)
Comments
    Picture
    Picture

    Διαβάστε τα νέα του Ardumotive!

    Picture

    Κατηγορίες:

    All
    Arduino
    Ardumotive
    DIY
    Raspberry
    Μαθήματα Arduino

    Δείτε τα νέα του μήνα:

    August 2021
    September 2020
    July 2020
    June 2020
    May 2020
    January 2020
    November 2019
    July 2019
    February 2019
    October 2018
    June 2018
    February 2018
    May 2017
    October 2016
    July 2015
    May 2015
    April 2015
    March 2015
    February 2015
    January 2015
    December 2014
    November 2014
    October 2014
    September 2014
    August 2014
    July 2014



Donate us
About us
License
Cookies policy

Visit the biggest Arduino Shop in Greece!

Picture
find us on dwrean.net
find us on Codebender
find us on Instructables
Developed and designed by Vasilakis Michalis Copyright © 2013 Ardumotive All Rights Reserved
All trademarks referenced herein are properties of their
Powered by Create your own unique website with customizable templates.
Design by DivTag Templates