Skip to content

Latest commit

 

History

History
15 lines (10 loc) · 1.15 KB

Hardware.md

File metadata and controls

15 lines (10 loc) · 1.15 KB

Hardware

ATL implements classes that represent and/or work with hardware ICs. As a general pattern this interfacing is always divided into two (or more if appropriate) classes.

  • Driver - implements how the hardware is interfaced to the Arduino.
  • Controller - implements the protocol to talk to the interfaced hardware.

The benefit of this separation is that the Controller logic which is always the same for a specific device or IC does not have to be touched when changing the way the device interfaces with the Arduino. Say a Driver initially is implemented using the Arduino's on-board pin's that are connected to the device in your schematic. When you wish to change that interfacing to say- a Serial3WireOutput, only the driver class needs to be replaced. So by separating the Driver from the Controller a minimal effort is required to adapt the code to your situation and a maximum amount of reuse is possible (the Controller).

The following hardware devices are currently supported:

  • 74HC595 shift registers. See General Purpose IO - Serial IO.
  • HD44780 LCD display.
  • TB6612FNG Motor Controller.
  • URM37 V3.2 Sonic Sensor.