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 Bluetooth Module HC-06

26/10/2014

Comments

 
Picture
Στον δεύτερο κύκλο μαθημάτων θα μετατρέψουμε ένα απλό τηλεκατευθυνόμενο σε ρομποτικό όχημα ελεγχόμενο μέσω Bluetooth. Ο έλεγχος του οχήματος θα γίνετε μέσω Android τηλεφώνου ή tablet. Στο σημερινό μάθημα θα μάθουμε να προγραμματίζουμε αλλά και να χρησιμοποιούμε το Bluetooth Module HC-06. 

Κάθε Bluetooth Module έχει ένα όνομα, έναν κωδικό πρόσβασης και έναν ρυθμό μετάδοσης (baud rate), τα οποία μπορούμε αν θέλουμε να τα αλλάξουμε, θα εξηγήσουμε παρακάτω πως γίνεται αυτό. 

Τα σήματα του ακροδέκτη που υπάρχουν στο ΒΤ έχουν την ακόλουθη σημασία:

Picture
Picture
Σωστή συνδεσμολογία
Για να γίνει σωστά η επικοινωνία θα πρέπει να ενώσουμε το RXD του Bluetooth με το TXD του Arduino και το TXD του Bluetooth με το RXD του Arduino αντίστοιχα. Προσοχή! Όταν περνάμε πρόγραμμα στο Arduino, θα πρέπει το RXD και TXD του Bluetooth να τα αποσυνδέουμε από το Arduino board ή να αποσυνδέουμε το Vcc του Bluetooth απ' τα 5V του Arduino.

Picture
Προγραμματισμός Bluetooth module HC-06

Για να προγραμματίσουμε το Bluetooth module θα χρησιμοποιήσουμε το Arduino Uno board χωρίς τον μικρο επεξεργαστή ATMega328, οπότε με προσοχή τον αφαιρούμε πριν ξεκινήσουμε. Εάν δεν θέλετε να τον αποσυνδέσετε, μπορείτε να περάσετε απ' τα παραδείγματα το "Blink Led", με αυτόν τον τρόπο βεβαιωνόμαστε ότι ο μικρο επεξεργαστής δεν χρησιμοποιεί και αυτός την σειριακή θύρα.
H διαδικασία αυτή είναι προαιρετική και δεν απαιτητέ για την σωστή λειτουργία του BT module.

Βήματα:

1. Συνδέουμε το RXD του Bluetooth με το RXD του Arduino και το TXD του Bluetooth με το TXD του Arduino

2. Συνδέουμε το Vcc του Blueooth με τα 3,3V ή 5V του Arduino και το GNG του Bluetooth με το GND του Arduino

3. Συνδέουμε το KEY με μια αντίσταση ~10Κ στο Vcc του Bluetooth (3.3V) - Λειτουργία προγραμματισμού

4. Συνδέουμε το Arduino Uno με τον υπολογιστή μέσω του USB καλωδίου

5. Εκτελούμε το πρόγραμμα Arduino IDE στον υπολογιστή μας (Download)

6. Επιλέγουμε την σωστή σειριακή θύρα, εκείνη δηλαδή που έχει δοθεί στο Arduino UNO (Εργαλεία->Σειριακή Θύρα)

7. Ανοίγουμε την Σειριακή Οθόνη από τα εργαλεία του Arduino IDE και επιλέγουμε τον σωστό ρυθμό μετάδοσης (baud rate) που έχει ήδη το bluetooth module. Αυτή την πληροφορία μπορεί να σας την δώσει ο προμηθευτής του Bluetooth Module. Συνηθίζετε η προεπιλεγμένη τιμή να είναι  9600.

8. Πληκτρολογούμε AT , εάν πάρουμε απάντηση OK τότε είμαστε σε θέση να προγραμματίσουμε το Bluetooth. Εάν όχι τότε ξανά ελέγξτε τον ρυθμό μετάδοσης, βεβαιωθείτε για την συνδεσμολογία στα 3 πρώτα βήματα και πως έχετε βγάλει τον μικρο επεξεργαστή Atmel από το Arduino Uno ή έχετε περάσει σε αυτόν το "Blink Led"

9. Για αλλαγή ονόματος πληκτρολογούμε AT+NAMEνέο_όνομα. Το Bluetooth απαντάει OKsetname!
Για αλλαγή του κωδικού πληκτρολογούμε AT+PINνέος_κωδικός.  Το Bluetooth απαντάει ΟΚsetpin!
Για αλλαγή του ρυθμού μετάδοσης AT+BAUDn (n=1,2,3,4,5,6,7,8) . To Blueooth απαντάει OKbaudrate! (όπου n=1,2,3,4,5,6,7,8 αντίστοιχα 1200,2400,4800,9600,19200,38400,57600,115200)

10.Αποσυνδέουμε το KEY από την αντίσταση και από το Vcc και το Bluetooth είναι έτοιμο με νέα χαρακτηριστικά.

Comments

Η συνάρτηση tone() - Arduino και Ήχος (μονοτονικός)

5/10/2014

Comments

 
Με το Arduino μπορούμε να αναπαράγουμε μονοτονικούς ήχους μέσα από ένα μικρό speaker ή buzzer. Η συνάρτηση tone() μας βοηθάει να το πετύχουμε αυτό στέλνοντας στο μικρό μας ηχείο έναν ήχο/τόνο με μια συγκεκριμένη συχνότητα. Ο ήχος αυτός μπορεί να είναι είτε ένα "μπιπ" (σε μια συγκεκριμένη συχνότητα π.χ. 500Ηz) που αναπαράγεται για μια χρονική στιγμή είτε μια μελωδία, μονοτονική, σαν αυτή που είχαμε στα παλιά μας ασπρόμαυρα κινητά τηλέφωνα.

Η συνάρτηση tone()

tone(pin, συχνότητα);
Κάνοντας χρήση της παραπάνω εντολής μπορούμε να στείλουμε σε ένα συγκεκριμένο pin του Arduino, στο δικό μας παράδειγμα το pin 9 όπου και έχουμε συνδέσει το ηχείο μας, ένα σήμα/τόνο το οποίο να έχει συγκεκριμένη συχνότητα.
π.χ. tone(9, 500); ή tone(buzzer, 1000); (όπου buzzer σταθερά που δείχνει το pin 9)

tone(pin, συχνότητα, διάρκεια);
Μπορούμε να προσθέσουμε και διάρκεια, δηλαδή χρόνο, στην συνάρτηση αυτή. Ο χρόνος αυτός όπως και στην delay() πρέπει να είναι σε ms. Έτσι, αν για παράδειγμα θέλουμε για δυο δευτερόλεπτα να παίζει ήχος συχνότητας 1ΚHz στο pin 9, η εντολή που θα γράψουμε είναι: tone(9, 1000, 2000);

noTone(pin);
Αν κάνουμε χρήση της tone χωρίς το όρισμα 'διάρκεια', τότε θα πρέπει με κάποιον τρόπο να σταματήσουμε τον ήχο που ακούγεται μετά από κάποιο χρονικό διάστημα, αυτό γίνεται με την χρήση της noTone().
π.χ. noTone(9); ή noTone(buzzer);

Τα υλικά που θα χρειαστούμε:


  1. Arduino uno
  2. Speaker 8Ohm ή Buzzer
  3. Αντίσταση 100Ohm

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

Αναπαραγωγή ήχου: download
Αναπαραγωγή μελωδίας: download
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