# data[].attributes.body
A microcontroller is designed to control de function of a device. It does this by using its central processor via data it receives from its I/O peripherals. The microcontroller saves the momentary information in its data memory so that the processor accesses it and uses the instructions stored in its memory to guess and apply the incoming data. Next up, it is used its I/O peripherals to communicate and execute the proper action.

# data[].attributes.body
- Processor (CPU)
Processes and responds to the instructions that direct the function.
- Memory
Stores data received by the CPU and uses it to respond to the instructions. Program Memory stores long-term information, and Data Memory stores data temporarily.
- I/O Peripherals
Input and Output Devices are the CPU's interfaces to the outside world. Input Devices receive information and send it to the CPU as binary data, and Output Devices execute the tasks.

# data[].attributes.headline
Supporting Elements of a Microcontroller

# data[].attributes.subject
Supporting Elements of a Microcontroller

# data[].attributes.body
- Analog to Digital Converter (ADC)
An ADC is a circuit that converts analog signals to digital signals. It allows the processor to interface with external analog devices.
- Digital to Analog Converter (DAC)
A DAC performs the reverse function of an ADC. It allows the processor to communicate its outgoing signals to external analog components.
- System bus
It is the connective wire that links all components together.
- Serial port
It is an example of an I/O port. It has a similar function to a USB but differs in how it exchanges bits.

# data[].attributes.body
Among the characteristics of the microcontroller we find:

- The processor it contains may vary depending on the field to which it is to be applied. We can find some simple ones of 4 or 8 bits up to the most complex ones of 32 or 64 bits.

- They also have highly variable types of memory. They exist with volatile memories such as random access (RAM) and non-volatile memories such as electrically erasable programmable read (EEPROM) or electrically erasable programmable read (EPROM).

- They are designed to be easy to use, they can interact with components directly without the need for additional computing components. This is thanks to the fact that they have enough integrated memory.

- They come with two different architecture models: the Harvard one with a separate data and instruction bus and the Von Neumann one with a single data bus for data and instructions.

- It has two different models of processors: those with complex instructions (CISC) with around 80 instructions and reduced instructions one (RISC) with around 30.

- They can be programmed as they were originally in assembly language, but today, they can also be programmed with Python, JavaScript and the C programming language.

- They have integrated input and output pins to implement the desired peripheral functions.

By: Allyssa Palomo

# data[].attributes.body
Spaceship Simulator
It is a game in the style of Star Trek. There are four types of enemies with protective shields and missile systems. Also, you can find upgrades, a range of missions, and four difficulty levels.

Designer: archy05

Difficulty: Hard

Core Component:  Arduino Mega, RGB LED pixel matrix, WS2812 ring, 10-segment LED bar, dot matrix module, MP3 player module.