Embedded-Software-Projects

Log | Files | Refs | README | LICENSE

README.md (1559B)


      1 # Projects in Embedded Software
      2 ## Hardware
      3 For these projects, an Arduino Every with an ATmega4809 microcontroller was used. The microcontroller was mounted on a custom adapter board to allow compatibility with Arduino UNO R3 Shields. A custom board was attached to the adapter, which included 10 LEDs, 1 potentiometer, 2 buttons, and 1 variable frequency generator.
      4 
      5 ## Software
      6 All software was written in C, using interrupts for all timer based features. 
      7 
      8 ## Project 1
      9 **Cylon animation with voltage reading**
     10 
     11 The board is programmed to do the following
     12 - Show a cylon animation (See [appendix 1](https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega4808-4809-Data-Sheet-DS40002173A.pdf)).
     13 - When a button on the board is held, show voltage reading from potentiometer.
     14 - Every 16 seconds, show a split view, voltage on the right, and cylon on the left.
     15 - If voltage reading <= 3V, set cylon animation speed to 0.125S.
     16 - If voltage reading > 3V, set cylon animation speed to 0.5S.
     17 
     18 All time based functionality was implemented using interrupts.
     19 
     20 ## Appendix
     21 ### Appendix 1: Cylon
     22 A cylon is a sequential activation of the LED:s.
     23 1. Turn on LED 1
     24 2. Turn off LED 1, and turn on LED 2.
     25 3. Turn off LED 2, and turn on LED 3.
     26 4. Repeat until you reach the end.
     27 5. Reverse procedure
     28 
     29 ### Appendix 2: ATmega 4809
     30 For more information, see [datasheet](https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega4808-4809-Data-Sheet-DS40002173A.pdf).
     31 
     32 ### Appendix 3: Adapter board
     33 ![Image of the board used for the projects](media/image_of_board_transparent.png)