Creative Commons BY-NC-ND 2.5Questo sito e tutto il suo contenuto sono distribuiti sotto la licenza Creative Commons Attribuzione - Non Commerciale - Non opere derivate 2.5 Italia e con le condizioni d'uso definite nel disclaimer: siete pregati di leggere entrambi questi documenti prima di usufruire dei contenuti di questo sito. Per alcuni contenuti è necessaria una registrazione gratuita: non è necessario pagare e non è necessario accumulare punteggi per accedere agli articoli e scaricare i sorgenti. Basta solo essere onesti. Se volete che questo sito continui a rimanere attivo, a contribuire ogni giorno alla diffusione della cultura libera, non copiate il materiale per ripubblicarlo in altri luoghi : chi fa questo è solo un miserabile e un perdente. Se volete partecipare su settorezero e rendere le vostre idee, i vostri progetti, fruibili da tutti senza limitazioni, come dovrebbe essere in un paese civile e acculturato, potete farlo tranquillamente.

Fare musica ad 8 bit con un microcontrollore

Autore: Giovanni Bernardo | Data pubblicazione: 15 settembre 2009
Categorie: Atmel

the_hardware_chiptune_projectOramai sono sempre di più i ragazzi appassionati di elettronica che ci provano: utilizzare i microcontrollori in applicazioni per le quali non sono stati progettati, come appunto fare musica, e il più delle volte con risultati davvero strabilianti!!

E’ difatti possibile programmare un microcontrollore per fargli generare onde quadre con le frequenze che desideriamo, è arduo invece programmarlo per fargli eseguire una musica soprattutto se composta da più voci.

In tali casi si lavora con routine scritte in assembler e si sfruttano gli interrupt in maniera massiccia per poter sincronizzare gli strumenti.

Tra i tanti video che ho avuto occasione di vedere in rete, quello che mi ha colpito di più, per la bontà della musica, nonchè per l’esigua componentistica utilizzata nella realizzazione del progetto, e soprattutto per la disponibilità di schema elettrico e sorgenti, è questo:

Tutto quello che sentite nel video è generato unicamente da un microcontrollore AVR (un ATMega88) funzionante ad 8MHz con soli 8Kb di memoria programma e 2Kb di memoria ram! Con tali caratteristiche, che possono far ridere chi non è abituato a lavorare con tali dispositivi, si riesce a creare ciò che sentite nel video: tutto sta unicamente nella bravura del programmatore, capace di sfruttare fino all’osso le caratteristiche hardware del dispositivo, riuscendo a fargli fare cose impensabili (e in questo caso ha dovuto ovviamente comporre anche la musica, oltre a progettare lo schema elettrico e scrivere i software!).

Gli unici componenti attivi del circuito sono appunto il microcontrollore, il regolatore di tensione 7805 (per abbassare la tensione della pila 9V) e un integrato LMC662 contenente una coppia di amplificatori operazionali ad alto guadagno capaci di funzionare anche con alimentazione singola. Il segnale in uscita dal microcontrollore viene portato a livello linea da un convertitore A/D passivo e dai due operazionali.

Il segnale audio in uscita è composto da ben 4 voci! (ovvero sentite suonare 4 strumenti contemporaneamente, e vi assicuro che non è una cosa da poco per questi dispositivi!) e l’autore ha anche scritto un tracker ad-hoc su linux per comporre la musica.

Il ragazzo, svedese, si chiama Linus Åkesson e tutta la documentazione del suo fantastico progetto (schema elettrico e sorgenti del codice da caricare nell’AVR) si trova sul sito ufficiale : http://www.linusakesson.net/hardware/chiptune.php

Altri articoli

L'articolo ti è piaciuto o ti è stato utile per risolvere un problema? Supporta e mantieni in vita questo sito, ci basta soltanto un caffè o una birra.
Se desiderate che settorezero continui a rimanere gratuito e fruibile da tutti, non copiate il nostro materiale e segnalateci se qualcuno lo fa

Puoi lasciare un commento, o un trackback dal tuo sito.

  1. #1 da Laif il 18 maggio 2011

    Ciao Giovanni! ho bisogno di qualche consiglio,
    vorrei realizzare un progetto con il 16F877 che mi permetta di generare delle note musicali ( 4 ottave)
    in uscita su RD2 e poterle controllare tramite un potenziometro da 5K,per poi visualizzare ogni nota con la relativa
    frequenza su un display.
    Quale potrebbe essere la soluzione migliore per generare le note e l’algoritmo sapendo che come
    riferimento si prende il LA a 440HZ ?

    Timer 0?
    o semplici ritardi?

    Grazie Francesco

Devi essere collegato per lasciare un commento.

  1. Ancora nessun trackback
settorezero.com e il logo Zroid™ ©2007÷2012 Giovanni Bernardo - E' vietata la copia e la distribuzione anche parziale dei contenuti di questo sito web senza l'esplicito consenso dell'autore.
I contenuti di settorezero.com sono distribuiti sotto una licenza Creative Commons Attribuzione-Non Commerciale-Non Opere derivate 2.5 Italia a cui vanno aggiunte le condizioni d'uso definite nel disclaimer.
settorezero.com e tutti i suoi contenuti sono tutelati dalla legge sul diritto d'autore per cui i trasgressori sono perseguibili a norma di legge.
Creative Commons BY-NC-ND 2.5
Il tema di questo sito è basato sul tema Fusion per wordpress, realizzato originariamente da digitalnature e fa uso del plugin Wassup per il computo delle statistiche. Per contattare l'autore siete pregati di utilizzare la sezione contatti.
Per essere aggiornato con tutte le novità di settorezero.com seguici anche anche su Facebook Twitter Tumblr Blogspot Youtube.