1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

はじめに

RaspberryPiにはADC(Analog-to-digital converter)がありませんでしたが、picoには4chありました。
GP26(31pin)、GP27(32pin)、GP28(34pin)と内部温度センサです。

今回はGP26(31pin)にポテンショメータを接続して、電圧を表示したいと思います。

使用パーツ

秋月さんで販売しているポテンショメータを使用しました
https://akizukidenshi.com/catalog/g/gP-15813/

配線

ポテンショメータの裏から見て、
左側:VDDをpicoの36pin(3.3V out)へ接続
中央:Voutをpicoの31pin(ADC0)へ接続
右側:GNDをpicoの33pin(AGND)へ接続

ソース

adc_test.c
#include <stdio.h>
#include <pico/stdlib.h>
#include "hardware/adc.h"				// ADC使用

void main(void)
{
	unsigned int adcValue;

	stdio_init_all();
	adc_init();
	adc_gpio_init(26); 
	adc_select_input(0);				// ADC0を使用

	while(1){
		adcValue = adc_read();			// ADC取得
		printf("adcValue:%d\n", adcValue);
		sleep_ms(500);
	}
}

#CMakeLists.txtの書き方(printfを表示できるようにする)

CMakeLists.txt
cmake_minimum_required(VERSION 3.12)

include(pico_sdk_import.cmake)

project(adc)

pico_sdk_init()

add_executable(adc_test
	adc_test.c
)

target_link_libraries(
	adc_test
	pico_stdlib
	hardware_adc
)

# create map/bin/hex file etc.
pico_add_extra_outputs(adc_test)

# enable usb output, disable uart output
pico_enable_stdio_usb(adc_test 1)
pico_enable_stdio_uart(adc_test 0)

printfの表示方法

adc_test.uf2をpicoにdrag-and-dropします。
Ubuntuのターミナルを開き、「sudo gtkterm」と入力します。
パスワードを聞かれるので、パスワードを入力します。
「Configration→port」を選択します。
初期値のポートが「/dev/ttyS0」になっていますので、変更します。
私の環境では「/dev/ttyACM0」でした。
その他の設定はデフォルトのままです。
GTKTermの設定が終わると、500ms毎に、
adcValue:xxxx
と表示されると思います。

この時、ポテンショメータを動かし電圧が変化することが確認できます。

GTKtermのインストール方法

sudo apt install gtkterm
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?