Radio FM avec carte de dérivation Si4703, LCD et Arduino (7 / 9 étapes)

Étape 7: Arduino codage

Ce code que j’ai écrit est assez simple. Lorsque vous allumez la radio en connectant l’Arduino au pouvoir, la radio est réglée sur une station fixe dont la fréquence s’affiche sur l’écran LCD ainsi que les mots "Radio FM". De ce point, vous pouvez utiliser les boutons poussoirs momentanés tuner + ou tuner - pour trouver la station désirée et regardez-le de mettre à jour sur l’écran LCD.

Comme je l’ai plusieurs entrées audio dans mon jukebox, j’ai décidé d’avoir la carte de dérivation Si4703 définie sur un certain niveau de volume et je pouvais régler le volume de mes haut-parleurs à l’aide de boutons poussoirs sur la façade de la librairie à côté des boutons de tuner. Vous pouvez facilement ajouter quelques touches plus momentanés à l’Arduino pour contrôler le niveau de volume du module radio lui-même bien.

Donc je pense que c’est la fonctionnalité de base du code a expliqué, voici le code réel de Arduino si :

DÉBUT DU CODE

/*
Le circuit :

LCD (numéro de pièce Jaycar QP5520)

* Broche RS à la broche numérique 8

Permettre de broche à broche numérique 9

* DB4 broche à broche numérique 4

* DB5 broche à broche numérique 5

* DB6 broche à broche numérique 6

* DB7 broche à broche numérique 7

* R/W pin au sol

* Pin VSS à terre

* Goupille de la DMV à 5V

* Pin VO au sol

* A (+) broche à 5V via une résistance de 220 ohms [rétro]

* K(-) broche à la masse [rétro]

Carte de dérivation Si4703

* Pin SDIO pour broche analogique 4 (Via logique niveau convertisseur) fil jaune

* Pin SCLK analogique broche 5 (Via logique niveau convertisseur) à câble bleu

* Broche RST à la broche numérique 2 (Via logique niveau convertisseur) fil blanc

* GND à la terre

* + 3, 3V à 3.3V

Convertisseur de niveau logique

* HV à 5V

* LV à 3,3 v

* HV1 pour Arduino broche analogique 4

* LV1 à broche Si4703 SDIO

* HV2 Arduino broche analogique 5 à

* LV2 sur broche de Si4703 SCLK

* HV3 pour Arduino broche numérique 2

* LV3 à la broche de Si4703 RST

* GND à de GND

Entrées de bouton poussoir momentané (N/O) (numéro de pièce Jaycar SP0716)

* Un bouton poussoir momentané 1 + 5V___button___digital broche 10 (chercher vers le bas) avec 10kohm déroulant : résistance à la terre

* Un bouton poussoir momentané 2 + 5V___button___digital broche 11 (chercher vers le haut) avec 10kohm tirer vers le bas de la résistance à la terre * /

inclure le code de bibliothèque :

#include "<" LiquidCrystal.h">"

#include "<" Si4703_Breakout.h">"

#include "<" Wire.h">"

définir les axes de l’écran LCD
int RS = 8 ;

int E = 9 ;

int DB4 = 4 ;

int DB5 = 5 ;

int DB6 = 6 ;

int DB7 = 7 ;

définir les broches pour le Si4703

int resetPin = 2 ;

int SDIO = A4 ;

int SCLK = A5 ;

définir les broches pour les boutons poussoirs seek

int channelDown = 10 ;

channelUp int = 11 ;

initialiser la bibliothèque avec les numéros des broches interface

Initialisation de l’écran LCD

Innovente lcd (RS, E, DB4, DB5, DB6, DB7) ;

Initialisation de Si4703

Radio Si4703_Breakout (resetPin, SDIO, SCLK) ;

Définir les variables de la radio

canal int ;

volume int ;

void setup()

{

définir les goupilles poussoir comme entrées

pinMode(channelDown,INPUT) ;

pinMode(channelUp,INPUT) ;

Delay(1000) ; retard pour tenir compte de la mise sous tension de l’Arduino et décalage pour obtenir l’écran LCD en cours d’exécution

mis en place nombre de l’écran LCD de colonnes et de lignes :

LCD.Begin (16, 2) ;

Allumez la radio et régler le volume au niveau désiré

radio.powerOn() ;

radio.setVolume(15) ; volume 0 à 15 ans

Réglez la radio sur une fréquence par défaut (Nova 96,9 MHz FM)

Channel = 969 ;

radio.setChannel(channel) ;

affichage d’un titre « FM Radio » à la ligne 0 de l’écran LCD, centré sur

(Remarque : la ligne 1 est la seconde ligne, puisque le décompte commence par 0) :

lcd.setCursor(0,0) ;

LCD.Print ("Radio FM") ; montrer la fréquence du canal sur l’écran LCD, centré sur

lcd.setCursor(0,1) ;

LCD.Print ("96,9 MHz");}

void loop()

{

Vérifiez si le bouton channelUp a été enfoncé, le cas échéant demander pour un canal

Si (digitalRead(channelUp) == HIGH)

{

Channel = radio.seekUp() ;

updateLCD() ;

}

Vérifiez si le bouton de channelDown a été appuyé, dans l’affirmative chercher vers le bas pour un canal

ElseIf (digitalRead(channelDown) == HIGH)

{

Channel = radio.seekDown() ;

updateLCD() ;

}

}

Sub updateLCD()

{

convertir la chaîne de nombre entier en une chaîne à ajouter décimale et « MHz » avant l’affichage sur écran LCD

String channelString = String(channel) ;

Chaîne de fréquence ;

Si (channelString.length() == 3) //if la fréquence est de 3 chiffres, placez une virgule après le deuxième chiffre

{

fréquence = channelString.substring(0,2) + "." + channelString.substring(2) + « MHz » ;

}

ElseIf (channelString.length() == 4) //if la fréquence est de 4 chiffres, placez une virgule après le troisième chiffre

{

fréquence = channelString.substring(0,3) + "." + channelString.substring(3) + « MHz » ;

}

tout d’abord effacer la ligne 1 de l’écran pour le compte de transition entre les fréquences de chiffres 3 et 4

lcd.setCursor(0,1) ;

LCD.Print("") ;

mise à jour de la fréquence sur l’écran LCD

lcd.setCursor(4,1) ;

LCD.Print(Frequency) ;

}

FIN DU CODE

J’ai lu que la carte de dérivation est également en mesure d’obtenir d’autres informations telles que les noms de la chanson, mais je n’ai pas trouvé beaucoup plus d’informations à cet égard et chaque fois que j’ai essayé le RDS, rien n’est arrivé. Pour une mise à jour de ce projet, il serait cool de supprimer la ligne « FM Radio » de l’écran LCD et remplacez-le par le nom de la chanson qui joue actuellement. Si quelqu'un sait comment faire cela ou peut partager des informations, je serais ravi de vous entendre !

Articles Liés

Utilisez la carte de dérivation Si4703 FM sur Arduino Uno

Utilisez la carte de dérivation Si4703 FM sur Arduino Uno

dans ce post, je sera démonstration comment utiliser carte de dérivation SI4703 FM sur Arduino UnoCarte de dérivation Si4703 FM pour le circuit tuner Silicon Laboratories Si4703 FM.Au-delà d'être une simple radio de FM, le Si4703 est également capabl
Capteur Maxbotix Lv-EZ avec carte de dérivation Cylonjs et Edison Arduino

Capteur Maxbotix Lv-EZ avec carte de dérivation Cylonjs et Edison Arduino

Cette instructable est destiné aux utilisateurs qui souhaitent la série Ez LV Maxbotix capteurs à l'Edison avec carte de dérivation arduino, avec cylonjs ou johhny-cinq de l'interface.Étape 1: Vous aurez besoin des choses.1) Edison avec carte de déri
Comment utiliser le Conseil de Si4703 de Radio FM avec RDS - Arduino Tutorial

Comment utiliser le Conseil de Si4703 de Radio FM avec RDS - Arduino Tutorial

Il s'agit d'une carte d'évaluation pour le circuit tuner Silicon Laboratories Si4703 FM. Au-delà d'être une simple radio de FM, le Si4703 est également capable de détecter et traiter des informations des Service de données Radio (RDS) et Radio Broadc
TEA5767 FM Radio carte de dérivation pour Arduino

TEA5767 FM Radio carte de dérivation pour Arduino

j'ai récemment n'a pas pu résister à l'achat de deux modules de TEA5767 FM Radio sur eBay pour presque rien. Ces petits modules utilisent le protocole série I2C et sont donc idéales pour se connecter à un Arduino.Il y a plus d'informations et d'autre
Mise en route avec la carte de dérivation de l’ESP-12 Daflabs ESP8266

Mise en route avec la carte de dérivation de l’ESP-12 Daflabs ESP8266

Ce guide est le guide du débutant rapide qui montre comment utiliser la carte de dérivation ESP-12 avec le CP2102.Vous aurez besoin :1. Daflabs ESP-carte de dérivation 122. CP2102 USB série UART module3. fils de raccordement4. maquette (facultatif)Et
Assembler le Conseil d’EDISON INTEL® avec la carte de dérivation MINI de EDISON INTEL®

Assembler le Conseil d’EDISON INTEL® avec la carte de dérivation MINI de EDISON INTEL®

Dans ce instructable, vous allez vous connecter le module Intel® Edison à un Comité d'évasion mini Intel® Edison.Exigences en matière> module Intel Edison> carte de dérivation mini de Edison Intel> 2 B micro aux câbles USB de Type ANotez que la c
Une petite carte de dérivation pour ICs DIP avec des résistances de sortie

Une petite carte de dérivation pour ICs DIP avec des résistances de sortie

Bonjour à tous.Il s'agit de mon premier instructable ! Si vous avez des suggestions ou des questions, n'hésitez pas à m'envoyer un MP.Après avoir reçu mon bon marché (horriblement emballé, c'est ce que vous obtenez pour être un radin) Maj 74HC595 reg
Carte de dérivation pour ESP 8266 01 avec CP2102

Carte de dérivation pour ESP 8266 01 avec CP2102

Remarque : Ce projet a été réalisé par un groupe d'étudiants de Polytechnique Singapour(Auteur : William Tan). Les outils et les composants ont été fournis par notre superviseur FYP M. Teo Shin Jen.Bonjour tout le monde, je vais commencer en parlant
Daft Punk LED matrice carte de dérivation

Daft Punk LED matrice carte de dérivation

j'ai été toujours impressionné par la Table de Daft Punk.  Pouvoir un tas de LEDs s'allument et les flash en modèles a tant d'applications.  C'était une des raisons pourquoi j'ai acheté un Arduino voir comment il pourrait contrôler une matrice de LED
Carte de dérivation USB

Carte de dérivation USB

Il s'agit d'une évasion USB très simple que j'ai fait en une demi-heure alors que je pouvais contrôler certains USB alimenté les lumières de Noël avec un Arduino et un module de relais.Il y a trois façons de connecter la clé USB avec ce Conseil :Soud
Tension divisant carte de dérivation

Tension divisant carte de dérivation

Je travaille sur un projet complexe qui m'obligeait à faire un diviseur de tension. Je suis documenter l'autre projet très soigneusement dans le cadre d'une résidence au Signal Culture à Owego NY. J'ai pensé que je partagerais ma démarche sur ce sous
Double pont en H - carte de dérivation L298 - maison

Double pont en H - carte de dérivation L298 - maison

il s'agit de ma maison double pont en H en utilisant le L298N IC.Pour contrôle DC motors ou étape moteurs ao autres fins tout comme vous avez besoin.D'autres projets :Étape 1: Matériel et matériaux Composants :1 x perf trous de Conseil 13 x 26 (3,5 x
Carte de dérivation WS2812B

Carte de dérivation WS2812B

Il s'agit juste d'une utilisation simple pour WS2812B LEDÉtape 1 :Vraiment pas grand chose d'un ible. Et mon premier. J'ai eu un tas de nu WS2812B LED, je voulais jouer avec mais ils ne sont pas maquette sympathique. Donc, j'ai eu quelques Conseil de
En utilisant la carte de dérivation pour Microphone MEMS ADMP401 sur pcDuino

En utilisant la carte de dérivation pour Microphone MEMS ADMP401 sur pcDuino

Introduction au module :Carte de dérivation pour Microphone MEMS ADMP401 est un hypersensible microphones omnidirectionnels. Son PCB est très faible, un signal de sortie est simple, avec seulement 3 sortie de signal, un SCR (puissance positive), un G