Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Tablet Face

Many robots are built with installed tablets. Often the tablet is in a head. I was wondering if anyone has seen or could build a face that could be displayed on the screen. I have seen this idea around.

It consists of the basic face features eye brows, eyes and a mouth only. These features are able to move to show expression. Has anyone seen this feature or messed with one? Is it possible to build?

Ron R

Edit:
The idea is like ROMO. I want only the face which could be run by an EZB.

DJ possible?


ARC Pro

Upgrade to ARC Pro

Get access to the latest features and updates with ARC Early Access edition. You'll have everything that's needed to unleash your robot's potential!

#52  
Hey guys, just came across this....so I quickly scrubbed thru the previous pages, please forgive me if I am off topic!

There is one thing that could help connecting your laptop screen and you phone, it is an app called

http://trinusvr.com/

So if you managed to have all the stuff going on your PC you could just stream that window to you phone tablet or whatsoever and you animations would be displayed propperly....there are more apps doing this, but this one is by far the best one that I tested!

Hope this helps, or is fun to check out;)
#53  
@ANDY
I can't find my old project dude, sorry. I'll see if I can make a new Example Project when I get home.
#54  
@Mickey666Maus Thanks. Sounds good. I will look it over..

@Doombot No problem about the project. If you can or cannot make an example, Thanks..

I made a face in Power Point and animated it to look around and blink. I converted it to a .wmv file and it doesn't work thru the EZB, but works in media player.. I'll keep trying.

Ron
#56  
This looks good. I was thinking about using the Eve face from the Wallie movie. I thank you for helping me with the searches. I think the key is to keep it simple and mainly use the eyes only. (Like this last one you found). I will share my designs soon.

Best Regards,
Be Well,
Ron
United Kingdom
#60  
I don't think this is what you want, but...

If you want to keep a JD model in the same scale and have a tablet face, you could maybe 3D print a new head and incorporate the Sony smartwatch 3 in to the head.

The Sony SW3 is just a watch strap and the watch itself sits within the strap.

You could make watch faces that use and show expressions. Then also use IFTTT to send messages to twitter for the face to change at times of day or when you receive messages/emails, etc.
#62  
@Nomad why does @Dnwx want to see Moviemaker's robot? Did he ask to see it?
PRO
Belgium
#63  
oeps wrong topic sorry
PRO
Belgium
#64  
andy was it you looking for eva'a eyes to use?
#66  
Yes this is what I want ,,, and a how to do also.. Thanks Patrick !
PRO
USA
#68  
Has anyone figures out Andy's original question pertaining to animated faces on flat panels?

I also would like to be able to call up animations smile, sad whatever animations. Are these animations called by scripts, maybe even reactive to voice synthesis etc. or eyes that follow you using the camera?

EzAng
PRO
USA
#70   — Edited
ok, Thanks I tried that, it works, I will play around with it.

So to change face emotions, save different gifs or videos

I have the Wio terminal:
I got as far as the WIO terminal - no audio / speech , nor mouth moves etc.
check my kink out
https://youtu.be/GzJ97RnYYnM

from:

https://www.hackster.io/SeeedStudio/display-robot-face-using-the-wio-terminal-68f87a

works great, but has no audio 


This is the code I used for the Wio Terminal, how can it be used for a script in Synthiam?

#include <LovyanGFX.hpp>
#include <Servo.h>


Servo myservo;

//int outpin=D2;

int counter = 0;
int i = 0;
static LGFX lcd;
static LGFX_Sprite sprite(&lcd);

int pos = 0;

void drawEye(int x, int y) {
sprite.clear();
sprite.fillCircle(65,65,60,0xFFFF);
//sprite.drawEllipse(65,65,60,30,0xFFFF);
//sprite.drawFastHLine(5,62,120,0xFF);
sprite.fillCircle(x,y,15,0);
sprite.fillArc(65,65,60,1,180,360,0xED6E);
sprite.setPivot(65,65);
sprite.pushRotateZoom(80,70,0,1,0.5);
sprite.pushRotateZoom(240,70,0,1,0.5);
}

void sleepyEyes() {
int p_rect[4][4] = {{9,65,112,22},{22,65,86,41},{40,65,49,55},{63,65,4,59}};
sprite.clear();
sprite.fillCircle(65,65,60,0xFFFF);
sprite.fillCircle(65,70,10,0);
//sprite.fillArc(65,65,60,1,180,360,0xED6E);
sprite.setPivot(65,65);
for (int i=0;i<4;i++) {
sprite.fillArc(65,65,60,1,180,360,0xED6E);
sprite.fillArc(65,65,60,1,0,22*(i+1),0xED6E);
sprite.fillArc(65,65,60,1,180-(22*(i+1)),180,0xED6E);
sprite.fillRect(p_rect[i][0],p_rect[i][1],p_rect[i][2],p_rect[i][3],0xED6E);
sprite.pushRotateZoom(80,70,0,1,0.5);
sprite.pushRotateZoom(240,70,0,1,0.5);
delay(200);
}
delay(2000);
//sprite.pushRotateZoom(80,70,0,1,0.5);
//sprite.pushRotateZoom(240,70,0,1,0.5);
}


void setup() {
pinMode(WIO_5S_UP, INPUT_PULLUP);
pinMode(WIO_5S_DOWN, INPUT_PULLUP);

myservo.attach(0);

lcd.init();
lcd.setRotation(3);
lcd.setBrightness(128);
lcd.setColorDepth(16);
lcd.clear();

sprite.setColorDepth(16);
sprite.createSprite(130, 130);
drawEye(50,80);
lcd.drawArc(160,90,120,119,30,150,0xE800);

}

void loop() {
int x = random(15, 115);

for (pos = 0; pos <= 60; pos += 1) {
int l = pos + 20;
drawEye(l,80);
myservo.write(pos);
delay(80);
}

for (pos = 60; pos >= 0; pos -= 1) {
int l = pos;
drawEye(l,80);
myservo.write(pos);
delay(80);
}

delay(3000);

sleepyEyes();


}