スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

けいおん!!が終わってしまったから記念に・・・

非常に残念ながら、けいおん!!は放送終了してしまいました。

で、何か記念にと言う事で、「U&I feat PIC」を1時間程度で製作しました(軽っ

これは、以前にやったFF1の街BGMと同じやり方で、譜面だけ変えただけです。お手軽♪

今回は使う音が少なかったので、簡単でした。


君が傍に居るだけで いつも勇気もらってた

いつまででも 一緒に居たい この気持ちを伝えたいよ

晴れの日にも 雨の日も 君は傍に居てくれた

目を閉じれば 君の笑顔 輝いてる

君が傍に居ることを 当たり前に思ってた

こんな日々が ずっとずっと 続くんだと思ってたよ

ごめん 今は気づいたよ 当たり前じゃないことに

まずは君に 伝えなくちゃ 「ありがとう」を

君の胸に届くかな? 今は自信無いけれど

笑わないで どうか聴いて 想いを歌に込めたから

ありったけの「ありがとう」 歌に乗せて 届けたい

この気持ちは ずっとずっと 忘れないよ

想いよ・・・届け!


思い出したら泣けてきた・・・・・・

テーマ : プログラミング
ジャンル : コンピュータ

PWMで音を鳴らす 第三弾

どうもです。

あれから、例の試作プログラムを少し弄って、短くて簡単な曲くらいなら演奏できるようにしてみました。

と言っても、音階ごとにサブルーチンを作って、メインルーチンで並べるってだけですけどね^^;

もちろん、音階を増やしたり、結構応用が利くので、しばらくはこいつを弄り倒したいと思います(笑)



~~余談~~

BASIC言語、最強ですね(笑)
同じプログラムをC言語で書こうとすると、挫折すると思います。それをここまで簡単にこなしてくれるのも、MikroBASICのお陰です。これからも愛用していきます。



とりあえず、プログラム載せておきます。

※これは、16F648Aを2MHz作動させてるので、Delay関数で入力した値の半分が実際の時間になります。


program PWM_Music

sub procedure s

Pwm_Stop

end sub


sub procedure do1

Pwm_Init(220)
Pwm_Change_Duty(50)
Pwm_Start

end sub


sub procedure re

Pwm_Init(246)
Pwm_Change_Duty(50)
Pwm_Start

end sub


sub procedure mi

Pwm_Init(277)
Pwm_Change_Duty(50)
Pwm_Start

end sub


sub procedure fa

Pwm_Init(293)
Pwm_Change_Duty(50)
Pwm_Start

end sub


sub procedure so

Pwm_Init(329)
Pwm_Change_Duty(50)
Pwm_Start

end sub


sub procedure ra

Pwm_Init(369)
Pwm_Change_Duty(50)
Pwm_Start

end sub


sub procedure si

Pwm_Init(415)
Pwm_Change_Duty(50)
Pwm_Start

end sub


sub procedure do2

Pwm_Init(440)
Pwm_Change_Duty(50)
Pwm_Start

end sub


main:

CMCON = 0x07
TRISB.3 = 0
PORTB.3 = 0
CCP1CON = 0x0C
T2CON.2 = 1


while true

※ここに音階を入力
(例)
do1
delay_ms(2000)
s


wend


end.

テーマ : 電子工作
ジャンル : 趣味・実用

PWMで音を鳴らす 第二弾

どうもです。

とりあえず、先ほどのプログラムを書き込んでみました。が。

やはり鳴りませんねぇ・・・

っと、ここである事を思い出す。

MikroBASICには、あらかじめ登録してあるコンフィグ一覧にチェックを入れるだけで、自動的に適用してくれる便利な機能がついています。

そのコンフィグ一覧に、HSオシレータモードでチェック入れたような・・・。ちなみに今、動かそうとしてるのは内臓オシレータモードです。

見てみたら案の定でした。内臓オシレータモードに設定して、再度チャレンジ。


見事に鳴りました。やはり原因はそこだったのか!!!

とりあえず、テストとしては上出来だったです。後は、音階の調整などをやれば、完璧じゃないでしょうか。

と、今回はここまでにしておきます。また今度、気が向いたら何か曲を再生してみたいと思います。

テーマ : 電子工作
ジャンル : 趣味・実用

PWMで音を鳴らす 第一弾

どうもです。

最近何も出来事がなく、更新が鈍っていたのですが・・・

それはさておき、この前、PICでPWMを使って~って話をしましたよね。んで、やろうと思ったんだけど、手元にあった12F675ではCCPに対応してなくて諦めてたんですよ。

しかーし、16F648AがCCPに対応してるのを最近知ったのですよ・・・。もっと早く気づけばよかった・・・

16F648Aは、色々な場面で使えてとても便利なので、多めに在庫を置いてあります。


という事で、16F648Aを使ってPWMで音を鳴らすプログラムを作ってみたのですが・・・

まだ、作動させてないんですよね。書いてみただけ。多分動かないんじゃないかな・・・

program pwmtest

main:

CMCON = 0x07

TRISB.3 = 0

PORTB.3 = 0

CCP1CON = 0x0C

T2CON.2 = 1


while true


Pwm_Init(246)

Pwm_Change_Duty(50)

Pwm_Start

Delay_ms(2000)

Pwm_Stop



Pwm_Init(277)

Pwm_Change_Duty(50)

Pwm_Start

Delay_ms(2000)

Pwm_Stop



pwm_Init(293)

Pwm_Change_Duty(50)

pwm_Start

Delay_ms(2000)

Pwm_Stop



pwm_Init(329)

Pwm_Change_Duty(50)

pwm_Start

Delay_ms(2000)

Pwm_stop


wend

end.

テーマ : 電子工作
ジャンル : 趣味・実用

次回のネタ探し

どうもです。

最近、青画面との格闘ばかりで、電子工作ネタ出してなかったので、ここでちょいと予告。

近日、秋月で16F683を調達してきます。そんで、PWM制御のお勉強・・・と言うか、PWMを使って音を出すのを、やってみたいと思います。自分のストックには無かったんで^^;

○和音とかは、難しそうなので、後回し^^;

開発環境・言語は、いつものとおりMikroBASICです。何より、構造が簡単で、C言語より分かりやすいからです。

まあ、フリー版なので容量制限はありますが、そんなにデカイ物を作るわけではないので大丈夫です。

割り込み処理でも音出せるっぽいので、それをやるかもしれません。

テーマ : 電子工作
ジャンル : 趣味・実用

FC2カウンター
プロフィール
名前:どじょりん
年齢:18歳
埼玉県所沢市在住
2014/4から新社会人
常に金欠

どじょりん

最新記事
カテゴリ
月別アーカイブ
最新コメント
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。