Coder Social home page Coder Social logo

ottodiy / ottowebappcontrol Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 5.0 1.2 MB

A bluetooth controller for Otto DIY robots that can be used from web to easily control your Otto.

Home Page: https://ottodiy.github.io/OttoWebAppControl/

License: GNU General Public License v3.0

C++ 3.37% HTML 10.32% JavaScript 84.27% SCSS 2.04%

ottowebappcontrol's Introduction

Otto Ninja Robot Arduino Libraries

License: GPL v3 version

This repository have all the main Otto Ninja robot libraries for ESP compatible boards

Created by Sebastian Coddington

โญ Star us on GitHub, it helps!

Installation:

You will need Arduino IDE in your computer

  1. Download the .zip Otto Ninja libraries here
  2. Open Arduino IDE and navigate to Sketch > Include Library > Add .ZIP Library.
  3. Navigate to the .zip file's location, that you just downloaded and open it.
  4. You will see in the bottom black area a message that it has been installed.
  5. To verify they are properly installed, go to Sketch > Include Library menu. You should now see the library at the bottom of the drop-down menu.

That means it is ready to use Otto example codes! you can find them in File > Examples > OttoNinja for more details or other ways to install libraries visit this link

For the LED matrix example codes you will need the Adafruit LED Bacck pack library and the dependences just do the exact same installation steps.

For the OLED display example codes you will need the U8g2 libraries

Additionally you will need to add the ESP8266 to your Arduino IDE

The board only flash the LED a little (this is the way ESP8266 boards work unless you program them to behave different)

Uploading:

Firmware code for remote control of Ninja, select NodeMCU 1.0 as board. Connect the Ninja board with the USB cable to your computer, NO servos or anything else connected and we check if can upload code first.

  1. Upload this code
  2. Download tp your phone
  3. Open the App and press + Add new device
  4. Select Wifi point
  5. Select "OTTO NINJA" visible from the options
  6. The password is 12345678

(Make sure to have wifi disconnected from other networks) and power Ninja with battery all time. with Otto Blockly you do not need to deal with all the libraries and stuff

Compatible Hardware

  • Designed to work with ESP8266 boards but most of the code could be adapted to other microcontrollers

How to Contribute:

Contributing to this software is warmly welcomed. There are 3 ways you can contribute to this project:

  1. Test and if find a problem then post an issue.
  2. Helps us solve the issues or other bugs.
  3. Improve and optimize the curren libraries. You can do this basically by forking, committing modifications and then pulling requests.

Please add a change log and your contact into file header.

Thanks for your contribution and welcome to the Otto DIY community

License CC-BY-SA

You can use all resources of Otto for free but Otto DIY Website must be included in any redistribution and remixes must keep the CC-BY-SA license, As you might seen with the original Otto DIY project the idea is that more people can have access, therefore if you copy or remix Otto you must also release under same open license, that means you must release all files also to the public.

Creative Commons License
Otto DIY by www.ottodiy.com is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Otto DIY website must be included in any redistribution and remixes must keep the CC-BY-SA license.

ottowebappcontrol's People

Contributors

alenarmona avatar cparrapa avatar ivanr3d avatar sfranzyshen avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ottowebappcontrol's Issues

Add use instructions manual (use tutorial)

Even if the controller if very intuitive about what you should do to start, some young users could find difficulties to know the path to start or for example the fact that they can use keyboard keys to control robots.
It would be very nice to have an instructions manual that show a new user how to control Otto robots with this controller.

Good solution:
A button that once clicked display a sweetalert popup that show step by step how to connect a robot and use it.

Optimal solution:
When the controller detect an user for first time, it should offer a tutorial that guide the user step by step to start using the controller (you have probably seen this kind of tutorial when using a mobile game or app for first time). Once the tutorial is completed, it should be a button with a quick review of how to use the controller.

Multi language feature

A nice way to change the app texts from one language to another.
By preference without cloning the files and saving them in folders such as en, es, pt, etc.

Add skills to Otto Starter

On Otto Blockly it is possible to find some cool moves for biped versions of Otto, those moves are:
Moonwalk, crossing, flapping, swing, updown, tiptoeSwing, jitter, ascendingTurn.

We want to integrate them to the controller. Initially I have consider a dropdown menu that allow you to choose the move and then after clicking a "play" button Otto can execute the preselected move. (This idea is open to discussion)

This task can be split in two parts:

  • Frontend part: add the design in the controller that allow to select the move.
  • Backend part: add the Arduino code in the OttoS.ino file to execute the move.

Control Arduino Codes for Otto Humanoid, Emotions, Smart and/or Quad

As you can notice in the robot selector, only the Otto Starter, Wheels and Ninja Starter are available, because it is necessary to code the other robots in Arduino to be controlled and adapt the controller interface to those new robots when required.

If you have experience coding with Arduino and know how to use the OttoDIYLib, you could copy the Otto Starter code and modify it to adapt it to one of these robots:

  • Otto Emotions (will require extra functions for the LED eyes)
  • Otto Humanoid (will require extra functions for the arms moves and to control LED Matrix screen)
  • Otto Smart (will require extra functions for sensors such as microphone, temperature as well as OLED screen)

Otto Quad would require functions from scratch but you can still take advantage of the code already created for the BLE connection structure.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.