組み込み設計では、ワイヤレス化が必要になる場合があります。遠隔に配置されたセンサーのさまざまな読み取り値を記録したり、ロボット、車の警報システム、スロット マシンのリモコンを単純に構築したりすることもあるでしょう。特殊なモジュールを使用すると、2 つの AVR マイクロコントローラ間の無線通信が簡単になります。このガイドでは、CityOfCoolValley.com は、ほとんどの電子機器や修理店で見つかる非常によく知られた RF モジュール TX433 および RX433 の実行を試みます。

TX433

送信機および受信機モジュールは 433.92MHz で正しく動作するように調整されています。送信機は 3 ~ 12V の電源で動作し、受信機は 5V を受け入れます。 5VはAVRマイクロコントローラーに一般的に使用されます したがって、インターフェースに問題はありません。モジュールにはコンポーネントを追加する必要はありません。電源を投入し、単一のデータ ラインを接続するだけで情報を送受信できます。より良い距離を得るには、30 ~ 35cm のアンテナを使用します。モジュールは振幅シフト キーイング (ASK) 変調方式を使用し、1MHz の帯域幅を使用します。

Atmega8 マイクロコントローラーのテスト用に 2 つの別個の回路が構築されています。

1️⃣送信機

The transmitter

2️⃣ レシーバー

The receiver

テストには、プロトタイピング ボードとブレッドボードが使用されました。また、RF アクティビティを示すために 1 つの LED が使用されました。

ソフトウェアに関して言えば、無線伝送は有線通信よりも少し複雑です。これは、放送中にどのような無線信号が存在するかが分からないためです。重要なのは、送信信号がどのようにエンコードされるかだけです。そして、これは多くの選択肢がある部分です。USART のようなハードウェア エンコーディングを使用するか、NRZ などの多くの終了メソッドの 1 つに基づいて独自のエンコーディングを作成します。ハードウェア エンコーダを使用すると、同期、開始と停止、さまざまな信号チェックなどの多くの問題が解決されます。

1 バイトの情報を送信するために形成される 4 バイトのデータ パッケージ。以下のものが含まれます:

  • ➡️ ダミー同期バイト 1 個 (10101010)
  • ➡️ 1 つのアドレスバイト – より多くの受信機または送信機がある場合に備えて
  • ➡️データ1バイト
  • ➡️チェックサムは実際にはアドレスとデータの合計(アドレス+データ)です

最初はダミー バイトが使えます。送信機がデータを送信しないとき、受信機は電源やその他のソースから発生するさまざまなノイズをキャッチします。これは、受信機が入力信号レベルに応じて入力ゲインを調整するためです。最初のバイトは、通常の信号を受け入れるように受信機を調整します。その後、アドレスバイト、データ、チェックサムを確実に読み取ることができます。さまざまな送信モジュールを使用すると、ダミー バイトを簡単に除外できます。

AVR Atmega8 用送信機プログラム:

The Transmitter Program for AVR

ここでは、UART 1200 ボーレートが使用されました。距離や環境により増減する場合があります。長距離の場合は、伝送エラーの可能性が高くなるため、ボーレートを低くすると効果的です。送信機の最大ビット レートは 8kbits/s、約 2400 ボーです。しかし、理論的に機能するものは、実際には機能しないことがよくあります。 1200 ボーが正常に動作する最大速度でした。

トランスミッターは 2 つのコマンド (LEDON と LEDOFF) を 100ms 間隔でレシーバーに送信します。受信機はこれらのコマンドを認識し、受信したコマンドに応じて LED をオンまたはオフに切り替えます。このようにして、転送されたデータが正しく動作しているかどうかを監視できます。 LED の点滅が周期的であれば、送信はエラーなく行われます。受信したデータにエラーがある場合、LED の点滅が短くなります。

受信機プログラムコード:

Receiver program code

void USART_Init(void)

void usart_init(void)

受信側プログラムは 4 バイトすべてを受信し、受信したバイトのチェックサムが受信したチェックサム値と同じかどうかを確認します。チェックサム テストに合格すると、受信機のアドレスが比較され、信号が受信機にアドレス指定されている場合はデータが分析されます。

アンテナ送信がなければ、モジュールが近くにある場合でも、誤りが大きくなります。下の図では、オシロスコープで確認された 4 バイトのデータ パケットを確認できます。黄色の信号は送信データライン(TX)から、青色の信号は受信データライン(RX)から取得されます。

Data packets

送信信号と受信信号の一致:

Transmitted and received signals

理想的な世界では、データ パッケージ間にノイズは存在しません。

マイコンを使ったスロットマシンの構築

最も人気のあるギャンブル方法の 1 つであるオンライン スロットは、お金を入れてリールが回転するのを眺めるだけなので簡単だと考えられています。実際には、さらに多くのことが起こっています。一般に、スロット マシンには 3 つ以上のリールがあり、それぞれにシンボルが含まれています。

物理的なスロット マシンには通常、リールごとに 20 個以上のシンボルがありますが、デジタル スロットではさらに多くのシンボルを持つことができ、数百万の組み合わせを保持する 256 個の異なるシンボルを持つものもあります。スロット マシンには、1 秒あたり何千もの組み合わせを生成できる乱数発生器も含まれています。勝ち負けは乱数によって決まります 再生ボタンを押した瞬間にジェネレーターが起動します。したがって、各スピンはランダムであり、以前または将来のスピンとは無関係であるため、何が起こるかを予測することは不可能です。

Slot Machine with Micro-Controllers

スロットマシンの仕組みは大きく2つの構成要素で構成されています。

    1️⃣ CPU – スロット マシンを操作し、ランダムな結果と賭け金を決定します。
  • 2️⃣ リール機構 – これには、回転可能なシャフトを備えたモーターと、シャフトに取り付けられたリールが含まれます。
スロット マシンもマイクロコントローラーを使用して構築されています。マイクロコントローラーはリールドライバーに組み込まれており、CPU とは別個に組み込まれています。これによりモーターが回転します。 CPU はリールドライバーに回転に関するコマンドを送信します。 CPU を他のタスクに解放するために、マイクロコントローラーは低回転操作を実行します。スロット マシンの一部の機能には、ナビゲーションと選択ボタンを使用して、LCD ディスプレイ画面からアクセスします。ボタンにはマイクロコントローラーを活用したアルゴリズムが使用されています。