嵌入式系统代写代做代考 Embedded Systems Reconfigurable computing

Reconfigurable computing

Small Embedded Systems

Unit 1.4
Introduction to Arduino Hardware

The Arduino Project
Open source project to make embedded system programming accessible and standardised
Hardware boards and software development environment
Many companies produce clones of official Arduino boards
Also many other boards are produced that are compatible with Arduino software environment
Strong user community and ecosystem of equipment that can interface to the boards
Has inspired Arduino-like software for other platforms, e.g.
ChipKIT for PIC32 microcontroller boards
WiringPi for Raspberry Pi single board computers

Arduino Hardware Boards
Arduino Uno is the most well known board
ATmega 328P 8-bit microcontroller
Boot loader program pre-loaded into microcontroller
Board contains interface to enable USB to provide
Power
Programming
Serial communication to/from host computer

Arduino Hardware Boards

Ethernet

Relays

Motor control

Sensors
Board contains headers to make it easy to connect to
A wide range of daughterboards (called “shields”) is available that plug into headers

Arduino Hardware Boards
Large form factors are used mainly for prototyping
Smaller form factors are also available
Same microcontroller, but fewer features on board
On-campus labs will use Nano

Uno
Nano
Pro Mini

Arduino Simulator
TinkerCAD is free online simulator
Supports Arduino Uno and a wide range of components
Runs Arduino code (but not all libraries available)
Online-only labs will use Uno in TinkerCAD
tinkercad.com

Arduino Simulator
TinkerCAD is free online simulator
Supports Arduino Uno and a wide range of components
Runs Arduino code (but not all libraries available)
Online-only labs will use Uno in TinkerCAD
tinkercad.com

ATmega 328P
Member of the AVR family of microcontrollers
Developed by Atmel, now owned by Microchip

The Story of AVR: www.youtube.com/watch?v=HrydNwAxbcY

ATmega 328P
8-bit microcontroller
32 kByte flash memory
1 kByte EEProm
2 kByte RAM
3 timer/counters
Serial communications controllers:
USART
SPI
I2C
10-bit analog-digital converter
Multiplexed across 6 input channels

Pinout Diagrams
Diagram shows which resources are connected to which location on the headers
For example, we can connect to the ADC using any of the pins shown in green

www.pighixxx.com (https://creativecommons.org/licenses/by-sa/4.0)

Pinout Diagram for Nano
Nano pinout is almost identical to Uno

https://commons.wikimedia.org/wiki/File:Arduino-nano-pinout.png

Feather Development Boards
Range of Arduino-compatible development boards produced by Adafruit
Each is targeted at different application area
A range of daughterboards called “wings” is available

Ethernet

OLED display

Feather Huzzah
Feather development board targeted at Internet-of-Things
32-bit microcontroller ESP8266
Built-in WiFi (IEEE 802.11b/g/n)
4 Mbyte flash
32 kByte RAM
10-bit analog-digital-converter (single channel)
Serial communications controllers:
USART
SPI
I2C (software implementation)

Feather Huzzah Pinout
Diagram Shows what feature is available at what location
ADC is accessed on pin 17
LED is on pin 0

https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/pinouts

Feather Huzzah Pinout
Numbers in purple/green are numbers used in software IDE
Numbers in grey are pin numbers on the chip – don’t use them

https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/pinouts

Hardware discussed in this course
On-campus labs will use
Arduino Nano
Feather Huzzah (For Internet-of-Things capability)
Online-only labs will use
Arduino Uno
Discussion of internal operation of microcontrollers will focus mainly on ATmega328P
Simpler operation
Broader range of capabilities
Much better range of documentation available

Summary
Arduino ecosystem aims to make embedded programming accessible
Boards make it easy to flash application program into microcontroller and to communicate with host computer

Lavf57.71.100

/docProps/thumbnail.jpeg