# Reading ADC via HAL with Potentiometer and Displaying GUI on Serial Studio

## L*ab Objective:*

&#x20;   In this lab, participants will utilize the Infineon PSoC 6 microcontroller to interface with a potentiometer via the Hardware Abstraction Layer (HAL). The analog values from the potentiometer will be acquired using the ADC (Analog to Digital Converter) module. Subsequently, the acquired data will be visualized on Serial Studio through a graphical user interface (GUI), enabling real-time monitoring and analysis of the potentiometer's position and corresponding voltage values.

## 🔥 Requirements

<table><thead><tr><th width="429">Resources</th><th>Links</th></tr></thead><tbody><tr><td>Computer</td><td>💻</td></tr><tr><td>ModusToolbox™ software v3.0 or later</td><td><a href="https://www.infineon.com/modustoolbox">Link</a></td></tr><tr><td>CY8CKIT-062S2-43012 Infineon Board</td><td><a href="https://github.com/Advance-Innovation-Centre-AIC/BIIL_MTB-100_Hello_World_and_LED_Blinking_Programming_Template/assets/88732241/0215501d-b774-4045-8e64-ef49e28d8404">Link</a></td></tr><tr><td>Technical Report</td><td><a href="https://www.dropbox.com/scl/fi/amaxc94pte0ut2i1r5ewx/Technical-Report-Lab00.paper?rlkey=b3xm3vrerz9xgv1glb30cvy9z&#x26;dl=0">dropbox</a></td></tr></tbody></table>

## 🚩 Let start

### Create Application

<figure><img src="https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2FQjHqYXcCJmJtOt3prGdX%2Fimage.png?alt=media&#x26;token=a5303ab0-c52f-4ba4-a4fc-ee564c83cedf" alt=""><figcaption><p>Create Application</p></figcaption></figure>

### Coding

* Config code for Serial Studio
  * Open main.c&#x20;
  * Add the below code into `for(;;)` loop function

{% code title="main.c" %}

```c
// For Serial Studio
 printf("/*%d,%d*/\r\n", counter++, (int) ((adc_out*24)/3304866))
```

{% endcode %}

<figure><img src="https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2FTwR8hGT3NDUZO04kNkYd%2Fimage.png?alt=media&#x26;token=089c5dc6-b502-46a2-8cc0-20a2eb279025" alt=""><figcaption><p>Config code for Serial Studio</p></figcaption></figure>

* Save the file
* Build and Launch the Application

### Set up Serial studio for the board:&#x20;

* Open Serial Studio.&#x20;
* Navigate to the "Setup" section.&#x20;
* Locate the JSON file within your project's workspace and select it.&#x20;
* Select the appropriate port from the available options.&#x20;
* Click on "Connect" to establish a connection and start viewing the sensor data.

<figure><img src="https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2F197SrEmu2oPgyadh43FW%2Fimage.png?alt=media&#x26;token=371fefc1-c0c6-40df-9871-06bd7a283571" alt=""><figcaption><p>Add file.json</p></figcaption></figure>

<figure><img src="https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2FBEVGagRQaMODt4BV3qLR%2Fimage.png?alt=media&#x26;token=c2984ce3-2484-42f8-9cb3-e05a562b268a" alt=""><figcaption><p>Set up: COM Port  and Baud Rate</p></figcaption></figure>

### Set up Dashboard Project

<figure><img src="https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2FEVwULFcXo9ZKz9rgwZ0B%2Fimage.png?alt=media&#x26;token=063e9bd3-80ae-46f8-8922-bf20810aa78e" alt=""><figcaption><p>Open Project Editor</p></figcaption></figure>

<figure><img src="https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2FdTyfhHLoouB9mZxiStng%2Fimage.png?alt=media&#x26;token=15521cda-46d5-4480-a3fb-275970a23916" alt=""><figcaption><p>setup Project</p></figcaption></figure>

<figure><img src="https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2FVMj939rHydwcUH2qAm7m%2Fimage.png?alt=media&#x26;token=ce5132e2-ee54-4ac1-8623-3d2fdf548745" alt=""><figcaption><p>Setup Frame Index</p></figcaption></figure>

### Result&#x20;

<figure><img src="https://1856353139-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MClo3nC-1US0rbK8Qau%2Fuploads%2FDEJicEjZhNjwnqzloaSh%2Fimage.png?alt=media&#x26;token=996c4d3a-c67a-44f7-b55a-5666f073999d" alt=""><figcaption></figcaption></figure>

> #### 🎉 <mark style="color:blue;">Congratulations! You can now complete this lab</mark>

## Supported toolchains (make variable 'TOOLCHAIN')

* GNU Arm® embedded compiler v10.3.1 (`GCC_ARM`) - Default value of `TOOLCHAIN`
* Arm® compiler v6.16 (`ARM`)
* IAR C/C++ compiler v9.30.1 (`IAR`)

## Supported kits (make variable 'TARGET')

* [PSoC™ 62S2 Wi-Fi Bluetooth® pioneer kit](https://www.infineon.com/CY8CKIT-062S2-43012) (`CY8CKIT-062S2-43012`)
* [PSoC™ 62S1 Wi-Fi Bluetooth® pioneer kit](https://www.infineon.com/CYW9P62S1-43438EVB-01) (`CYW9P62S1-43438EVB-01`)
* [PSoC™ 62S1 Wi-Fi Bluetooth® pioneer kit](https://www.infineon.com/CYW9P62S1-43012EVB-01) (`CYW9P62S1-43012EVB-01`)
* [PSoC™ 62S3 Wi-Fi Bluetooth® prototyping kit](https://www.infineon.com/CY8CPROTO-062S3-4343W) (`CY8CPROTO-062S3-4343W`)

## Related resources

| Resources                       | Links                                                                                                                                                      |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ModusToolbox™ Software Training | [link](https://www.dropbox.com/sh/waj898o4o8eccx0/AAB3hBBaIQo2OvJ5-fubGJIha/training-modustoolbox-level1-getting-started-master/Manual/Ch2-Tools.pdf?dl=0) |

## Other resources

Infineon provides a wealth of data at [www.infineon.com](http://www.infineon.com) to help you select the right device, and quickly and effectively integrate it into your design.

## Document history

Document title: *BILL\_MTB-109* – LED Brightness using PWM via HAL<br>

<table><thead><tr><th width="149">Version</th><th>Description of change</th></tr></thead><tbody><tr><td>1.0.0</td><td>Lab 109: Learn how to Read ADC vai HAL with Potentiometer vai Serial studio. </td></tr></tbody></table>

## Authors:

* *Assoc. Prof. Wiroon Sriborrirux*
* *Mr. Sriengchhun Chheang*
* *Mr. Sabol Socare*<br>

<br>

***

© BDH Corporation, 2022-2023
