Sisällysluettelo:
- Vaihe 1: Hanki kaikki osat
- Vaihe 2: ESP32 -kortti
- Vaihe 3: MP3 -dekooderi
- Vaihe 4: Nextion -näyttö
- Vaihe 5: Kaikkien osien liittäminen
- Vaihe 6: Hankkeen koodi
- Vaihe 7: Viimeiset ajatukset ja parannukset
Video: Internet -radio käyttämällä ESP32: 7 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Hyvät ystävät, tervetuloa toiseen Instructableen! Tänään aiomme rakentaa Internet -radiolaitteen suurella 3,5 tuuman näytöllä käyttämällä halpaa ESP32 -korttia. Usko tai älä, voimme nyt rakentaa Internet -radion alle 10 minuutissa ja alle 30 dollarilla. Kattavaa on paljon, joten aloitetaan!
Muutama kuukausi sitten sain päätökseen Arduino FM Radio -projektin, joka toimii hyvin ja näyttää mielestäni vielä paremmalta. Jos haluat nähdä, kuinka rakensin tämän projektin, voit lukea Instructable -ohjelman täältä. Ongelmana on, että vaikka tämä radio näyttää siistiltä, se ei ole käytännöllinen, koska asun pienessä kaupungissa Etelä -Kreikassa ja suurilla kreikkalaisilla radioasemilla, joita haluan kuunnella, ei ole lähettimiä täällä. Joten, kuuntelen suosikkiradiota verkossa kannettavalla tietokoneella tai tablet -tietokoneella, mikä ei myöskään ole niin käytännöllistä. Joten tänään aion rakentaa Internet -radiolaitteen voidakseni kuunnella suosikkiradioasemiani ympäri maailmaa!
Kuten näette, projektin ensimmäinen versio on valmis leipäpöydälle. Käynnistetään se. Kuten näet, projekti muodostaa yhteyden Internetiin ja suoratoistaa musiikkia ennalta määritetyiltä radioasemilta.
Olen virittänyt Ateenan Real FM -radioaseman ja näillä painikkeilla voimme vaihtaa kuuntelemamme radioaseman. Olen tallentanut suosikkiradioasemani ESP32: n muistiin, jotta voin käyttää niitä helposti. Tällä potentiometrillä voin muuttaa kaiuttimen äänenvoimakkuutta. Näytän kuuntelemamme radioaseman nimen suurella 3,5 tuuman näytöllä, jossa on retrokäyttöliittymä. Projekti toimii hyvin ja se on erittäin helppo rakentaa.
Voit rakentaa saman projektin alle 10 minuutissa, mutta sinulla on oltava jonkin verran kokemusta. Jos tämä on ensimmäinen projektisi, harkitse ensin yksinkertaisen rakentamista saadaksesi kokemusta. Katso Instructables -oppaastani yksinkertaisia projektiideoita ja kun olet enemmän tyytyväinen Arduinon kanssa, elektroniikka palaa rakentamaan tätä siistiä projektia. Aloitetaan nyt oman Internet -radion rakentaminen.
PÄIVITYS 6.6.2019
Meluongelma on ratkaistu lisäämällä eristysmuuntaja. Tarkista päivitetty kaaviokuva. Kiitos!
Vaihe 1: Hanki kaikki osat
Tarvitsemme seuraavia osia:
- ESP32 ▶
- MP3 -dekooderi ▶
- Eristysmuuntaja ▶
- Vahvistin ▶
- 3 W kaiutin ▶
- 3,5 tuuman Nextion -näyttö ▶
- Painikkeet ▶
- Leipälauta ▶
- Johdot ▶
Hankkeen kokonaiskustannukset ovat noin 40 dollaria, mutta jos et käytä näyttöä, projektin hinta on noin 20 dollaria. Ihmeellistä tavaraa. Voimme rakentaa oman Internet -radion vain 20 dollarilla!
Vaihe 2: ESP32 -kortti
Projektin ydin on tietysti tehokas ESP32 -levy. Jos et tunne sitä, ESP32 -siru on suositun ESP8266 -sirun seuraaja, jota olemme käyttäneet monta kertaa aiemmin. ESP32 on peto! Se tarjoaa kaksi 32 -bittistä prosessointiytintä, jotka toimivat 160 MHz: llä, valtava määrä muistia, WiFi, Bluetooth ja monia muita ominaisuuksia, joiden hinta on noin 7 dollaria! Ihmeellistä tavaraa!
Katso yksityiskohtainen katsaus, jonka olen valmistellut tälle levylle. Olen liittänyt videon tähän oppaaseen. Se auttaa ymmärtämään, miksi tämä siru muuttaa tapaamme tehdä asioita ikuisesti! Yksi ESP32: n jännittävimmistä asioista on, että vaikka se on niin voimakas, se tarjoaa syvän lepotilan, joka vaatii vain 10μΑs virtaa. Tämä tekee ESP32: sta ihanteellisen sirun pienitehoisiin sovelluksiin.
Tässä projektissa ESP32 -kortti muodostaa yhteyden Internetiin ja vastaanottaa sitten MP3 -dataa kuuntelemaltamme radioasemalta ja lähettää joitain komentoja näytölle.
Vaihe 3: MP3 -dekooderi
MP3 -tiedot lähetetään sitten MP3 -dekooderimoduuliin SPI -liitännän avulla. Tämä moduuli käyttää VS1053 IC. Tämä IC on omistettu laitteisto MP3 -dekooderi. Se saa MP3 -tiedot ESP32: sta ja muuntaa ne todella nopeasti audiosignaaliksi.
Äänisignaali, jonka se lähettää tässä ääniliittimessä, on heikko ja meluisa, joten meidän on poistettava se kohinasta ja vahvistettava sitä. (Jos käytät kuulokkeita, signaalia ei tarvitse puhdistaa kohinasta tai vahvistaa.) Siksi käytän eristysmuuntajaa äänen poistamiseksi kohinasta ja PAM8403 -äänivahvistinta äänisignaalin vahvistamiseksi ja lähettämiseksi sitten. kaiuttimelle. Olen myös liittänyt kaksi painiketta ESP32: een vain vaihtaaksemme MP3 -suoratoistoa, josta saamme dataa, ja Nextion -näytön, joka näyttää kuuntelemamme radioaseman.
Vaihe 4: Nextion -näyttö
Päätin käyttää Nextion -näyttöä tähän projektiin, koska sitä on erittäin helppo käyttää. Meidän on kytkettävä vain yksi johto ohjaamaan sitä.
Nextion -näytöt ovat uudenlaisia näyttöjä. Heillä on takana oma ARM -prosessori, joka vastaa näytön ohjaamisesta ja graafisen käyttöliittymän luomisesta. Joten voimme käyttää niitä minkä tahansa mikro -ohjaimen kanssa ja saavuttaa upeita tuloksia. Olen laatinut yksityiskohtaisen katsauksen tästä Nextion -näytöstä, joka selittää perusteellisesti niiden toiminnan, käytön ja niiden haitat. Voit lukea sen täältä tai katsoa oheisen videon.
Vaihe 5: Kaikkien osien liittäminen
Kaikki mitä meidän on nyt tehtävä, on liittää kaikki osat yhteen tämän kaavion mukaisesti. Löydät kaavion liitteenä täältä. Yhteys on suoraviivainen.
On kuitenkin huomioitava kaksi asiaa. MP3 -dekooderimoduuli lähettää stereosignaalin, mutta käytän tässä projektissa vain yhtä äänikanavaa. Saadakseen äänisignaalin, liitin äänikaapelin moduulin ääniliitäntään ja katkaisin sen paljastamaan neljä johtoa sisällä. Yhdistin kaksi johtoa. Toinen niistä on GND ja toinen äänisignaali toisesta kahdesta äänikanavasta. Halutessasi voit liittää molemmat kanavat vahvistinmoduuliin ja ajaa kahta kaiutinta.
Jokaisen äänikanavan on mentävä eristysmuuntajan läpi melun poistamiseksi ennen vahvistimeen liittämistä
Jotta voimme lähettää tietoja näytölle, meidän on kytkettävä vain yksi johto ESP32: n TX0 -nastaan. Osien liittämisen jälkeen meidän on ladattava koodi ESP32: een ja meidän on ladattava graafinen käyttöliittymä Nextion -näyttöön.
Jos haluat ladata graafisen käyttöliittymän Nextion -näyttöön, kopioi InternetRadio.tft -tiedosto, jonka aion jakaa kanssasi tyhjälle SD -kortille. Aseta SD -kortti näytön takana olevaan SD -korttipaikkaan. Käynnistä sitten näyttö ja GUI ladataan. Poista sitten SD -kortti ja kytke virta uudelleen.
Kun koodi on ladattu onnistuneesti, käynnistetään projekti. Näytössä näkyy teksti”Connecting…” muutaman sekunnin ajan. Internet -yhteyden muodostamisen jälkeen projekti muodostaa yhteyden ennalta määritettyyn radioasemaan. Laitteisto toimii odotetusti, mutta katsotaan nyt projektin ohjelmistopuoli.
Vaihe 6: Hankkeen koodi
Ensinnäkin, näytän sinulle jotain. Projektin koodi on alle 140 riviä koodia. Ajattele sitä, voimme rakentaa Internet -radion 3,5 tuuman näytöllä, jossa on 140 koodiriviä, tämä on hämmästyttävää. Voimme saavuttaa tämän kaiken käyttämällä tietysti erilaisia kirjastoja, jotka sisältävät tuhansia koodirivejä. Tämä on Arduinon ja avoimen lähdekoodin yhteisön voima. Se tekee asioista helppoa valmistajille.
Tässä projektissa käytän ESP32 -levylle VS1053 -kirjastoa.
Aluksi meidän on määritettävä Wi-Fi-verkon SSID ja salasana. Seuraavaksi meidän on tallennettava joitain radiokanavia tähän. Tarvitsemme isäntä -URL -osoitteen, polun, jossa virta sijaitsee, ja portin, jota meidän on käytettävä. Tallennamme kaikki nämä tiedot näihin muuttujiin.
char ssid = "oma SSID"; // verkkosi SSID (nimi) char pass = "yourWifiPassword"; // verkkosi salasana
// Harvat radioasemat
char *isäntä [4] = {"149.255.59.162", "radiostreaming.ert.gr", "realfm.live24.gr", "secure1.live24.gr"}; char *path [4] = {"/1", "/ert-kosmos", "/realfm", "/skai1003"}; int -portti [4] = {8062, 80, 80, 80};
Olen sisällyttänyt tähän esimerkkiin 4 radioasemaa.
Asetustoiminnossa liitämme keskeytykset painikkeisiin, alustamme MP3-dekooderimoduulin ja muodostamme yhteyden Wi-Fi-verkkoon.
void setup () {
Sarja.alku (9600); viive (500); SPI.begin ();
pinMode (previousButton, INPUT_PULLUP);
pinMode (nextButton, INPUT_PULLUP);
attachInterrupt (digitalPinToInterrupt (previousButton), previousButtonInterrupt, FALLING);
attachInterrupt (digitalPinToInterrupt (nextButton), nextButtonInterrupt, FALLING); initMP3Decoder (); connectToWIFI (); }
Silmukkatoiminnossa tarkistamme ensiksi, onko käyttäjä valinnut eri radioaseman kuin se, jolta saamme tietoja. Jos näin on, muodostamme yhteyden uuteen radioasemaan, muuten saamme tietoja virrasta ja lähetämme ne MP3 -dekooderimoduuliin.
void loop () {if (radioStation! = previousRadioStation) {station_connect (radioStation); previousRadioStation = radioasema; } if (client.available ()> 0) {uint8_t bytesread = client.read (mp3buff, 32); player.playChunk (mp3buff, bytesread); }}
Siinä kaikki! Kun käyttäjä painaa painiketta, keskeytys tapahtuu ja muuttaa muuttujan arvoa, joka kertoo, mihin virtaan haluat muodostaa yhteyden.
void IRAM_ATTR previousButtonInterrupt () {
staattinen allekirjoittamaton pitkä last_interrupt_time = 0;
unsigned long interrupt_time = millis (); if (interrupt_time-last_interrupt_time> 200) {if (radioStation> 0) radioStation--; muuten radioasema = 3; } viimeinen_keskeytysaika = keskeytysaika; }
Näytön päivittämiseksi lähetämme vain joitain komentoja sarjaporttiin.
void drawRadioStationName (int id) {String -komento; kytkin (id) {case 0: command = "p1.pic = 2"; Serial.print (komento); endNextionCommand (); tauko; // 1940 Yhdistyneen kuningaskunnan radion tapaus 1: command = "p1.pic = 3"; Serial.print (komento); endNextionCommand (); tauko; // KOSMOS GREEK -tapaus 2: command = "p1.pic = 4"; Serial.print (komento); endNextionCommand (); tauko; // REAL FM GREEK -tapaus 3: command = "p1.pic = 5"; Serial.print (komento); endNextionCommand (); tauko; // SKAI 100.3 KREIKKA}}
Katsotaanpa nyt Nextion Display -käyttöliittymää. Nextion -käyttöliittymä koostuu taustakuvasta ja kuvasta, jossa näkyy radioaseman nimi. ESP32 -kortti lähettää komentoja radioaseman nimen muuttamiseksi upotetuista kuvista. Se on hyvin helppoa. Katso lisätietoja Nextion -näytön opetusohjelmasta, jonka olen valmistanut jokin aika sitten. Voit halutessasi suunnitella nopeasti oman käyttöliittymän ja näyttää siinä enemmän asioita.
Kuten aina, projektin koodi on tämän ohjeen liitteenä.
Vaihe 7: Viimeiset ajatukset ja parannukset
Tämä projekti on hyvin yksinkertainen. Halusin yksinkertaisen Internet Radio -projektirungon, jonka kanssa työskennellä. Nyt kun ensimmäinen versio projektista on valmis, voimme lisätä siihen monia ominaisuuksia sen parantamiseksi. Ensinnäkin minun on suunniteltava kotelo kaiken elektroniikan tallentamiseksi.
Tässä kaikkein kauneimmista radioista koskaan tehdyssä kirjassa on erittäin hienoja radioita, joista valita tämän projektin kotelo. Luulen, että aion rakentaa kotelon tämän upean Art Deco -radion ympärille. Mitä mieltä olette, pidättekö tämän radion ulkoasusta vai haluatteko jotain modernimpaa? Onko sinulla muita ideoita koteloinnista? Pidätkö myös tästä Internet Radio -projektista ja mitä ominaisuuksia mielestämme meidän on lisättävä siihen, jotta siitä olisi enemmän hyötyä? Haluaisin lukea ajatuksiasi ja ideoitasi, joten lähetä ne alla olevaan kommenttiosaan.
Suositeltava:
LED -kello käyttämällä neopikseleitä: 4 vaihetta (kuvien kanssa)
LED -kello, jossa käytetään neopikseleitä: Tervetuloa opastamaan LED -kellon valmistamista 60 neopikseliä käyttäen. Löydät 3 PDF -tiedostoa, joista toinen on kellon segmenttejä, toinen pohjaa ja lopuksi yksi malli liimaamista varten osiot yhdessä. Niin com
ESP32 -robotti servoja käyttämällä: 6 vaihetta (kuvien kanssa)
ESP32-robotti servojen avulla: Olen kokeillut erilaisia ESP32-kehityskortteja, tilasin äskettäin yhden TTGO T-Beam -lajikkeista, joissa on akkupistoke oman 18650 Lipon lisäämiseksi. rakentaa
Sarja -LED -valo käyttämällä monivärisiä LED -valoja: 3 vaihetta (kuvien kanssa)
Sarja -LED -valo käyttämällä monivärisiä LED -valoja: Sarja -LED -valo ei ole niin kallis, mutta jos olet DIY -rakastaja (harrastaja) kuten minä, voit tehdä omia sarja -LED -valoja ja se on halvempaa kuin markkinoilla oleva valo. aion tehdä oman sarja -LED -valon, joka toimii 5 volttia
Kosketa kytkinpiiriä käyttämällä transistoria MOSFET: 5 vaihetta (kuvien kanssa)
Kosketuskytkimen piiri käyttämällä transistoria MOSFET: Kuinka tehdä kosketuskytkinpiiri käyttämällä MOsfet -transistoria mihin tahansa sähköiseen projektiin Erittäin helppo projekti ja hyödyllinen kaikille piireille, jotka edellyttävät tällaista elektronista kosketuskytkintä
Kuinka laskea 0-99 käyttämällä 8051 -mikrokontrolleria, jossa on 7 segmentin näyttö: 5 vaihetta (kuvien kanssa)
Kuinka laskea 0: sta 99: een käyttämällä 8051 -mikrokontrolleria, jossa on 7 -segmenttinen näyttö: Hei kaikki, Tässä opetusohjelmassa kerromme, kuinka voit laskea 0: sta 99: een käyttämällä kahta 7 -segmenttistä näyttöä