Introduction: Lip Synching Robot
This is a robot that lip-synching to the music and the voice .
It responds with sound hit the keyboard .
Please put in the vicinity of the radio and speaker .
Figure to be lip-synching to the music is very cute .
I hope you enjoy it !
Step 1: Material
- Arduino Pro mini 3.3v/8Mhz (Arduino Pro mini has a 4 pin.)
- 8 x 8 Led Matrix (32mm x 32mm)
- Sound Sensor Detection Module LM393 Chip Electret Microphone For Arduino
- USB cable
- LED Gradation Light (100 yen shop)
LED Gradation Light contains a 1.5V × 3 pieces of battery .If you do not use the USB cable is connected to the battery .
Step 2: Cut the USB Cable
Step 3: Check the Power Supply of 5V
You check with a tester that the 5V can be taken from the USB cable .
Step 4: To Make a Hole
Step 5: You Pass Through the USB Cable Into the Hole .
Step 6: Fixed With a Binding Band.
Step 7: Pull Does Not Come Off Also .
Step 8: Give Power to the Arduino.
USB 5V(+) to Arduino RAW
USB GND(-) to Arduino GND
Step 9: Connect the Microphone
Microphone +5V to Arduino VCC.
Microphone OUT to Arduino A4.
Microphone GND to Arduino GND.
Step 10: Replace the LED Matrix
It is very difficult.
Please to solder by bending the legs of the LED matrix as shown in the photograph .
Please note the position of the LED matrix of projection .
Step 11: Solder Is Difficult
Step 12: You Can Press the Case Put the LED Matrix .
Step 13: Sketch
Step 14: Attach Paste the Double-sided Tape on the Back of the Microphone
Secure the Matrix LED with an adhesive to the case .
Step 15: Done!
Please try to adjust the microphone when the face does not change .
It defines the facial animation in the first part of the sketch .
Please enjoy to change the face:-)
35 Comments
Question 5 years ago
Thanks for share.
I have a Arduino pro mini 5v and matrix led anode, and i got this. Pls! help :(
Answer 4 years ago
Bác có thể hướng dẫn e chi tiết ko. E kém tiếng anh quá nên không hiểu
Reply 4 years ago
Tôi không nói tiếng việt
Vui lòng sử dụng Google Dịch.
Reply 4 years ago
Don't worry, i will suport him, i'm speak vietnames.
Answer 5 years ago
I was edit code and like this image, thanks for support !
Answer 5 years ago
When using 5 V Arduino, please put the current limiting resistance.LED matrix is an anode and a cathode .I'm using a cathode .
Fix for the anode .Please try modified.I LED matrix of the anode does not confirm because it does not have :-p
goodluck:-)
void display()
{
cat < 7 ? cat++ : cat = 0;
digitalWrite( *(rows + cat), !LOW );
for ( ano = 0; ano < 8; ano++ ) {
digitalWrite( *(cols + ano) , !(*(layer + ano) >> cat ) & 0x01 );
delayMicroseconds(50);
digitalWrite( *(cols + ano), !LOW );
}
digitalWrite( *(rows + cat), !HIGH );
}
5 years ago
Thanks for share, SANUKI UDON. I make it, that really cool, can you give me a code with blue led matrix robot
And i fix this code with matrix 8x8 Anode, replace this code:
// 8 x 8 matrix LED
// ROW side cathode , COLOMN side of the anode
byte pins[17] = { -1, 9, 8, 7, 6, 5, 4, 3, 2, 17, 16, 15, 14, 13, 12, 11, 10};
const static byte cols[8] = {pins[ 9], pins[14], pins[ 8], pins[12], pins[ 1], pins[ 7], pins[ 2], pins[ 5]};
const static byte rows[8] = {pins[13], pins[ 3], pins[ 4], pins[10], pins[ 6], pins[11], pins[15], pins[16]};
6 years ago
Hello sorry i'm a noob on this but i'm trying to replicate this project,
am i doing it right? so far i have compiled the code and put it the proto but all the matrix gets iluminated, not the shape of smiley
Reply 6 years ago
Thank you for trying.
Is the orientation of the LED Matrix correct?
Is it correctly wired?
I think that you can give advice if you send me a picture.
7 years ago
Does it work with UNO? If yes how do the connections look?
Reply 7 years ago
Yes.
Please wire to Arduino UNO with the same pin number as Arduino MINI. Mini is 3.3V,UNO is 5 V,please put a resistance of 100 ohms to 150 ohms for each of the 8 pins on the right or left side of the 8x8 LED matrix.
Because I am far from good at English, I am sorry if I could not tell you what I wanted to do well.
Reply 6 years ago
oops... i just tried connecting to uno without resistance.. not sure what would happen
Reply 6 years ago
I am praying that you will succeed.
7 years ago
Hi! I'm ready with the hardware part of the project but I have problem with the software. When I try to compile the code this error appears:
C:\Users\PC\Desktop\LipSynchingRobot\LipSynchingRobot.ino:22:77: warning: narrowing conversion of '-1' from 'int' to 'byte {aka unsigned char}' inside { } [-Wnarrowing]
C:\Users\РC\Desktop\LipSynchingRobot\LipSynchingRobot.ino: In function 'void setup()':
LipSynchingRobot:165: error: 'display' was not declared in this scope
exit status 1
'display' was not declared in this scope
I'm new to arduino and I don't know how to fix it. Could you help me with this?
7 years ago
Having issues, if i wire it your way i am unable to make the circuit
work. I rewired it to use tutorials with pictures and text. I worked
out my pin out with setting low and highs and output or not to determine
all the pins. This makes all other script work but for some reason when
i change the const static byte cols to my pins it just turns on all
led's. I have checked the polarity is not the wrong way around as if i
swap them over some led are being powered on 2 rails and dim.
// ROW side cathode , COLOMN side of the anode
const static byte cols [9] = { 2,7,17,5,10,16,11,14};
// 2-dimensional array of column pin numbers:
const static byte rows [8] = { 9,8,4,3,15,13,12,6 };
Reply 7 years ago
Also tried swapping the const static byte to int with no luck (the 9 instead of an 8 is a mistake i changed it and it makes no diference)
Reply 7 years ago
To change the sketch to your message I now in the picture.Please try an original program once.
>// ROW side cathode , COLOMN side of the anode
>const static byte cols [8] = { 2,7,17,5,10,16,11,14};
>// 2-dimensional array of column pin numbers:
>const static byte rows [8] = { 9,8,4,3,15,13,12,6 };
7 years ago
Same here....as soon as I power up, the whole matrix lights up.
Reply 7 years ago
LED matrix is an anode and a cathode .
I'm using a cathode .
Fix for the anode .
Please try modified.
I LED matrix of the anode does not confirm because it does not have :-p
void display()
{
cat < 7 ? cat++ : cat = 0;
digitalWrite( *(rows + cat), !LOW );
for ( ano = 0; ano < 8; ano++ ) {
digitalWrite( *(cols + ano) , !(*(layer + ano) >> cat ) & 0x01 );
delayMicroseconds(50);
digitalWrite( *(cols + ano), !LOW );
}
digitalWrite( *(rows + cat), !HIGH );
}
Reply 7 years ago
I think that it heal if symptoms such as photos .I tried to run the anode of the program to the cathode of the LED matrix .