Hackster is hosting Hackster Holidays, Ep. 4: Livestream & Giveaway Drawing. Start streaming on Wednesday!Stream Hackster Holidays, Ep. 4 on Wednesday!
Mahir Parmar
Created December 31, 2019 © GPL3+

Page Flipper

A robot that flips pages in order to assist people with disabilities, physical impairments, or cooking, building, or making music.

IntermediateFull instructions provided3 hours25
Page Flipper

Things used in this project

Hardware components

Mindstorms EV3 Programming Brick / Kit
LEGO Mindstorms EV3 Programming Brick / Kit
×1
Echo Show (2nd Gen)
Amazon Alexa Echo Show (2nd Gen)
×1

Software apps and online services

Visual Studio 2015
Microsoft Visual Studio 2015
LEGO LeoCAD

Story

Read more

Custom parts and enclosures

pageflipper.ldr

CAD build of the page flipper
Link to software - https://www.leocad.org/download.html

pageflipper.MOV

CAD Video for the build steps of the page flipper

Schematics

pageflipper.mp4

Video demoing the working project

Code

pageflipper.zip

Python
Working gadget source code files to deploy in ev3
To deploy: run python3 pageflipper.py in a SSH Terminal
No preview (download only).

Alexa_skills.json

JSON
Single Node JS Lambda file for Alexa deployment
{
    "interactionModel": {
        "languageModel": {
            "invocationName": "page flipper",
            "intents": [
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.HelpIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NavigateHomeIntent",
                    "samples": []
                },
                {
                    "name": "MoveIntent",
                    "slots": [
                        {
                            "name": "Direction",
                            "type": "DirectionType"
                        },
                        {
                            "name": "Duration",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "{Direction} now",
                        "{Direction} {Duration} seconds",
                        "move {Direction} for {Duration} seconds"
                    ]
                },
                {
                    "name": "SetSpeedIntent",
                    "slots": [
                        {
                            "name": "Speed",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "set speed {Speed} percent",
                        "set {Speed} percent speed",
                        "set speed to {Speed} percent"
                    ]
                },
                {
                    "name": "SetCommandIntent",
                    "slots": [
                        {
                            "name": "Command",
                            "type": "CommandType"
                        }
                    ],
                    "samples": [
                        "activate {Command} mode",
                        "move in a {Command}",
                        "fire {Command}",
                        "activate {Command}"
                    ]
                }
            ],
            "types": [
                {
                    "name": "DirectionType",
                    "values": [
                        {
                            "name": {
                                "value": "brake"
                            }
                        },
                        {
                            "name": {
                                "value": "go backward"
                            }
                        },
                        {
                            "name": {
                                "value": "go forward"
                            }
                        },
                        {
                            "name": {
                                "value": "go right"
                            }
                        },
                        {
                            "name": {
                                "value": "go left"
                            }
                        },
                        {
                            "name": {
                                "value": "right"
                            }
                        },
                        {
                            "name": {
                                "value": "left"
                            }
                        },
                        {
                            "name": {
                                "value": "backwards"
                            }
                        },
                        {
                            "name": {
                                "value": "backward"
                            }
                        },
                        {
                            "name": {
                                "value": "forwards"
                            }
                        },
                        {
                            "name": {
                                "value": "forward"
                            }
                        }
                    ]
                },
                {
                    "name": "CommandType",
                    "values": [
                        {
                            "name": {
                                "value": "circle"
                            }
                        },
                        {
                            "name": {
                                "value": "square"
                            }
                        },
                        {
                            "name": {
                                "value": "patrol"
                            }
                        },
                        {
                            "name": {
                                "value": "cannon"
                            }
                        },
                        {
                            "name": {
                                "value": "all shot"
                            }
                        },
                        {
                            "name": {
                                "value": "one shot"
                            }
                        }
                    ]
                }
            ]
        }
    }
}

Credits

Mahir Parmar

Mahir Parmar

1 project • 1 follower

Comments