Πίνακας περιεχομένων:
- Βήμα 1: Το ραδιοφωνικό μέρος 4703
- Βήμα 2: Η βάση φόρτισης
- Βήμα 3: Το κουτί
- Βήμα 4: Το μέρος Arduino (σχήματα και κώδικας)
- Βήμα 5: Η εφαρμογή Android
Βίντεο: Ραδιόφωνο FM με RDS (Ραδιοφωνικό κείμενο), έλεγχος BT και βάση φόρτισης: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Καλημέρα, Αυτό είναι το δεύτερο "Instructables" μου. Καθώς μου αρέσει να κάνω όχι πολύ χρήσιμα πράγματα, εδώ είναι το τελευταίο μου έργο:
Αυτό είναι ένα ραδιόφωνο FM με ραδιοφωνικό κείμενο με βάση φόρτισης και το οποίο μπορεί να παρακολουθείται μέσω Bluetooth και Android APP
Ως εκ τούτου, θα σας παρουσιάσω, το μέρος Arduino, το μέρος του Radio Text και στη συνέχεια το μέρος του εφευρέτη της εφαρμογής MIT (Αυτός είναι ο μόνος τρόπος για να είμαι αρκετά έμπειρος στην κατασκευή και Android APP)
Με τάση τροφοδοσίας 10, 8 βολτ με τροφοδοσία AC και 9,6 με μπαταρία, η μέγιστη ισχύς είναι 2x 1,5/1,25 watt RMS, η οποία είναι ευρέως αρκετή
Η ισχύς RMS (τετραγωνικό μέσο ρίζας) είναι η πραγματική ισχύς όχι όπως οι άλλοι μεγάλοι αριθμοί που πωλούνται όπως μουσική watt ή μέγιστη ισχύς ή οτιδήποτε άλλο)
Υποθέτω ότι 1,5 Watt RMS μπορεί να πωληθεί ως 8 Watt σε ορισμένα καταστήματα !!!!!!
Πρώτα τα απαραίτητα συστατικά:
Κύριος πίνακας:
1x Arduino Nano
1x μονάδα ραδιοφώνου FM SI4703 από Sparkfun ή ισοδύναμο (τροφοδοτείται με 5v και 3,3V I2C με υποδοχή 3 πόλων που μπορεί να χρησιμοποιηθεί ως κεραία)
1x μονάδα Bluetooth HC-06 (προειδοποιώντας ότι η νέα έκδοση λογισμικού 3.0 έχει εντελώς διαφορετικές εντολές (έβαλα ορισμένα σχόλια στον κώδικα).
1x 4 κανάλια αλλαγής στάθμης 3,3 5 V
Μετατροπέας 1x MC7805 5v DC
Πυκνωτής 1x 2200 µF 25V
2x 1N5404 Δίοδοι 3 Amp
2x τρανζίστορ 2N2222
1x αντίσταση 1Kohm
1x αντίσταση 47 Ohm
2x αντιστάσεις 3,3 KOhm (για τράβηγμα διαύλου I2C)
3x 330 Ohm αντιστάσεις (για τα led)
2x αντιστάσεις 6,8 KOhm
1x αντίσταση 3,9 KOhm
Πρόσοψη
1x δίαυλος LCD I2C 20X4
10x 680 Ohm αντιστάσεις
1x κόκκινο LED (δεν είχα πλέον πράσινο !!) για την παροχή ρεύματος
1x Κίτρινο LED για τη λειτουργία μπαταρίας
1x μπλε LED για σύνδεση BT
4x (ON) -OFF- (ON) διακόπτες (όπως για ηλεκτρικό παράθυρο αυτοκινήτου)
2x κουμπιά
1x διακόπτης ON/OFF
Άλλα στοιχεία για το ραδιόφωνο:
2x 100W 10CM 8 Ohm HP
Επεκτάσιμη κεραία 1x 1m (περίπου 75 cm είναι το καλό μήκος για FM στην Ευρώπη και τις ΗΠΑ)
1x βύσμα τηλεφώνου που χρησιμοποίησα για να κάνω τις επαφές για τη βάση φόρτισης
1x 1N5404 Δίοδος 3 Amp (στην επαφή της μπαταρίας για αποφυγή καπνού σε περίπτωση αναστάτωσης με το έδαφος ή επαφή 12V)
Ισχύς 1x 2X20 watts (Οποιοσδήποτε στερεοφωνικός ενισχυτής θα ταιριάζει όσο είναι 12V) με βάση το TDA2020 που αγοράστηκε για 4 ευρώ
1x ζεύκτης μπαταρίας 8XAA (με ελάχιστο 9,6V)
Κόντρα πλακέ περίπου 10 mm και 4 mm για το κουτί
Βάση φόρτισης:
Τροφοδοσία 1x 12V 3Amp
1x μικρό 3ψήφιο /3 καλώδια βολτόμετρο
3 επαφές (γίνονται με το βύσμα του τηλεφώνου)
Δίοδος 1x 1N5404 3 Amp (στην επαφή 12V)
2 διακόπτες μοχλού (για την τροφοδοσία AC όταν το ραδιόφωνο είναι στη βάση φόρτισης)
1x διακόπτης ON/OFF (για απενεργοποίηση της βάσης φόρτισης εάν χρειάζεται)
Κόντρα πλακέ περίπου 10 mm και 4 mm για τη βάση
Συνολικά, συμπεριλαμβανομένου του κόντρα πλακέ, δεν είναι πάνω από 70 €
Βήμα 1: Το ραδιοφωνικό μέρος 4703
Πρώτον, μια τροποποίηση:
Η μονάδα υποτίθεται ότι χρησιμοποιεί το καλώδιο των ακουστικών ως κεραία, στο έργο μου, δεν είναι χρήσιμο, οπότε θα πρέπει πρώτα να κάνουμε μια μικρή τροποποίηση προκειμένου να συνδέσουμε και εξωτερική κεραία
Σε αυτήν την ενότητα, η γείωση των 3 πόλων δεν συνδέεται απευθείας με τη γείωση, αλλά μέσω μιας επαγωγής (για να σταματήσει τις συχνότητες FM) και ενός πυκνωτή για τη σύνδεση των συχνοτήτων FM στην είσοδο κεραίας του SI4703.
Ο καλύτερος τρόπος λοιπόν είναι να συνδέσετε απευθείας την κεραία στον πείρο γείωσης του γρύλου και να κολλήσετε δύο καλώδια για την έξοδο ήχου
Για να αποφύγω τυχόν θορύβους στον ήχο (ειδικά από Bluetooth), έβαλα τη μονάδα FM σε ένα μικρό πλαστικό κουτί θωρακισμένο με ταινία χαλκού συνδεδεμένη στο έδαφος
Το πρωτόκολλο RDS/Radio Text:
Αρχικά, θέλω να ευχαριστήσω τον Nathan Seidle καθώς εμπνεύστηκα πλήρως από το πρόγραμμα του "TEST_FM" του Ιουνίου 2011
Και, όπως συμφωνήθηκε, θα χαρώ πολύ να του πληρώσω μια μπύρα, αν, κάποια από αυτές τις μέρες, χαθεί στο μικρό μου χωριό στο βαθύ άκρο της Βρετάνης !!
Χρησιμοποίησα πολύ το πρόγραμμά του καθώς δεν ήθελα να χρησιμοποιήσω τις υπάρχουσες βιβλιοθήκες που είναι λίγο πολύ μεγάλες για τον κακό χώρο μνήμης Nano και επίσης επειδή είναι πάντα καλύτερο να πηγαίνουμε βαθιά στις δυνατότητες ενός εξαρτήματος βουτώντας απευθείας τα μητρώα
Η κύρια τροποποίηση που έκανα είναι για τη δημοσκόπηση RDS
Εκμεταλλεύτηκα τη δυνατότητα να ενεργοποιήσω μια διακοπή στο pin GPI02 ορίζοντας το bit RDSIEN και την τιμή GPIO2 σε 01
Αυτό θα ενεργοποιήσει μια διακοπή στο pin 3 του nano
Αυτό αποτρέπει την ψηφοφορία του καταχωρητή RDS, καθώς θα ενεργοποιήσει το πρόγραμμα Radio Text μόνο όταν η ομάδα ραδιοφωνικού κειμένου των 4 χαρακτήρων είναι διαθέσιμη χωρίς σφάλματα (μη λεκτική λειτουργία)
Για να έχουμε ένα πλήρες ραδιοφωνικό κείμενο, πρέπει να συγκεντρώσουμε το πολύ 16 μπλοκ των 4 χαρακτήρων (καταχωρίζει RDSC/RDSB της ομάδας 2Α ή 2Β). Έβαλα πολλές πληροφορίες στο πρόγραμμα για να εξηγήσω τι έκανα.
Ακολουθεί μια περιγραφή των καταχωρητών δεδομένων για κείμενο ραδιοφώνου (RDSSA/RDSC)
στο μητρώο RDSSB (μπλοκ 2)
Η τιμή 4 στο A3/0 υποδεικνύει (ομάδα κειμένου)
Το B0 δηλώνει κείμενο A (64 char) ή B (32 char) (δεν έχετε δει ποτέ B κείμενο σε χρήση ………..)
Το PT0 έως το PT4 είναι ο δείκτης της ομάδας 4 χαρακτήρων (0 έως 15)
Το PT5 πρέπει να χρησιμοποιείται ως δείκτης A/B κειμένου (που σημαίνει "αυτό είναι ένα νέο κείμενο"), αλλά δεν χρησιμοποιείται πάντα έτσι ανάλογα με τον ραδιοφωνικό σταθμό, επομένως δεν μπορεί να χρησιμοποιηθεί για το πρόγραμμα κειμένου Radio.
4 χαρακτήρες του Radio Text είναι σε RDSSC και RDSSD (μπλοκ 3 και 4)
Σας συμβουλεύω να διαβάσετε το πολύ ενδιαφέρον έγγραφο σχετικά με το πρωτόκολλο RDS στο SI4703 => AN243 από εργαστήρια πυριτίου
Επαναφέρω επίσης το bit SKMODE στο μητρώο POWERCFG (βλ. Φύλλο δεδομένων SI4703) για να παραμείνω στο φάσμα της συχνότητας ενώ αναζητώ κανάλια
Η ανάγνωση datashhet θα βοηθήσει πολύ στην κατανόηση του κώδικα και όλων των χειρισμών των καταχωρητών
Βήμα 2: Η βάση φόρτισης
Δεν υπάρχουν πολλά πράγματα να προσθέσω
Οι εικόνες μπορούν να μιλήσουν καλύτερα.
Μόλις πρόσθεσα μια δίοδο 1N5404 στην επαφή των 12 βολτ
1) για να αποφύγετε προβλήματα σε περίπτωση που η επαφή της μπαταρίας αγγίξει την επαφή 12 βολτ όταν τοποθετείτε το ραδιόφωνο στη βάση (αλλά δεν συνέβη ποτέ)
2) για να χαμηλώσετε το επίπεδο τάσης στα 10,8 βολτ (υπάρχει επίσης μια δίοδος στη μητρική πλακέτα), καθώς το MC7805 μπορεί να ζεσταθεί λίγο όταν πηγαίνει από 12V σε 5 volt με ρεύμα 1 Amp (βίδωσα ένα κομμάτι σίδερο ως ψύκτρα το 7805)
Πρόσθεσα ένα μικρό βολτόμετρο τμημάτων 3 x7 για να δείξει το φορτίο της μπαταρίας
Αυτή η συσκευή διαθέτει 3 καλώδια για να μειώσει την κατανάλωση (περισσότερο από 1 Mega Ohm στο καλώδιο μέτρησης) που επιτρέπει να διατηρείται το ραδιόφωνο στην τροφοδοτούμενη βάση για μεγάλο χρονικό διάστημα χωρίς να αποφορτίζεται η μπαταρία
2 διακόπτες μοχλού χρησιμοποιούνται για να απενεργοποιήσουν την παροχή AC όταν το ραδιόφωνο είναι εκτός της βάσης (για να αποφύγετε να έχετε 12V στις επαφές)
Το κουτί είναι κατασκευασμένο από κόντρα πλακέ (πριν το βάψετε στην εικόνα) σας αφήνω να φανταστείτε πώς να φτιάξετε ένα όμορφο κουτί καθώς το δικό μου δεν είναι πολύ σέξι !!!!!
Wasμουν πολύ έκπληκτος, αλλά η βάση φόρτισης λειτουργεί καλά και δεν είχα ποτέ καπνό ενώ έβαλα το ραδιόφωνο σε αυτό ………….
Βήμα 3: Το κουτί
Υποθέτω ότι ο καθένας θα έπρεπε να κάνει όπως θέλει ακολουθώντας τις καλλιτεχνικές του ικανότητες !!!!!
Όπως και να έχει, θα εξηγήσω σύντομα πώς θα μπορούσα να φτιάξω κάτι που μοιάζει τρομερά με εργαλειοθήκη
Μπροστά και πίσω κόβονται σε κόντρα πλακέ 4 mm 15x45 cm
πάνω και κάτω είναι κόντρα πλακέ 10 mm 15x45 cm
Οι πλευρές και τα 2 εσωτερικά χωρίσματα (2 2 θέσεις για την HP και τα εξαρτήματα στο μεσαίο) είναι κόντρα πλακέ 10 mm 13x13 cm
Στον μπροστινό πίνακα έκανα τρύπες 2 x10 cm για την HP και μια τετράγωνη τρύπα 14x14 για να τοποθετήσω το οργανικό γυαλί 15x15 2mm που έβαψα σε μαύρο χρώμα (προσθέτοντας αφού βάψω ένα αυτοκόλλητο με διαφανή εκτύπωση, αλλά δεν είναι τόσο ευανάγνωστο λόγω του μαύρου χρώμα πίσω)
Έκανα 2 τρύπες στην κορυφή:
ένα για το ποτενσιόμετρο του ενισχυτή ισχύος (για να ρυθμίσετε το επίπεδο εάν είναι απαραίτητο) και επίσης, ως έξοδο θερμότητας
άλλο για την κεραία
στο πίσω πάνελ έκανα 2 τρύπες:
Ένα για το βύσμα USB (συνδέστε απευθείας το nano)
Ένα 16mm για ψύξη αέρα (η τρύπα 14 mm του ποτενσιόμετρου του ενισχυτή ισχύος που έχει την ανώτερη έξοδο ψύξης αέρα)
η λαβή είναι κατασκευασμένη από χάλκινο σωλήνα 12mm βαμμένο σε μαύρο χρώμα
Όλα τα εξαρτήματα της παραπάνω εικόνας βρίσκουν θέση στο κεντρικό διαμέρισμα (αργότερα έπρεπε να βάλω τις μπαταρίες στο αριστερό διαμέρισμα HP επειδή ήταν πολύ κοντά στη μονάδα HC06 BT στο κύριο διαμέρισμα)
Αυτό είναι
Φυσικά πρέπει να υπάρχει κάτι πιο σέξι !!!!!
Βήμα 4: Το μέρος Arduino (σχήματα και κώδικας)
Προσπάθησα να βάλω όσο το δυνατόν περισσότερες πληροφορίες στα σχόλια του προγράμματος.
Λίγες περισσότερες πληροφορίες
Η διαδικασία Decode_TXT χρησιμοποιείται τόσο από τη διαδικασία Bluetooth όσο και από τη διαδικασία αλλαγής
ορισμένες λέξεις -κλειδιά χρησιμοποιούνται και από τις δύο διαδικασίες
v+ => για αύξηση της έντασης
v- => προς τα κάτω
f+ => για να αυξήσετε τη συχνότητα ενός βήματος 100 Khz
f- => να μειωθεί
su+=> αναζητήστε
sd-=> αναζητήστε κάτω
prefu => αυξήστε τον προεπιλεγμένο αριθμό καναλιού
prefd => μείωση
γεια => αποστέλλεται από το Android APP κατά τη σύνδεση bluetooth, ο κωδικός στέλνει πίσω την κατάσταση του ραδιοφώνου
bye => αποστέλλεται από την APP όταν αποσυνδέεται το BT
pow => αποστέλλεται από το ραδιόφωνο στην εφαρμογή σε λειτουργία τροφοδοσίας (στη βάση φόρτισης)
bat => όταν βρίσκεστε σε λειτουργία μπαταρίας
lb => αποστέλλεται όταν η στάθμη της μπαταρίας είναι πολύ χαμηλή (περίπου 8 βολτ)
Η επικοινωνία Bluetooth εξασφαλίζεται με έναν βρόχο ελέγχου:
Κάθε φορά που το ραδιόφωνο FM στέλνει μια πληροφορία, ξεκινά ένα χρονόμετρο που περιμένει την απάντηση "εντάξει" από την εφαρμογή Android
σε περίπτωση 3 σφαλμάτων (το χρονόμετρο έληξε) ο σύνδεσμος BT κόβεται από το Ραδιόφωνο. (αυτό κόβει επίσης το σύνδεσμο στην πλευρά του Android)
Στην άλλη πλευρά
Όταν η εφαρμογή στέλνει μια εντολή, περιμένει την απάντηση από το ραδιόφωνο για να στείλει μια άλλη εντολή.
Η διαδικασία get_RT ξεκινά όταν έχει οριστεί η σημαία RDS (μετά από μια διακοπή στην ακίδα 3)
εδώ είναι ο κωδικός (σύνδεσμος προς GITHUB)
Τα σχήματα:
Η κεντρική πλακέτα του ραδιοφώνου FM (στην πραγματικότητα το SI4703 χωρίζεται σε ένα θωρακισμένο κουτί):
Ο μπροστινός πίνακας:
Η βάση φόρτισης:
Οι σύνδεσμοι προς τα αρχεία Fritzing:
Κεντρικός πίνακας FR RADIO
Πρόσοψη
Βάση φόρτισης
Βήμα 5: Η εφαρμογή Android
Φτιαγμένο με εφευρέτη APP
εδώ είναι οι σύνδεσμοι προς το GitHub
Ραδιόφωνο FM αία
Android APK
Η εφαρμογή χρησιμοποιεί 2 χρονόμετρα ρολογιού:
1) για την επικοινωνία bluetooth (100ms)
2) για αναβοσβήνει led μπαταρίας όταν το φορτίο είναι περίπου 8 v (1000ms)
Για πρώτη φορά θα πρέπει να αντιστοιχίσετε τη μονάδα HC06 με το smartphone ή το tablet σας.
Χρησιμοποιώ το TinyDB για την αποθήκευση της διεύθυνσης BT της μονάδας HC06, η πρώτη σύνδεση θα ενεργοποιηθεί το κουμπί διεύθυνσης BT και θα πρέπει να επιλέξετε το HC06 στη λίστα (από την πλευρά μου, μετονόμασα τη μονάδα HC06 σε FM_RADIO)
Στην εφαρμογή δεν χρησιμοποιούσα πάντα το ποσοστό για το μέγεθος του στοιχείου, οπότε ενδέχεται να υπάρχουν τόσο πολλά προβλήματα ανάλογα με το smartphone
Το δικό μου είναι ένα Galaxy Note 3 τόσο μεγάλη οθόνη ……..
Έτσι πέρασα έναν καλό χρόνο ανακαλύπτοντας αυτό το μικρό αλλά πολύ αποδοτικό SI4703.
Και πήρε πολλή ευχαρίστηση γράφοντας αυτό το διδακτικό
Μέχρι το επόμενο έργο μου
Au revoir !!!
Συνιστάται:
PIC16F1847 και AR1010 Βασισμένο ραδιοφωνικό μουσικό κουτί FM: 5 βήματα
PIC16F1847 και AR1010 Βασισμένο σε ραδιόφωνο FM Music Box: Αυτή είναι η πρώτη μου ανάρτηση με οδηγίες. Έφτιαξα ένα ψηφιακό κιβώτιο ραδιοφώνου FM χρησιμοποιώντας αυτή τη φθηνή μονάδα δέκτη ραδιοφώνου AR1010 FM που αγόρασα από το Ebay και έναν μικροελεγκτή PIC16F1847 από τη MICROCHIP. Γιατί PIC; Γιατί να μην χρησιμοποιήσετε το Arduino; Επειδή έχω μια σειρά από
Έλεγχος φωτεινότητας Έλεγχος LED βασισμένος σε PWM χρησιμοποιώντας κουμπιά, Raspberry Pi και Scratch: 8 βήματα (με εικόνες)
Έλεγχος φωτεινότητας PWM Βασισμένος έλεγχος LED χρησιμοποιώντας κουμπιά, Raspberry Pi και Scratch: Προσπαθούσα να βρω έναν τρόπο να εξηγήσω πώς λειτουργούσε το PWM στους μαθητές μου, οπότε έθεσα τον εαυτό μου στην προσπάθεια να ελέγξω τη φωτεινότητα ενός LED χρησιμοποιώντας 2 κουμπιά - το ένα κουμπί αυξάνει τη φωτεινότητα ενός LED και το άλλο το μειώνει. Για να προχωρήσει
Κείμενο σε Μπράιγ και ήχο: 7 βήματα
Κείμενο σε Μπράιγ και ήχο: Αυτό το έργο δημιουργήθηκε από εμένα και τον φίλο μου Akiva Brookler ως σχολικό έργο για την τάξη μηχανικής μας. Η ιδέα πίσω από αυτό ήταν να δημιουργηθεί ένας τρόπος για τους τυφλούς που μπορούν να διαβάζουν μόνο σε μπράιγ να μπορούν να διαβάζουν κείμενο που αποστέλλεται στον υπολογιστή τους. Στην εποχή μας
8 Έλεγχος ρελέ με NodeMCU και δέκτη IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: 5 βήματα (με εικόνες)
8 Έλεγχος ρελέ με δέκτη NodeMCU και IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: Έλεγχος 8 διακοπτών ρελέ χρησιμοποιώντας nodemcu και δέκτη ir μέσω wifi και ir απομακρυσμένης και εφαρμογής Android. Το ir remote λειτουργεί ανεξάρτητα από τη σύνδεση wifi. ΕΔΩ ΕΙΝΑΙ ΕΝΗΜΕΡΩΜΕΝΗ ΚΛΙΚ ΕΔΩ
Διπλή βάση φόρτισης Ipod και κινητού τηλεφώνου: 4 βήματα
Μια βάση φόρτισης διπλού Ipod και κινητού τηλεφώνου: Μόλις πριν από λίγες μέρες ο κατασκευαστής στιγμιαίου καφέ μου δεν μπορούσε να φτιάξει καφέδες, έτσι κατέστρεψα το σώμα. Πήρα όλα τα χρήσιμα μέρη όπως διακόπτης, καλώδιο, μερικά εξαρτήματα κινητήρα. Το πλαστικό σώμα ήταν έτοιμο να το πετάξει όταν η γυναίκα μου μου έκανε δώρο ένα touch pod 2ης γενιάς. Και 'γώ το ίδιο