Field
Product
Development Duration
Components
Atmel AVR
Development Tools
Atmel Studio
Project type
Personal Project
The device senses the vibration of a smartphone and lights up LEDs in different colors according to the vibration time. Different vibration patterns can be set for each notification to see the type of notification visually.





Programming a microcontroller using the C language.
Smartphones and mobile phones receive a variety of notifications. They also have mechanisms to notify users — for example, alarms, vibrations, and LEDs. However, as of 2014, I routinely set the device to silent mode, so I could not recognize what kind of notification I received by sound. In addition, the LED built into the device is small and difficult to notice. Therefore, I wondered if it would be possible to develop a device that would make it easier to recognize the receipt of messages visually.
An Arduino should be used for easy programming, but I took on the challenge of programming a microcontroller in pure C since I had no experience. The microcontroller was an ATtiny26, Atmel Studio was used for development, and the program was written using AVR writer. The circuit board was made with a Stripboard.
This time, development was limited to four types of notifications: (1) e-mail, (2) LINE, (3) incoming calls, and (4) others. I focused on the difference in vibration patterns as a way for the device to distinguish notifications. The number of vibrations is counted for each notification over a certain period of time. Therefore, it is necessary to set the vibration time differently for each notification.
Inclination sensors have a mechanism whereby the angle of the sensor causes the internal iron ball to move and short-circuit between the terminals. When vibration is applied to the tilt sensor, the terminals are repeatedly short-circuited and un-circuited at high speed, generating pulse waves. The number of pulses in a certain period of time is counted, and the notification type is recognized according to the count value.
LEDs light up in colors according to the vibration mode; LEDs blink gently in a cyclic fashion. The user can visually recognize the type of notification received by the device's color.






Experience in developing microcontrollers in C language
When working in a development environment used for the first time, it is more efficient to check sensor operation on a familiar programming language like Arduino and then move to the actual environment during the implementation stage.
By building a microcontroller circuit board, I realized that several functions are already integrated into a ready-made microcontroller board.