Difference between revisions of "S18: RGB LED Sound Behavior on a Skateboard"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Schedule)
Line 102: Line 102:
 
**''Interface ADC with SJOne board for Microphone circuit''  
 
**''Interface ADC with SJOne board for Microphone circuit''  
 
*''IoT Communication''
 
*''IoT Communication''
**''Nordic Wireless Communication between SJones''
+
**''Sent a byte of data using Nordic Wireless Module between SJones''
 
*''PCB Design''
 
*''PCB Design''
 
**''Schematic Design''
 
**''Schematic Design''

Revision as of 01:48, 2 May 2018

Project Title

RGB LED Sound Behavior on a Skateboard

Abstract

Consumers are always looking to customize and decorate their belongings and clothes with lights and flamboyant colors. With music festivals, parties, and LEDs usage on the rise, we can design a behavioral system that influences the intensity and color of the RGB LEDs on products such as a skateboard, t-shirt, bike, or other countless products. The behavior LEDs can be a great attraction to music lovers and to other applications when Internet of Things (IoT) and groups of users are involved. Applications such as an echo or synchronized effect can be done and implemented using IoT.

Objectives & Introduction

The project focuses on the idea manipulating an array of LEDs based on sound input. The array of LEDs could mimic a sound equalizer, change colors based on the sound intensity, beat, or frequency of the music. This project would be placed on a transportation tool such as a bike or skateboard simply for the aesthetics. A microphone would feed the analog data, and then be converted to digital via 16 bit ADC. A PCB board will be used to power all LEDs, have a display terminal for user input features, and microphone connection. The data fed into the SJone board will then be filtered, processed, then sent to display onto the LEDs according to the music.

Team Members & Responsibilities

  • Alan Chen
    • LED Driver & sound behavior mechanics, code integration between members
  • Dhaval Raval
    • PCB design, Hardware Design
  • Sarvesh Harhare
    • Software
  • Kathan Patel
    • Data logging, IoT
  • Niraj Surti
    • Availability of data collected over local network to be accessed by other modules.

Schedule

Week# Start Date Planned Work Actual Work Progress
1 4/10/18 Project Job Discussion/Parts List Project Division Discussion/Project Scope Completed
2 4/17/18 WikiPage/PCB Design/Parts Ordered/Coding Majority Parts Received/Drivers Written Partially Complete
  • LED Driver
    • Write PWM Interrupt Driver and Test on LED Strip
  • PCB Design
    • Parts Buying/Designing
  • LED Driver
    • PWM Interrupt Driver (timing issues) Written and Debugging
  • Majority of Parts Ordered
  • Basic PCB Design for LED Strip
3 4/24/18 PCB Design/IoT/LED PCB Design/Start IoT/Testing LED Drivers In-Progress
  • LED Driver
    • Write Color Algorithm to change Colors on LED strip.
  • I2C Driver for 16 bit ADC
    • Achieve basic communication with ADS1115 and SJONE using I2C bus
  • PCB Design
    • Circuit Design and simulation
  • LED Driver
    • Write TC Interrupt Driver instead of PWM
    • Discover TC Interrupt can't achieve 800KHz also
    • Bought LED strip utilizing SPI and change LED strip colors
  • PCB Design
    • Microphone circuit design completed
    • Change in circuit as LED Strip is also changed
4 5/1/18 Implementation/Testing PCB/Coding TBA TBA
  • LED Driver
    • Integrate ADC/Equalizer Reading with LED color algorithm
    • Discuss Protocol and Driver for LED on Wiki
  • ADC/Equalizer
    • Interface ADC with SJOne board for Microphone circuit
  • IoT Communication
    • Sent a byte of data using Nordic Wireless Module between SJones
  • PCB Design
    • Schematic Design
  • LED Driver
    • Achieve SPI LED Communication
    • Discuss Technical Challenge of LED strip using 800KHz PWM on Wiki
  • IoT Communication
    • Data exchange between two SJone-boards using Nordic - Completed
  • PCB Design
    • Schematic has to changed according to the MSGEQ7 Chip
5 5/8/18 Testing/Debugging/Hardware Design TBA TBA
  • LED Driver
    • Develop more different LED Display Modes i.e. color/sound behavior
    • Update Wiki on Communication and LED Behavior based on Sound
  • PCB Designing
    • PCB Design and sending for fabrication
  • IoT Communication
    • Data Logging using Raspberry Pi
6 5/15/18 Debugging/Mounting/Finalizing TBA TBA
  • LED Driver
    • Troubleshoot and Make sure LED Strip works on IoT platform/Update Wiki
  • PCB Soldering
    • Mounting and Soldering the PCB
  • IoT Communication
    • Integration and Testing
7 5/22/18 Final Exam/Writing Report TBA TBA
8 5/23/18 Demo/Presentation TBA TBA

Parts List & Cost

Part Name Cost Qty Comments
SJone Board 2 LED behavior & IoT hub (send & receive)
Raspberry Pi 1 IoT communication
Skateboard 1 Project Mount
LEDs strips 1 2 Meter RGB LED strips
PCB 2 One for each SJone Board
NPN Transistors 2 PWM for RGB LED
Microphone 1 Receiver of Music
16 Bit ADC 1 Converter
SD Card 1
ESP WiFi module 1

Design & Implementation

The design section can go over your hardware and software design. Organize this section using sub-sections that go over your design and implementation.

Hardware Design

Discuss your hardware design here. Show detailed schematics, and the interface here.

Hardware Interface

In this section, you can describe how your hardware communicates, such as which BUSes used. You can discuss your driver implementation here, such that the Software Design section is isolated to talk about high level workings rather than inner working of your project.

Software Design

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.

State Machine -insert state machine-

  • SPI - LED's
  • SERCOM - IoT (Rasberry Pi)
  • Sound Filter - Digital Filter - Bandpass (noise)
  • LED algorithm- light change

Implementation

This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.

Testing & Technical Challenges

Describe the challenges of your project. What advise would you give yourself or someone else if your project can be started from scratch again? Make a smooth transition to testing section and described what it took to test your project.

Include sub-sections that list out a problem and solution, such as:

<Bug/issue name>

Attaining 800 kHz on a PWM LED Strip

Goal: Achieve 800kHz PWM on a LED strip (WS2812B).
Issue: Barely Reach 800kHz PWM using PWM Interrupt Driver and/or TC Interrupt Driver
Background TBA
Conclusion: Hardware can barely obtain ~800kHz waveform at the cost of RTOS performance and requires speed of a PLL CPU speed of 100MHz on SJone.

Utilize Different LED strip and change protocol to SPI.

Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

Any acknowledgement that you may wish to provide can be included here.

References Used

List any references used in project.

Appendix

You can list the references you used.