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

Γράφοντας προγράμματα στο Arduino IDE (Μέρος 2ο)

15/7/2014

Comments

 
Picture
Φυσικά δεν μπορούμε να δούμε όλες τις συναρτήσεις που υπάρχουν, θα αναφερθούμε στις πιο σημαντικές - βασικές. Οι συναρτήσεις του Arduino αποτελούν βασικό παράγοντα στον προγραμματισμό του μικρο ελεγκτή μας καθώς αυτές συνδέουν πολύ εύκολα το Arduino uno με τα υπόλοιπα στοιχεία του κυκλώματος μας. (π.χ. led, κουμπιά/διακόπτες, οθόνη LCD, ηχείο).

pinMode(pin, mode) ;
Είναι πολύ σημαντικό να "πούμε" στο Arduino εάν ο ακροδέκτης/pin που έχουμε συνδέσει με το στοιχείο του κυκλώματος μας είναι είσοδος ή έξοδος, εάν δηλαδή θα λάβει ή θα στείλει κάποιο σήμα. Για παράδειγμα εάν έχουμε κάποιο led, θέλουμε να στείλουμε σήμα να ανάψει ή να σβήσει, άρα το pin που το έχουμε συνδέσει στο Arduino uno θα πρέπει να το δηλώσουμε ως έξοδο. Αντίστοιχα, εάν έχουμε ένα κουμπί/διακόπτη, θέλουμε να λάβουμε ένα σήμα στο Arduino uno όταν ενεργοποιηθεί για να κάνει κάποια λειτουργία, άρα το pin θα το δηλώσουμε ως είσοδο. π.χ. pinMode(5,INPUT); ή pinMode(2,OUTPUT);

Picture
digitalWrite(pin, value); 
Αφού έχουμε δηλώσει τον ρόλο του pin που μας ενδιαφέρει με την συνάρτηση pinMode πρέπει τώρα να πούμε στο Arduino τι να κάνει με αυτό. Ας δούμε τις λειτουργίες μέσα απο κάποια παραδείγματα. Έστω οτι έχουμε ένα led και θέλουμε να το ανάψουμε, όπως στην εικόνα παραπάνω, θα κάνουμε χρήση της συνάρτησης digitalWrite ως εξής: digitalWrite(2, HIGH); Εάν θέλουμε να το σβήσουμε τότε η συνάρτηση αλλάζει και γίνεται: digitalWrite(2, LOW); Με την τιμή HIGH δίνουμε λογικό '1' ή 5V ή Vcc και με την LOW λογικό '0' ή 0V ή GND.

όνομα_μεταβλητής=digitalRead(pin);
Με την digitalRead αντίστοιχα λέμε στο Arduino να διαβάσει μια τιμή. Η τιμή αυτή και εδώ μπορεί να είναι HIGH ή LOW. Έτσι για παράδειγμα εάν έχουμε ένα κουμπί, όπως στην εικόνα παραπάνω, το οποίο όταν τον πατάμε περνάει ρεύμα, τότε το διαβάζουμε ως εξής:
timi=digitalRead(5); και η τιμή που θα πάρει θα είναι HIGH. Μόλις σταματήσουμε να τον πατάμε η τιμή θα γίνει LOW.

analogWrite(pin, value);
Με την συνάρτηση digitalWrite είδαμε οτι μπορούμε να δώσουμε έξοδο με μόνο δυο τιμές, HIGH και LOW. Τι γίνεται όμως όταν θέλουμε να χαμηλώσουμε τον φωτισμό σε ένα led ή να περιστρέψουμε ένα DC μοτερ με λιγότερη ταχύτητα; Σαν σκέψη θα λέγαμε να δώσουμε λιγότερη τάση, π.χ. 2.5V αντί για 5V στο μοτέρ μας για να περιστρέφετε με την μισή ταχύτητα, αλλά δεν γίνεται αυτό. Έτσι για να το πετύχουμε στο Arduino χρησιμοποιούμε την συνάρτηση analogWrite η οποία μπορεί να πάρει τιμές από 0 έως 255. Η λειτουργία αυτή λέγετε Pulse Width Modulation - PWM και στo Arduino uno μπορούμε να την χρησιμοποιήσουμε στα pin 3, 5, 6, 9, 10 και 11. Αυτό που κάνει είναι να στέλνει παλμούς, φανταστείτε το σαν έναν διακόπτη που ανοιγοκλείνει πολύ γρήγορα. Έτσι εάν θέλαμε να περιστρέψουμε ένα μοτέρ με την μισή ταχύτητα θα κάναμε χρήση της συνάρτησης ως εξής: analogWrite(3, 127); Η παρακάτω εικόνα θα σας βοηθήσει να καταλάβετε την λειτουργία των παλμών.
Picture
όνομα_μεταβλητής=analogRead(pin);
Την συνάρτηση analogRead την χρησιμοποιούμε όταν θέλουμε να διαβάσουμε μια αναλογική τιμή, π.χ. από ένα αισθητήρα θερμοκρασίας, αισθητήρα υπερήχων, αισθητήρα υπερύθρων. Οι τιμές που μπορεί να διαβάσει είναι από 0 έως 1023. Τα διαθέσιμα analog pins του Arduino uno είναι απ'το Α0 έως το Α5.

Comments
comments powered by Disqus
    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