犬の首輪

はじめに



だから犬を飼っています。

短い要約:

ニックネーム:リス

色:白と赤

品種:西シベリアンハスキーと他の誰か

起源:ノーブル

コスト:0p 0k



犬は食料と避難所のために自分のポーチで購入されました。 それは、品種の会社のロゴと製造業者の住所のない段ボール箱に食料と水が入っていない悪役によって捨てられました。 まあ、それは問題ではありません、私たちは低品質の商品を扱っていましたが、ここではそのような赤い顔で、完全に無料です。 どうぞ!

私は商品をそのまま受け入れなければなりません、NO-NAME。 おそらく中国製。 保証請求も誰に提示するのか不明確であり、彼らはそうでした-犬の虫はそれ自体よりも長かったです。 幸いなことに、これはすべて過去のものです。 獣は成長しました。 彼女は彼女の献身と服従を証明し、そのため彼女は首にロープなしで歩く機会を得ました。 これは単なる犬ではなく、綱なしの完全な4日間の歩行に使用される本物の犬の歩行者なので(私はまったく攻撃的ではありませんが、非常に好奇心が強く、従順です)、彼女は暗闇でも冒険を観察するために一種のビーコンを必要としました緊張して、どこへ行ったの。 しかし、彼女とは多くの関係があります。彼女のお気に入りの娯楽は、所有者に棒を持ってきて、彼に彼女を投げるよう要求することです。 まあ、彼女のビジネスを見つけます。 しかし、これは単なる犬ではなく、フォルダーがプログラマーであり、小さな電子技術者である犬です。 しかし、DealExtremeのシンプルな襟でさえ他の人の目を引きますが、子供たちは特に幸せです。 それだけの価値はありませんか? しかし、最初から始めましょう。 カットの下にたくさんのテキスト!



工場モデル

そこで、DXで暗闇で光る襟を注文しました。 好奇心re盛なら、 ここにあります。



住宅用電子機器



これは、電源を入れたときの彼のギブレットの外観です。



ライトガイドは実際には透明です。 ある種の柔軟なプラスチックまたはゴムでできており、LED用の切り欠きを備えた楕円形の断面を持ち、熱収縮で上部に取り付けられています。



購入に推奨できますか? 論点。 はい、いいえ。 なぜそうですか? 彼は働いています。 その光ガイドは本当に輝いており、3つのモードがあります-一定、点滅、高速点滅。 1つのCR2032バッテリーで駆動します。 約20mahの消費。 推奨しない理由 cな中国人が繊維の一部を節約してくれたので、私の犬にとっては首の半分しかありませんでした。 しかし、これでさえ、他の犬のブリーダー、そして特に印象的な市民からのすごい効果には十分です。 襟は最近、はるかに安く、 さまざまな色で登場しました。 ここで私は今待っています



新鮮な追加。 襟が来た、それは本当に私を失望させた。 彼は小さく、欠陥があり、非常にひどく作られています。 お勧めしません。

サイズと正確な特性を判断することはできません。まだ持っていませんが 、赤いものは私のプロジェクトには適していないため、 すぐになります 。塗装された襟には赤以外の色は見えません。 イベヤでも、さまざまな修正がたくさんあり、ドッグカラーのリクエストで検索されます。 そして、適切な襟の存在にもかかわらず、私はさらに行くことにしました!



したがって、主なアイデアは、RGB LEDにカラーを作成することでした。 中国ではそういうものは見つかりませんでしたが、誰も持っていない珍しいことをしたいです! まあ、これは単純な赤いウインカーよりも優れています! さて、アルドゥイン嫌いな人たちは走り始め、Atmelのマイクロコントローラーができることは点滅ダイオードだけだと言うでしょう。 そして、彼らは正しいでしょう-彼らは非常にうまくいきます、少なくとも出力はトランジスタをインストールする必要なしにLEDを完全に引っ張ります。 もちろん、私はアルドゥイノを襟に埋め込みませんでした。 しかし、AtMegaコントローラーで対処しました。 そこで、私はAtTiny13Aを選びました。 なぜA? なぜなら、彼らには難しい省エネ技術があるからです! それを理解しましょう!



省エネ

バッテリーで駆動しているので、なんとかエネルギーを節約する必要があります。 少なくともオフ状態。 スイッチを入れたくなかったので、オン、オフ、モードを切り替えるボタンは1つだけです。 データシートを喫煙した結果、襟が他の人のvy望に照らされる必要がないときに、余分なバッテリー電力を節約するのに役立つ特別なパワーダウンモードがあることがわかりました! 彼から始めましょう。 眠れる森の美女AtTinyが7つのノームとハンサムな王子の助けを借りずに目覚めるようにする特別なINT0割り込みがあります-右足に特別に訓練されたボタンを掛けるだけです! まあ、素晴らしい! ボタンでは、表示する必要があるすべての色を黒にリセットし、最後に選択したモードの設定をリセットし、ボタンのガタガタ音をすべて抑制し、押したときにダイオードをオフにし、もちろんモードを切り替えます-なぜこの単一のボタンが必要なのですか?



ISR (INT0_vect) 
{
	OFF_LED();
	WAITBUTTON();
	mode++;
	if (mode>MAX_MODE) mode=0;
	want_new_color=1;
	need_delay=0;
	R_value=0;
	G_value=0;
	B_value=0;
	ON_LED();
}
      
      







! , . , ! - ? , , , . , .





- . BAM! - , . . BAM. - . 0 255. , . — 1, 128 , — 64 , - 32, . . - . ! , , . , OCR0A. :



ISR(TIM0_COMPA_vect)
{
	OCR0A>>=1;
	if (OCR0A==0) OCR0A=0x80;

	// 
	uint8_t leds=0xFF;

	//    
	if (R_value&OCR0A) leds^=LED_R;
	if (G_value&OCR0A) leds^=LED_G;
	if (B_value&OCR0A) leds^=LED_B;

	//!
	PORTB=leds;
}
      
      







, BAM (Bit angle modulation) , (PWM – Pulse Width Modulation), ! , 600 (4.8, 8), 8, 5 , , . 8, , , ! ? , ! , :

OCR0A>>=1;
if (OCR0A==8) OCR0A=0x80;
      
      





, . ? , power-down, BAM . , ASM-, -128. … (FOREVERALONE.JPG)



? . ( , ). — 256 + . , . .



uint8_t inc_light(uint8_t value) {

	if (value<50) value++;

	else if (value<128) value+=2;
	else if (value<253) value+=3;
	else value=255;
	return(value);
}
      
      









. main() , R, G, B. . , « ». Random() , TCNT0. , .



if (want_new_color) {
	new_color=color;
	while((color==new_color)|(new_color==0)) {
		new_color=((TCNT0^(TCNT0>>3)) & 0b00000111);
	}	
	color=new_color;
	want_new_color=0;
}
      
      







, , - , , . .



. — . . — .

. — « ». - . , . . — , , . AVR Studio 4.18 build 700, WinAVR-20100110. 992 , . . , HEX . , . , .





, . , .



4 . BTN GND . AtTiny13A, . 2 CR2032 (6V), LP2980 5V 50mA. , 15mA. , «» , . , 3.3V. 9.6 . 47, 10V, B. , , . , , . 12V , .



, .









, . , ( ). ? !





— . , , ? , 7V, 5.5V . - , . 65 . , , . fail: , , . . , . , , . , .







— . . , !



,



. , , , , home video. . 18+, .



2. , . , , .




All Articles