Operate with Raspberry Pi GPIO with Linux shell and C++ program.
OctoPrint is a server controlling a 3D-printer over web-interface, running on the small computer like Raspberry Pi or PCDuino with Linux OS. This article describes how to setup OctoPrint on Raspberry Pi 2 with Ubuntu OS. Read another article to setup OctoPrint on PCDuino.
Raspberry Pi 2 has ARMv7-based CPU on-board – this allows to run Ubuntu directly on this small computer. Ubuntu has plenty of features in compare to special editions of Linux distributives for such small devices and therefore less limitations with installing specific programs and components on it.
OctoPrint is a server controlling a 3D-printer over web-interface, running on the small computer like Raspberry Pi or PCDuino with Linux OS. If such computer has WiFi or connected to WiFi router within local network (e.g. personal WiFi router at home), the 3D-printer can be controlled and monitored remotely – on PC, tablet or smartphone.
This program looks like regular painting program but in addition it has specific features designed to help masters of quilt:
- Table for main work and additional table for sketches
- Drawing lines with mouse or tablet pen
- Manipulate with lines and images individually or grouping them
- Take a picture from the web-camera
- Clone lines in a sequences
Planetary gear has good balance between the size and gear-ratio. Compact electric screw-driver may have the planetary gear inside. This planetary gear can be use in the DIY projects which need high torque and compact size. The drawback is that many gears inside the planetary gears produce much noise.
When autonomous car gets to packing lot it’s nice to plug it to power automatically. This project is to build such charging post – operated remotely or automatically.
Module NRF24L01+ by Nordic Semiconductor is an ultra low power 2Mbps RF transceiver IC for the 2.4GHz band. It communicates with its special protocol and designed to save battery lifetime when running on battery.
The module can be connected to another device (e.g. Arduino board) over Serial Peripheral Interface (SPI)
Arduino board can be connected to LAN (Local Area network) with Ethernet-cards, designed either Arduino shields or connecting by wires. This allows to run network communication programs on Arduino, for instance a small Web-server.
Robots can be controlled by a microcontroller (MCU) or a computer installed on-board – autonomous robots, or connected to a computer via communication channel – remotely operated robots. Both approaches have pros and cons:
- Autonomous robots have everything they need on-board, they do not depend on a quality and bandwidth of communication channels. But they may have limitations on computer performance and size, its not easy to modify controlling algorithms and monitor state.
- Remotely operated robots can be controlled by more powerful computer, monitoring is available for operator or developer, modification of a controlling program is much easy. But quality and bandwidth of communication channels are critical and limiting part of such system.
Intermediate solution is develop the controlling program on remotely operated robot and when it is completed – setup the program on on-board computer, leaving communication channel only for monitoring which is not such critical.
This article describes how remotely operate a robot where on-board MCU (represented by Arduino) takes care about hardware – controlling motor-drivers, monitoring sensors, providing communication, etc; a remotely connected computer displays monitored data and runs controlling algorithm. Program will be implemented on C++. Platform is Ubuntu.