# Report on LCD and Control Module

## What we found inside
One of the main components we wanted to work with was the comtrol module. It was a circuit board in the front that held a microcontroller, an LCD module, buttons that were activated using silicon buttons with a conductive base, and a variety of smaller components to support these.
### Microcontroller
The board had it's own microcontroller.

On further inspection and research, the microcontroller had functions to control the entire device. It had inputs from the buttons and outputs to the components to allow for tuning through FM and AM Oscillators, memory storage and button control to access them (through the numpad), and other such features. It allows:
**Tuning function:**
Manual tuning (up/down)
Direct tuning
Seek tuning
**Memory function:**
FM/MW/LW or TV/SW/WB each band 10 stations
**Clock function:**
Dual clock function
12/24H clock
Sleep timer function
Alarm timer function
**Other function:**
Battery check input
Here is a detailed map:

We wanted to hack the chip to be able to access these controls but we were not sure of how to go about this.
### LCD Module

The LCD module has number markers and some preset icons like battery low, alarm set, and a backlight. We wanted to open it up to see the component serial number, but this proved difficult due to deteriorated screws.

The pins above the controller are going to the screen and possibly some of the other pins around the microcontroller. On connecting the power button, the screen turned on, and faded away soon after, while showing the low battery message. (Indicating the activation of the battery checker?)

Here you can see the numbers and a few of the other icons.
### Buttons
The buttons had a silicon component with a conductive base, and circuitry inbuilt in the chip.

*The circuit buttons*

*The silicon buttons*

*The conductive part at the back*
The alternating teeth in the circuit were fascinating, and we played with this quite a bit later on.

It was difficult to understand the different points for accessing the individual buttons and we struggled with this quite a bit.
### Outputs
The clearly labelled outputs for the board helped us understand the controls immediately on opening the board.

The labelling for GND, POWER, BAND, FMOSC, AMOSC , BUZZ, LED, 3V3 helped us follow the circuit through and locate the oscillators, decode that the alarm used the amplifier and not a buzzer, etc.
## Component Details
Here are further details of the components:
| Image | Component | Manufacturer | Serial no. |
| ------------------------------------------------------------------------------------------------------------------ | --------------- | ------------ | ------------ |
|  | PCB | HAMco | H5080KEY |
|  | Microcontroller | Silan | SC9318FB-033 |
|  |LCD Screen| n/a |Text|
| | Silicon Buttons | n/a | Text |
## Our Goal
We attempted to transform part of the circuit board into capacitative touch sensors to build a digital controller

We repurposed the numpad buttons built-into the right side of the circuit board panel from the radio and connected it to the sensor pins of the Arduino.
The original board had 6 buttons on the left that were designed to change radio settings when touched; and 9 buttons on the right in the form of a numpad that were controlling saved radio stations.
To interface this with our computer, we soldered wires from the circuit-buttons on the radio’s PCB to the numbered input pins on the Arduino.

The soldering was a challenge as there were very few points for soldering. We had to use test points and other connected components to make it work.
Alongside the soldering, we set up the Arduino to work as a capacitative sensor. The code features 4 musical notes activated on touching the sensor inputs. The note was temporarily played from the buzzer on the Barduino. The code is as below:
```
void setup() {
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(46, OUTPUT);
}
void loop() {
int touch_1 = touchRead(4);
int touch_2 = touchRead(5);
int touch_3 = touchRead(6);
int touch_4 = touchRead(7);
if (touch_1 > 100000){
tone(46, 164.81, 100);
delay(100);
}
if (touch_2 > 100000){
tone(46, 87.31, 100);
delay(100);
}
if (touch_3 > 100000){
tone(46, 110, 100);
delay(100);
}
if (touch_4 > 100000){
tone(46, 220, 100);
delay(100);
} else {
noTone(46);
}
}
```
Each wire acted as its own input and each channel was programmed to output a different beat or frequency whenever it was touched. Allowing the pads to act as touch-activated musical controls.
At the end, it did work as a capacitative sensor, but did not behave correctly. Instead of each pad being assigned to a different corresponding Arduino pin, most of the pads played all the notes, but with random jittering and gaps in the sound that varied from pad to pad. On connecting more than one arduino pin, it behaved as if all of them were playing continuously.
## Moving Forward
The goal for next week is to manipulate or reinterpret the music that the radio originally played, using its touch sensor panel as a modern interactive interface. By using the Arduino, the working radio functions, one or more screens, and Touch Designer and other software, we would like to create some interesting interactive audio-visual effects and interactions.