注釈

こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebookへようこそ!Raspberry Pi、Arduino、ESP32を愛好する仲間たちと一緒に、これらの技術を深く探求しましょう。

参加する理由

  • 専門家のサポート: コミュニティやチームの助けを借りて、購入後の問題や技術的な課題を解決します。

  • 学びと共有: スキルを向上させるためのヒントやチュートリアルを交換します。

  • 独占プレビュー: 新製品の発表やプレビューに早期アクセスできます。

  • 特別割引: 最新の製品に対する独占割引を楽しめます。

  • フェスティブプロモーションとギブアウェイ: ギブアウェイやフェスティブプロモーションに参加できます。

👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今日参加しましょう!

2.1.4 ポテンショメータ

イントロダクション

ADC機能を使用してアナログ信号をデジタル信号に変換することができます。この実験では、ADC0834を使用してADC機能を実現します。ここでは、ポテンショメータを使用してこのプロセスを実装します。ポテンショメータは物理量である電圧を変化させ、ADC機能によってそれが変換されます。

コンポーネント

../_images/list_2.1.4_potentiometer1.png

回路図

../_images/image3111.png ../_images/image3121.png

実験手順

ステップ1: 回路を構築します。

../_images/image1801.png

注釈

チップを配置する際は、写真に描かれている対応する位置を参照してください。チップの溝が左側にあるように配置することに注意してください。

ステップ2: コードのフォルダに移動します。

cd ~/davinci-kit-for-raspberry-pi/nodejs/

ステップ3: コードを実行します。

sudo node potentiometer.js

コードが実行された後、ポテンショメータのノブを回すと、LEDの明るさがそれに応じて変化します。

コード

const Gpio = require('pigpio').Gpio;
const ADC0834 = require('./adc0834.js').ADC0834;

const adc = new ADC0834(17, 18, 27);
const led = new Gpio(22, {mode: Gpio.OUTPUT});

setInterval(() => {
    adc.read(0).then((value) => {
        console.log(`現在のアナログ値: ${value}\n`);
        led.pwmWrite(value);
    }, (error)=>{
        console.log("エラー: " + error);
    });
}, 100);

コードの説明

const Gpio = require('pigpio').Gpio;

pigpio モジュールをインポートします。

const ADC0834 = require('./adc0834.js').ADC0834;

adc0834 モジュールを使用するために ADC0834 コンストラクタをインポートします。

const adc = new ADC0834(17, 18, 27);

ADC0834オブジェクトをインスタンス化し、3つのパラメータはその3つのピンです。

これはプロミスオブジェクトです。以下のリンクからコンセプトを理解する必要があります。

setInterval(() => {
    adc.read(0).then((value) => {
        console.log(`現在のアナログ値: ${value}\n`);
        led.pwmWrite(value);
    }, (error)=>{
        console.log("エラー: " + error);
    });
}, 100);

100msごとにADC0834チャネル0(チャネル0はポテンショメータに接続されています)の値を読み取り、その値を value に格納します。

value を印刷し、それを使用してLEDの明るさを制御します。これで、ポテンショメータの値に応じてLEDの明るさが変化する様子が確認できます。

現象の写真

../_images/image1811.jpeg