寝ても覚めてもPSoC

電子工作とマイコンをやりはじめました。
ど素人ですので配信する情報の取り扱いには十分注意してください。

BLE

2014年07月27日 | PSoC
超ひさびさw

BLEが面白いですね。
PSoCで何かつくりたいですね。

ping

2013年09月27日 | PSoC
ping

PSoC Designer 5.4

2013年05月24日 | PSoC
PSoC Designer 5.4がリリースされていました。

あけおめ2013

2013年01月03日 | その他
あけましておめでとうございます。
今年はいろいろアップしたいなぁ....

PSoCデザイナー 5.3がリリース

2012年10月17日 | PSoC
超久々の更新ですw
忙しくてPSoCで遊べません。

PSoC Designer Ver 5.3がリリースされていました。
オートルーティング機能が付いたみたいです。
とりあえずダウンロードはしましたが、インストールは...まだ

保守

2012年06月19日 | その他
保守です。

DSO NANO V2 ファームアップデート

2012年01月24日 | 電子工作
DSO NANO V2の最強ファームのBenF版がバージョンアップしてました!
最新版はVer 3.64です。

しかし、SDHCに対応しただけみたいですね...残念

ダウンロードは↓↓↓↓
http://www.seeedstudio.com/forum/viewtopic.php?f=12&t=1793&sid=8b6c0b805611629321fabfdcebace1ea

【アップグデート手順】
1.USBケーブルでPCとDSO NANOをつなぐ
2.DSO NANOの↓ボタンを押しながらDSO NANOを起動する
3.DfeSe Demo.exeを起動する
4.Verify after downloadにチェックを入れる
5.ChooseホタンでLIBファイルを選択し、Upgradeボタンを押してアップデートする
6.次にAPPファイルを選択し、Upgradeボタンを押してアップデート
7.DSO NANOの電源を切って、完了

まぁなんにしてもアップデートしてくれるのはありがたい事です!!

PSoCでKnightRider

2012年01月07日 | PSoC

年末、嫁が何を思ったかナイトライダーを観たいと言い出した。
どうせ正月もロクな番組をやらないのでレンタル屋で借りて観ました。
シーズン1の古いやつですww
日本のTV放送でカットされた部分は吹き替えが無いので残念。

で、観終わり、ナイトに影響されてPSoCで作ってしまいました
もはや定番のLEDピカピカですね!

サクッと作ったので何の工夫もありません。
同一のLEDを8個も持ってなかったのでLEDバーにしちゃいました。
しかも赤色が無かったので緑色というwwww
まぁ10秒も見てれば飽きがくる代物ですね。

構成はトランジスタアレイと抵抗アレイ、LEDバーにPSoCです。
PSoCはLEDの明るさ用にPWMを8個使いました。とてもシンプル!





携帯で撮った動画ですが、なかなか綺麗にアップできたなぁ...
これが一番の収穫かも。

PSoC Designer 5.2

2012年01月03日 | PSoC
あけましておめでとうございます
去年は後半何もしていませんでした。
時間が取れないのもありますが、ネタが無いってのも大きいですね。
まぁ無理せずやっていこうかなと。

さて、PSoC Designer 5.2が出てましたのでインストールしました。
何が変わったのかわからんぐらいです。(リリースノート見てませんw)

PSoCと言えば、巷では既に話題はPSoC 3/5になっているようです。
早く秋月に並ばないかなあ...というかDIP製品ってあるのかな


PSoCのPRS8を試す

2011年12月27日 | PSoC
前回から随分と間が空いてしまいました...www

先日、PSoCのPRS(汎用疑似乱数発生器)を使ったブログを拝見しました。
以前からPRSを使ってみたかったのですが、いまいち使い方がわからず放置していました
それでブログを見て、おぉ!これはありがたい!!ちょっとやってみようと気になりました。

PRS8_WritePolynomial()で多項式の値(ここでは0xB8)、PRS8_WriteSeed()でシード値を入れるとランダムな値を返すらしい。
シード値とありますが、この値を変えるとDuty比が変化します。
という事で、試しにVRでシード値を変化させるプロジェクトを作成しました。

ソースはこんだけです。
#define bPOLY_255 0xB8 // Modular Polynomial = [8,6,5,4] 10111000
#define bSEED_255 0xFF // Seed value [Duty%]
void main(void)
{
	INT iData;

	M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts

	PGA_1_Start( PGA_1_HIGHPOWER );

	ADCINCVR_1_Start( ADCINCVR_1_HIGHPOWER );
	ADCINCVR_1_GetSamples(0);
	
	PRS8_1_WritePolynomial( bPOLY_255 );	// load the PRS polynomial
	PRS8_1_WriteSeed( bSEED_255 );		// load the PRS seed
	PRS8_1_Start();				// start the PRS8

	while(1){
		while( ADCINCVR_1_fIsDataAvailable() != 0 ){
			iData = ADCINCVR_1_iGetDataClearFlag();
			PRS8_1_WriteSeed( (BYTE)iData );
		}
	}
}

PRS8のCompareOutから出力される信号をオシロでキャプチャしてみました。


Duty 3%


Duty 50%


Duty 100%

それぞれ平均電圧(Vavg)も予定通りです。
これで期待するのは乱数の取得ではなくてDCモーターを低速で回転させる事です。
単純にPWMで低Duty比だとDCモーターは回りません。でもPRSなら回るんじゃないかと...無理か?w
そのうちモーターを使った実験をしようと思います

プロジェクトファイルです。
デザイナ: 5.1 SP2
デバイス: PSoC CY8C29466 5V
コンパイラ:ImageCraft
PSoC_PRS8_29466.zip