BIN
Architectural Parts/Garden/Fountain.FCStd
Normal file
BIN
Architectural Parts/Garden/Screenshot_20201029_200848.png
Normal file
After ![]() (image error) Size: 232 KiB |
BIN
Electro-pneumatic/Cylinders/Guss&Roch/DA-XX-XXX-TCA show.FCStd
Normal file
BIN
Electro-pneumatic/Cylinders/Guss&Roch/G&R cylinders demo.png
Normal file
After ![]() (image error) Size: 312 KiB |
Before (image error) Size: 160 KiB |
BIN
Electronics Parts/Batteries/Baterry 9 volts.FCStd
Normal file
BIN
Electronics Parts/Batteries/Screenshot_20201105_195650.png
Normal file
After ![]() (image error) Size: 137 KiB |
|
@ -1,16 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>A2P assembly hierarchy visualization</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mermaid">
|
||||
graph TD
|
||||
</div>
|
||||
<script src="https://unpkg.com/mermaid@7.1.2/dist/mermaid.js"></script>
|
||||
<script>
|
||||
mermaid.initialize({startOnLoad: true});
|
||||
</script>
|
||||
</body></html>
|
After ![]() (image error) Size: 143 KiB |
BIN
Electronics Parts/Motors/01 NEMA/NEMA_23_with_connector.FCStd
Normal file
BIN
Electronics Parts/Motors/01 NEMA/NEMA_23_with_connector.stl
Normal file
After ![]() (image error) Size: 222 KiB |
After ![]() (image error) Size: 136 KiB |
BIN
Hydraulics/Pump/Vertical Pump/vertical Pump.FCStd
Normal file
BIN
Industrial Design/Shelf/Shelf Batman/Repisa Batman.FCStd
Normal file
After ![]() (image error) Size: 126 KiB |
After ![]() (image error) Size: 126 KiB |
After ![]() (image error) Size: 149 KiB |
After ![]() (image error) Size: 150 KiB |
After ![]() (image error) Size: 57 KiB |
2578
Industrial Design/Shelf/Shelf Batman/batman router repisa.dxf
Normal file
56
Industrial Design/Shelf/Shelf Batman/batman-11.svg
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="612px"
|
||||
height="792px"
|
||||
viewBox="0 0 612 792"
|
||||
enable-background="new 0 0 612 792"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="batman-11.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"><metadata
|
||||
id="metadata13"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs11" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.4142136"
|
||||
inkscape:cx="281.73872"
|
||||
inkscape:cy="187.46368"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="760"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g6" />
|
||||
<g
|
||||
id="g6"
|
||||
transform="matrix(2.5408081,0,0,2.5408081,-510.80008,-385.89496)">
|
||||
|
||||
<path
|
||||
d="m 321.33177,392.7732 c 3.38853,0 4.74641,0.67826 4.74641,0.67826 l 2.03339,-8.58619 c 0,0 1.58214,6.5528 2.2604,12.42871 0.67825,5.87592 11.0722,2.03477 19.88539,0.22563 8.81182,-1.80776 10.62095,-16.04424 10.62095,-16.04424 h 81.57498 c 0,0 -49.26224,14.91473 -36.83215,47.67872 0,0 -72.76316,-11.0722 -84.06099,34.34888 h -0.001 c -11.29784,-45.42108 -84.061,-34.34888 -84.061,-34.34888 12.42872,-32.76399 -36.83214,-47.67872 -36.83214,-47.67872 h 81.57497 c 0,0 1.80777,14.23648 10.61958,16.04424 8.81319,1.80776 19.20852,5.64892 19.8854,-0.22563 0.67825,-5.87591 2.26039,-12.42871 2.26039,-12.42871 l 2.03476,8.58619 c 0,0 1.35514,-0.67826 4.74504,-0.67826 z"
|
||||
id="path4"
|
||||
inkscape:connector-curvature="0"
|
||||
style="stroke-width:1.37577116;stroke:#000000;stroke-opacity:1;fill:none" />
|
||||
</g>
|
||||
</svg>
|
After (image error) Size: 2.4 KiB |
24
Medical Parts/01 Biomedical/AmboVent ventilator/LICENSE
Normal file
|
@ -0,0 +1,24 @@
|
|||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more information, please refer to <https://unlicense.org>
|
104
Medical Parts/01 Biomedical/AmboVent ventilator/README.md
Normal file
|
@ -0,0 +1,104 @@
|
|||
# AmboVent 1690.108
|
||||
|
||||
Automatic, Controlled Resuscitator Device
|
||||
Emergency ventilation alternative system
|
||||
Global Partnership for the Greater good
|
||||
Leading Open Source Code Mentality Initiative
|
||||
|
||||
## Emergency ventilation initiative coming out of Israel
|
||||
|
||||
## The device was not tested yet for its performance or safety; it is NOT approved for clinical use
|
||||
|
||||
### Who is behind it?
|
||||
**Lead by the CTO & innovation leader of the Israeli Air-Force 108 Electronic Depot and backed by a large community of innovators behind him, to include:**
|
||||
|
||||
1. 40 Professional Volunteers
|
||||
1. Magen David Adom (Israel’s national EMS)
|
||||
1. Physicians from leading Israeli hospitals such as Tel Aviv Sourasky and Hadassah JLM as well as other medical centers, Engineers, FIRST Israel mentors and students
|
||||
1. The Haifa Technological Center Rafael
|
||||
1. Israel Aerospace Industries
|
||||
1. IAF Unit 108
|
||||
1. The garage program by Microsoft Israel
|
||||
1. IDC Herzeliya
|
||||
1. and others...
|
||||
|
||||
## Developer Chat on Gitter:
|
||||
|
||||
[](https://gitter.im/AmboVent-Ventilator/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
|
||||
## [AmboVent Website](https://1nn0v8ter.rocks/AmboVent-1690-108)
|
||||
|
||||
## [BOM list](https://docs.google.com/spreadsheets/d/1yqxRhruZpR-hO4cpbX6UkSeXTlXk1JLd_4aYDwuWj4k/edit?usp=sharing)
|
||||
|
||||
# AmboVent's Standard Copyright and Disclaimer Notice:
|
||||
|
||||
*Copyright ©2020. THE AMBOVENT GROUP FROM ISRAEL herby declares: No Rights Reserved. Anyone in the world have Permission to use, copy, modify, and distribute this software and its documentation for educational, research, for profit, business and not-for-profit purposes, without fee and without a signed licensing agreement, all is hereby granted, provided that the intention of the user is to use this code and documentation to save human lives anywhere in the world. For any question, contact dreliram@gmail.com.*
|
||||
|
||||
***IN NO EVENT SHALL THE AMBOVENT GROUP FROM ISRAEL, BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THESE SPECS, LIST OF MATERIALS, ELECTRONIC DESIGNS , SOFTWARE CODE AND ANY DOCUMENTATION, EVEN IF THE AMBOVENT GROUP FROM ISRAEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
THE AMBOVENT GROUP FROM ISRAEL DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, SPECS, LIST OF MATERIALS, ELECTRONIC DESIGNS, SOFTWARE CODE AND ANY DOCUMENTATION IF PROVIDED HEREUNDER IS PROVIDED "AS IS". THE AMBOVENT GROUP FROM ISRAEL HAS NO CLAIM THAT IT IS COMPLETED OR FUNCTIONAL AND HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.***
|
||||
|
||||
# Setup
|
||||
|
||||
## Software
|
||||
|
||||
1. (Required to build the code): [Arduino IDE](https://www.arduino.cc/en/Main/Software)
|
||||
1. (Optional: recommended to edit the code): Eclipse project for Arduino source code _editing_ (NOT building):
|
||||
1. A general setup PDF guide can be found in the [eRCaGuy_dotfiles](https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles) project [here](https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/blob/master/eclipse/Eclipse%20setup%20instructions%20on%20a%20new%20Linux%20(or%20other%20OS)%20computer.pdf). See also:
|
||||
1. [3-Software/Arduino/readme.md](3-Software/Arduino/readme.md).
|
||||
1. [3-Software/Arduino/arduino_core/readme.md](3-Software/Arduino/arduino_core/readme.md)
|
||||
1. [3-Software/Arduino/.clang-format](3-Software/Arduino/.clang-format) - there are some nice descriptions & info in here on Eclipse & Sublime Text 3 editors, as well as setting your Arduino IDE to use 4 spaces instead of 2 for tabs.
|
||||
1. (Required to get a pull request accepted which modifies the code): `clang-format` automatic code format tool. Please run this on any PR (GitHub Pull Request) before submitting a PR!
|
||||
1. Linux (tested--works):
|
||||
1. Install:
|
||||
|
||||
# Install it:
|
||||
sudo apt update
|
||||
sudo apt install clang-format
|
||||
|
||||
# Ensure you have version 6 (the default for Ubuntu 18), for compatibility with
|
||||
# the .clang-format file we are using; sample output:
|
||||
# `clang-format version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)`
|
||||
clang-format --version
|
||||
|
||||
1. Use it:
|
||||
1. Commit your changes so everything is backed up.
|
||||
1. Then run the clang formatter:
|
||||
|
||||
./run_clang-format.sh
|
||||
|
||||
1. Then review and commit these changes, if any.
|
||||
1. Now do a Pull Request.
|
||||
|
||||
1. Windows:
|
||||
1. Install:
|
||||
1. Download and install [Git for Windows](https://git-scm.com/download/win)
|
||||
1. Download and install LLVM (which includes `clang-format`) version **6.0.1** (for compatibility--see above) [for Windows, here](https://releases.llvm.org/download.html). Here's a [direct link](https://releases.llvm.org/6.0.1/LLVM-6.0.1-win64.exe) if you like for the 64-bit version.
|
||||
1. Use it:
|
||||
1. Using the git bash terminal that comes with git for Windows, run the script:
|
||||
|
||||
./run_clang-format.sh
|
||||
|
||||
1. Make sure to do this before making any Pull Request (see Linux "Use it" instructions just above as well).
|
||||
|
||||
# Software Changelog
|
||||
- Newest on top
|
||||
- Follows Semantic Versioning: MAJOR.MINOR.PATCH; see: https://semver.org/ for rules & FAQ.
|
||||
- The 6 most common recommended types of changes are (see here: https://keepachangelog.com/en/1.0.0/): Added, Changed, Deprecated, Removed, Fixed, Security
|
||||
|
||||
INITIAL DEVELOPMENT PHASE:
|
||||
- Use version numbers 0.MINOR.PATCH for the initial development phase; ex: 0.1.0, 0.2.0, etc.
|
||||
- Increment just the MINOR version number for each new 0.y.z development phase enhancement, until the project is mature enough that you choose to move to a 1.0.0 release
|
||||
- You may increment the PATCH number for bug fixes to your development code, or just increment the MINOR version number if there are also enhancements
|
||||
|
||||
MORE MATURE PHASE:
|
||||
- As the project matures, release a 1.0.0 version
|
||||
- Once you release a 1.0.0 version, do the following (copied from semver.org):
|
||||
- Given a version number MAJOR.MINOR.PATCH, increment the:
|
||||
1. MAJOR version when you make incompatible API changes,
|
||||
2. MINOR version when you add functionality in a backwards compatible manner, and
|
||||
3. PATCH version when you make backwards compatible bug fixes.
|
||||
|
||||
## [v0.1.0] - 2020-04-22
|
||||
- Added: changelog and started tracking a software "version" number via the changelog
|
||||
- Fixed: continued incremental improvements of the software formatting and style: ex: moved global variables to their own lines
|
||||
|
BIN
Medical Parts/01 Biomedical/MIT E Vent/MIT e Ventilator.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/Base.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/Flapper LHS.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/Flapper RHS.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/Flapper TOP.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/FootPAD.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/IgnusNutMount.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/Mount nema23.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/Rib AA.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/Rib AB.FCStd
Normal file
BIN
Medical Parts/01 Biomedical/OpenLung/Parts/Rib presion.FCStd
Normal file
80
Medical Parts/01 Biomedical/OpenLung/README.md
Normal file
|
@ -0,0 +1,80 @@
|
|||

|
||||
# Disclaimer
|
||||
|
||||
*The plans, documents and other materials (“Material”) contained on this website are intended to facilitate the design of a prototype reproducible medical device to be used if required during the Covid-19 pandemic. The Material is not itself a medical device. The Material has not been tested and has not been approved for use in humans or animals by any regulatory authority of any country.*
|
||||
|
||||
*By using the Material, you are agreeing to the following disclaimer.*
|
||||
|
||||
*OpenLung / Open Source Ventilator offers the Material as-is and as-available, and makes no representations or warranties of any kind whatever concerning the Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable.*
|
||||
|
||||
*To the extent possible, in no event will OpenLung / Open Source Ventilator be liable to you on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of the Material or use of the Material, even if OpenLung / Open Source Ventilator has been advised of the possibility of such losses, costs, expenses, or damages.*
|
||||
|
||||
*Any ventilator system that has not been approved by a competent medical device regulatory authority may not deliver to the user the ability to properly monitor and control tidal volume, inspiratory pressure, inspiratory: expiratory ratio, heart rate, nor provide the user with the ability to monitor and control positive-end expiratory pressure (PEEP), peak inspiratory pressure (PIP) or to adapt to individual patient requirements. Inability to monitor and/or control any of these factors can cause death or serious permanent injury.*
|
||||
|
||||
*The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.*
|
||||
|
||||
# Low Resource Bag Valve Mask (BVM) Ventilator
|
||||
|
||||

|
||||
|
||||
The OpenLung Emergency Medical Ventilator (OEMV) is a stopgap solution to the global shortage of medical ventilators. Its rapid development is the result of a novel open source paradigm that allows team members to make real-time contributions from any place in the world. DevOps is overseen by a cabal of professionals whom separate the wheat from the chaff and direct the collective effort. The device itself is composed of widely available materials and put together via simple fabrication processes. Electrical components and software have also been developed, these allow basic parameters and controls to be set by clinicians. Physical working prototypes have been built and testing toward a final product is well underway. The OEMV is an open piece of technology that can be manufactured and deployed anywhere in the world.
|
||||
|
||||
# Design Requirements
|
||||
|
||||
Project Requirements are listed [here](requirements/design-requirements.md).
|
||||
|
||||
# Contributing to the project
|
||||
|
||||
*OpenLung* as implied by the name has maintained a high degree of openness to new contributors. In fact, we have created a wiki called [Contributing](https://gitlab.com/open-source-ventilator/ventilator/OpenLung/-/wikis/Contributing) for this purpose
|
||||
|
||||
# Design
|
||||
|
||||
The *OpenLung* project has managed to bring together many experts and ideas into a cohesive remote work environment. We believe our processes are unique and efficient for the future of remote group design work. In fact, we have attempted to compile what we have learned in the [Design Wiki](https://gitlab.com/open-source-ventilator/ventilator/OpenLung/-/wikis/Design) Additionally there are discipline specific Wikis for [Electronics](https://gitlab.com/open-source-ventilator/ventilator/OpenLung/-/wikis/Electronics) and [Mechanical](https://gitlab.com/open-source-ventilator/ventilator/OpenLung/-/wikis/Mechanical). Our designs require parameters, suggestions and direction of the medical community, some of those notes are compiled in [Medical Notes](https://gitlab.com/open-source-ventilator/ventilator/OpenLung/-/wikis/Medical-Notes)
|
||||
|
||||
# Documentation
|
||||
|
||||
A major factor in the success of this open source project is having extensive, clear and accessible documentation. Though we here at OpenLung see room for improvements, we would like to share our documentation process including what we have learned, examples we like and methods we use. [Documentation Wiki](https://gitlab.com/open-source-ventilator/ventilator/OpenLung/-/wikis/Documentation)
|
||||
|
||||
# Fabrication
|
||||
|
||||
Despite *OpenLung* not being a manufacturer, this project designs for manufacturability. In fact, we have labored over the consideration of variability in production processes and supply chains. Detailed information regarding fabrication -- as it relates to this project -- is stored on [the 'Fabrication' page](https://gitlab.com/open-source-ventilator/ventilator/OpenLung/-/wikis/Fabrication)
|
||||
|
||||
# Testing
|
||||
|
||||
Evaluating the performance of our designs require extensive testing and data collection.
|
||||
Testing is done using specialized equipment that is discussed in further detail within the [Testing Wiki](https://gitlab.com/open-source-ventilator/ventilator/OpenLung/-/wikis/Testing)
|
||||
|
||||
# Distribution
|
||||
|
||||
The logistics of providing designs for decentralized ad-hoc manufacturing operations is interesting and complex. That is why we created a whole [Wiki Page](https://gitlab.com/open-source-ventilator/ventilator/OpenLung/-/wikis/Distribution) dedicated to this
|
||||
|
||||
# Project Teams
|
||||
| Team | Directory | Issue Label |
|
||||
|---|---|---|
|
||||
| Requirements | [requirements](/requirements) | ~"Requirements" |
|
||||
| Mechanical Concepts | [mechanical-concepts](/mechanical-concepts) | ~"Mechanical Concepts" |
|
||||
| Control Electronics | [control-electronics](/control-electronics) | ~"Control Electronics" ~"Controller Software" |
|
||||
| Sensor Layout and Specifications | [control-electronics](/control-electronics) | ~"Sensor Hardware" |
|
||||
| Housing Concepts | [housing-concepts](/housing-concepts) | ~"Housing Concepts" |
|
||||
| Humidifier Concepts | [humidifier-concepts](/humidifier-concepts) | ~"Humidifier Concepts" |
|
||||
| BVM Filtration | [bvm-filtration](/bvm-filtration) | ~"BVM Filtration" |
|
||||
| Regulatory | [regulatory](/regulatory) | ~"Regulatory" |
|
||||
| Testing | [testing](/testing) | ~"Testing" |
|
||||
|
||||
|
||||
# This document in other languages:
|
||||
| | | Language | Translations | | |
|
||||
|---|---|---|---|---|---|
|
||||
|[english](README.md) | [català](translations/README-ca.md) | [čeština](translations/README-cz.md)| [deutsch](translations/README-de.md) | [español](translations/README-es.md) | [français](translations/README-fr.md) |
|
||||
| [日本語](translations/README-ja.md) | [nederlands](translations/README-nl.md) | [polski](translations/README-pl.md) | [português](translations/README-pt_BR.md) | [Română](translations/README-ro.md) | [Русский](translations/README-ru.md) |
|
||||
| [svenska](translations/README-sv.md) | [türkçe](translations/README-tr.md) | [汉语](translations/README-zh-Hans.md) | [漢語](translations/README-zh-Hant.md) |[عربى](translations/README-ar.md)|---|
|
||||
|
||||
*Contribute by translating this ReadMe.md file into other languages [here](/translations).*
|
||||
|
||||
# Image Licensing
|
||||
|
||||
<img src='https://i.creativecommons.org/l/by-sa/4.0/88x31.png'></img>
|
||||
|
||||
Except where otherwise noted, image content on this repository is licenced under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/).
|
||||
|
||||
*Repository managed by [OpenLung](https://openlung.org/) and [OS Ventilator Ireland](https://opensourceventilator.ie/) Communities*
|
BIN
Medical Parts/01 Biomedical/OpenLung/faltantes.jpg
Normal file
After ![]() (image error) Size: 101 KiB |
BIN
Medical Parts/Pressure Bag/PressureBag OpenLung.FCStd
Normal file
BIN
Medical Parts/Pressure Bag/PressureBag ResistenciaTeam.FCStd
Normal file
14226
Robots/Quadruped robot/Spider robot/02 STL/coxa_r_df2XhOQDBH.stl
Normal file
BIN
Robots/Quadruped robot/Spider robot/02 STL/quad_robot_furmer.stl
Normal file
|
@ -0,0 +1,74 @@
|
|||
G04 ---------------------------- Layer name :KeepOutLayer*
|
||||
G04 EasyEDA v5.5.11, Sun, 03 Jun 2018 10:16:40 GMT*
|
||||
G04 422a67246ae34fc7a473e8fc002879eb*
|
||||
G04 Gerber Generator version 0.2*
|
||||
G04 Scale: 100 percent, Rotated: No, Reflected: No *
|
||||
G04 Dimensions in millimeters *
|
||||
G04 leading zeros omitted , absolute positions ,3 integer and 3 decimal *
|
||||
%FSLAX33Y33*%
|
||||
%MOMM*%
|
||||
G90*
|
||||
G71D02*
|
||||
|
||||
%ADD10C,0.254000*%
|
||||
G54D10*
|
||||
G01X73152Y32766D02*
|
||||
G01X70866Y30988D01*
|
||||
G01X69850Y30226D01*
|
||||
G01X67818Y28702D01*
|
||||
G01X51054Y17780D01*
|
||||
G01X45720Y21082D01*
|
||||
G01X37338Y26670D01*
|
||||
G01X28956Y32258D01*
|
||||
G01X28956Y32258D02*
|
||||
G01X22860Y31496D01*
|
||||
G01X22606Y31242D01*
|
||||
G01X19558Y28448D01*
|
||||
G01X16764Y24892D01*
|
||||
G01X13716Y20320D01*
|
||||
G01X11938Y17018D01*
|
||||
G01X9906Y13970D01*
|
||||
G01X7366Y8128D01*
|
||||
G01X5080Y1778D01*
|
||||
G01X3810Y0D01*
|
||||
G01X2390Y2364D01*
|
||||
G01X1270Y9906D01*
|
||||
G01X0Y27178D01*
|
||||
G01X1270Y37084D01*
|
||||
G01X3556Y47752D01*
|
||||
G01X7112Y57912D01*
|
||||
G01X11684Y67310D01*
|
||||
G01X17018Y75946D01*
|
||||
G01X25146Y68072D01*
|
||||
G01X32004Y62230D01*
|
||||
G01X33274Y61468D01*
|
||||
G01X34798Y61468D01*
|
||||
G01X43434Y67310D01*
|
||||
G01X50800Y71882D01*
|
||||
G01X55372Y69342D01*
|
||||
G01X67056Y61722D01*
|
||||
G01X68072Y61468D01*
|
||||
G01X68580Y61468D01*
|
||||
G01X69850Y62484D01*
|
||||
G01X81280Y72390D01*
|
||||
G01X83058Y74168D01*
|
||||
G01X84582Y75946D01*
|
||||
G01X86868Y72898D01*
|
||||
G01X93980Y59944D01*
|
||||
G01X99568Y43688D01*
|
||||
G01X100838Y35306D01*
|
||||
G01X101600Y27178D01*
|
||||
G01X100838Y9906D01*
|
||||
G01X97790Y0D01*
|
||||
G01X93218Y10668D01*
|
||||
G01X90170Y16510D01*
|
||||
G01X86868Y22352D01*
|
||||
G01X82222Y29029D01*
|
||||
G01X80772Y30988D01*
|
||||
G01X80010Y31750D01*
|
||||
G01X79286Y31965D01*
|
||||
G01X73152Y32766D01*
|
||||
|
||||
%LPD*%
|
||||
M00*
|
||||
M02*
|
6991
Robots/Quadruped robot/Spider robot/03 Board/Gerber_BottomLayer.GBL
Normal file
|
@ -0,0 +1,141 @@
|
|||
G04 ---------------------------- Layer name :BOTTOM SOLDER LAYER*
|
||||
G04 EasyEDA v5.5.11, Sun, 03 Jun 2018 10:16:40 GMT*
|
||||
G04 422a67246ae34fc7a473e8fc002879eb*
|
||||
G04 Gerber Generator version 0.2*
|
||||
G04 Scale: 100 percent, Rotated: No, Reflected: No *
|
||||
G04 Dimensions in millimeters *
|
||||
G04 leading zeros omitted , absolute positions ,3 integer and 3 decimal *
|
||||
%FSLAX33Y33*%
|
||||
%MOMM*%
|
||||
G90*
|
||||
G71D02*
|
||||
|
||||
%ADD16R,1.981200X1.981200*%
|
||||
%ADD17C,1.981200*%
|
||||
%ADD38R,1.778000X1.778000*%
|
||||
%ADD39C,1.778000*%
|
||||
%ADD40C,3.203194*%
|
||||
%ADD41C,1.503197*%
|
||||
|
||||
%LPD*%
|
||||
G54D16*
|
||||
G01X71628Y52832D03*
|
||||
G54D17*
|
||||
G01X69088Y52832D03*
|
||||
G01X66548Y52832D03*
|
||||
G01X64008Y52832D03*
|
||||
G01X61468Y52832D03*
|
||||
G01X58928Y52832D03*
|
||||
G01X56388Y52832D03*
|
||||
G01X53848Y52832D03*
|
||||
G01X51308Y52832D03*
|
||||
G01X48768Y52832D03*
|
||||
G01X46228Y52832D03*
|
||||
G01X43688Y52832D03*
|
||||
G01X41148Y52832D03*
|
||||
G01X38608Y52832D03*
|
||||
G01X36068Y52832D03*
|
||||
G01X71628Y37592D03*
|
||||
G01X69088Y37592D03*
|
||||
G01X66548Y37592D03*
|
||||
G01X64008Y37592D03*
|
||||
G01X61468Y37592D03*
|
||||
G01X58928Y37592D03*
|
||||
G01X56388Y37592D03*
|
||||
G01X53848Y37592D03*
|
||||
G01X51308Y37592D03*
|
||||
G01X48768Y37592D03*
|
||||
G01X46228Y37592D03*
|
||||
G01X43688Y37592D03*
|
||||
G01X41148Y37592D03*
|
||||
G01X38608Y37592D03*
|
||||
G01X36068Y37592D03*
|
||||
G54D38*
|
||||
G01X89154Y35560D03*
|
||||
G54D39*
|
||||
G01X91694Y35560D03*
|
||||
G01X94234Y35560D03*
|
||||
G01X96774Y35560D03*
|
||||
G54D38*
|
||||
G01X15494Y36830D03*
|
||||
G54D39*
|
||||
G01X18034Y36830D03*
|
||||
G01X20574Y36830D03*
|
||||
G01X23114Y36830D03*
|
||||
G01X8890Y28702D03*
|
||||
G01X6350Y28702D03*
|
||||
G54D38*
|
||||
G01X3810Y28702D03*
|
||||
G54D39*
|
||||
G01X8890Y23622D03*
|
||||
G01X6350Y23622D03*
|
||||
G54D38*
|
||||
G01X3810Y23622D03*
|
||||
G54D39*
|
||||
G01X8890Y18542D03*
|
||||
G01X6350Y18542D03*
|
||||
G54D38*
|
||||
G01X3810Y18542D03*
|
||||
G54D39*
|
||||
G01X19304Y63500D03*
|
||||
G01X16764Y63500D03*
|
||||
G54D38*
|
||||
G01X14224Y63500D03*
|
||||
G54D39*
|
||||
G01X19304Y58420D03*
|
||||
G01X16764Y58420D03*
|
||||
G54D38*
|
||||
G01X14224Y58420D03*
|
||||
G54D39*
|
||||
G01X19304Y53340D03*
|
||||
G01X16764Y53340D03*
|
||||
G54D38*
|
||||
G01X14224Y53340D03*
|
||||
G54D39*
|
||||
G01X97536Y28956D03*
|
||||
G01X94996Y28956D03*
|
||||
G54D38*
|
||||
G01X92456Y28956D03*
|
||||
G54D39*
|
||||
G01X97536Y23876D03*
|
||||
G01X94996Y23876D03*
|
||||
G54D38*
|
||||
G01X92456Y23876D03*
|
||||
G54D39*
|
||||
G01X97536Y18796D03*
|
||||
G01X94996Y18796D03*
|
||||
G54D38*
|
||||
G01X92456Y18796D03*
|
||||
G54D39*
|
||||
G01X85598Y65532D03*
|
||||
G01X83058Y65532D03*
|
||||
G54D38*
|
||||
G01X80518Y65532D03*
|
||||
G54D39*
|
||||
G01X85598Y60452D03*
|
||||
G01X83058Y60452D03*
|
||||
G54D38*
|
||||
G01X80518Y60452D03*
|
||||
G54D39*
|
||||
G01X85598Y55372D03*
|
||||
G01X83058Y55372D03*
|
||||
G54D38*
|
||||
G01X80518Y55372D03*
|
||||
G54D40*
|
||||
G01X90678Y42418D03*
|
||||
G01X90678Y47416D03*
|
||||
G54D41*
|
||||
G01X53014Y66548D03*
|
||||
G01X51308Y66548D03*
|
||||
G01X49657Y66548D03*
|
||||
G01X48016Y66548D03*
|
||||
G01X53522Y22606D03*
|
||||
G01X51816Y22606D03*
|
||||
G01X50165Y22606D03*
|
||||
G01X48524Y22606D03*
|
||||
G01X83494Y45720D03*
|
||||
G01X81788Y45720D03*
|
||||
G01X80137Y45720D03*
|
||||
G01X78496Y45720D03*
|
||||
M00*
|
||||
M02*
|
7680
Robots/Quadruped robot/Spider robot/03 Board/Gerber_TopLayer.GTL
Normal file
|
@ -0,0 +1,24 @@
|
|||
G04 ---------------------------- Layer name :TOP PASTER LAYER*
|
||||
G04 EasyEDA v5.5.11, Sun, 03 Jun 2018 10:16:40 GMT*
|
||||
G04 422a67246ae34fc7a473e8fc002879eb*
|
||||
G04 Gerber Generator version 0.2*
|
||||
G04 Scale: 100 percent, Rotated: No, Reflected: No *
|
||||
G04 Dimensions in millimeters *
|
||||
G04 leading zeros omitted , absolute positions ,3 integer and 3 decimal *
|
||||
%FSLAX33Y33*%
|
||||
%MOMM*%
|
||||
G90*
|
||||
G71D02*
|
||||
|
||||
%ADD13R,1.160018X1.469898*%
|
||||
|
||||
%LPD*%
|
||||
G54D13*
|
||||
G01X20574Y44958D03*
|
||||
G01X22606Y44958D03*
|
||||
G01X14986Y44958D03*
|
||||
G01X17018Y44958D03*
|
||||
G01X9906Y45212D03*
|
||||
G01X11938Y45212D03*
|
||||
M00*
|
||||
M02*
|
9228
Robots/Quadruped robot/Spider robot/03 Board/Gerber_TopSilkLayer.GTO
Normal file
|
@ -0,0 +1,149 @@
|
|||
G04 ---------------------------- Layer name :TOP SOLDER LAYER*
|
||||
G04 EasyEDA v5.5.11, Sun, 03 Jun 2018 10:16:40 GMT*
|
||||
G04 422a67246ae34fc7a473e8fc002879eb*
|
||||
G04 Gerber Generator version 0.2*
|
||||
G04 Scale: 100 percent, Rotated: No, Reflected: No *
|
||||
G04 Dimensions in millimeters *
|
||||
G04 leading zeros omitted , absolute positions ,3 integer and 3 decimal *
|
||||
%FSLAX33Y33*%
|
||||
%MOMM*%
|
||||
G90*
|
||||
G71D02*
|
||||
|
||||
%ADD13R,1.363218X1.673098*%
|
||||
%ADD14R,1.981200X1.981200*%
|
||||
%ADD15C,1.981200*%
|
||||
%ADD16R,1.778000X1.778000*%
|
||||
%ADD17C,1.778000*%
|
||||
%ADD18C,3.203194*%
|
||||
%ADD19C,1.503197*%
|
||||
|
||||
%LPD*%
|
||||
G54D14*
|
||||
G01X71628Y52832D03*
|
||||
G54D15*
|
||||
G01X69088Y52832D03*
|
||||
G01X66548Y52832D03*
|
||||
G01X64008Y52832D03*
|
||||
G01X61468Y52832D03*
|
||||
G01X58928Y52832D03*
|
||||
G01X56388Y52832D03*
|
||||
G01X53848Y52832D03*
|
||||
G01X51308Y52832D03*
|
||||
G01X48768Y52832D03*
|
||||
G01X46228Y52832D03*
|
||||
G01X43688Y52832D03*
|
||||
G01X41148Y52832D03*
|
||||
G01X38608Y52832D03*
|
||||
G01X36068Y52832D03*
|
||||
G01X71628Y37592D03*
|
||||
G01X69088Y37592D03*
|
||||
G01X66548Y37592D03*
|
||||
G01X64008Y37592D03*
|
||||
G01X61468Y37592D03*
|
||||
G01X58928Y37592D03*
|
||||
G01X56388Y37592D03*
|
||||
G01X53848Y37592D03*
|
||||
G01X51308Y37592D03*
|
||||
G01X48768Y37592D03*
|
||||
G01X46228Y37592D03*
|
||||
G01X43688Y37592D03*
|
||||
G01X41148Y37592D03*
|
||||
G01X38608Y37592D03*
|
||||
G01X36068Y37592D03*
|
||||
G54D16*
|
||||
G01X89154Y35560D03*
|
||||
G54D17*
|
||||
G01X91694Y35560D03*
|
||||
G01X94234Y35560D03*
|
||||
G01X96774Y35560D03*
|
||||
G54D16*
|
||||
G01X15494Y36830D03*
|
||||
G54D17*
|
||||
G01X18034Y36830D03*
|
||||
G01X20574Y36830D03*
|
||||
G01X23114Y36830D03*
|
||||
G01X8890Y28702D03*
|
||||
G01X6350Y28702D03*
|
||||
G54D16*
|
||||
G01X3810Y28702D03*
|
||||
G54D17*
|
||||
G01X8890Y23622D03*
|
||||
G01X6350Y23622D03*
|
||||
G54D16*
|
||||
G01X3810Y23622D03*
|
||||
G54D17*
|
||||
G01X8890Y18542D03*
|
||||
G01X6350Y18542D03*
|
||||
G54D16*
|
||||
G01X3810Y18542D03*
|
||||
G54D17*
|
||||
G01X19304Y63500D03*
|
||||
G01X16764Y63500D03*
|
||||
G54D16*
|
||||
G01X14224Y63500D03*
|
||||
G54D17*
|
||||
G01X19304Y58420D03*
|
||||
G01X16764Y58420D03*
|
||||
G54D16*
|
||||
G01X14224Y58420D03*
|
||||
G54D17*
|
||||
G01X19304Y53340D03*
|
||||
G01X16764Y53340D03*
|
||||
G54D16*
|
||||
G01X14224Y53340D03*
|
||||
G54D17*
|
||||
G01X97536Y28956D03*
|
||||
G01X94996Y28956D03*
|
||||
G54D16*
|
||||
G01X92456Y28956D03*
|
||||
G54D17*
|
||||
G01X97536Y23876D03*
|
||||
G01X94996Y23876D03*
|
||||
G54D16*
|
||||
G01X92456Y23876D03*
|
||||
G54D17*
|
||||
G01X97536Y18796D03*
|
||||
G01X94996Y18796D03*
|
||||
G54D16*
|
||||
G01X92456Y18796D03*
|
||||
G54D17*
|
||||
G01X85598Y65532D03*
|
||||
G01X83058Y65532D03*
|
||||
G54D16*
|
||||
G01X80518Y65532D03*
|
||||
G54D17*
|
||||
G01X85598Y60452D03*
|
||||
G01X83058Y60452D03*
|
||||
G54D16*
|
||||
G01X80518Y60452D03*
|
||||
G54D17*
|
||||
G01X85598Y55372D03*
|
||||
G01X83058Y55372D03*
|
||||
G54D16*
|
||||
G01X80518Y55372D03*
|
||||
G54D18*
|
||||
G01X90678Y42418D03*
|
||||
G01X90678Y47416D03*
|
||||
G54D13*
|
||||
G01X20574Y44958D03*
|
||||
G01X22606Y44958D03*
|
||||
G01X14986Y44958D03*
|
||||
G01X17018Y44958D03*
|
||||
G01X9906Y45212D03*
|
||||
G01X11938Y45212D03*
|
||||
G54D19*
|
||||
G01X53014Y66548D03*
|
||||
G01X51308Y66548D03*
|
||||
G01X49657Y66548D03*
|
||||
G01X48016Y66548D03*
|
||||
G01X53522Y22606D03*
|
||||
G01X51816Y22606D03*
|
||||
G01X50165Y22606D03*
|
||||
G01X48524Y22606D03*
|
||||
G01X83494Y45720D03*
|
||||
G01X81788Y45720D03*
|
||||
G01X80137Y45720D03*
|
||||
G01X78496Y45720D03*
|
||||
M00*
|
||||
M02*
|
|
@ -0,0 +1,14 @@
|
|||
;NPTH Drill file created by EasyEDA
|
||||
M48
|
||||
METRIC,LZ,000.000
|
||||
;Holesize 1 = 3.000 METRIC
|
||||
T01C3.000
|
||||
%
|
||||
G05
|
||||
G90
|
||||
T01
|
||||
X017272Y069342
|
||||
X096520Y013208
|
||||
X004826Y011176
|
||||
X084582Y070866
|
||||
M30
|
|
@ -0,0 +1,119 @@
|
|||
;PTH Drill file created by EasyEDA
|
||||
M48
|
||||
METRIC,LZ,000.000
|
||||
;Holesize 1 = 0.306 METRIC
|
||||
T01C0.306
|
||||
;Holesize 2 = 0.701 METRIC
|
||||
T02C0.701
|
||||
;Holesize 3 = 0.889 METRIC
|
||||
T03C0.889
|
||||
;Holesize 4 = 0.915 METRIC
|
||||
T04C0.915
|
||||
;Holesize 5 = 1.701 METRIC
|
||||
T05C1.701
|
||||
%
|
||||
G05
|
||||
G90
|
||||
T01
|
||||
X038661Y059761
|
||||
X036926Y035659
|
||||
X036118Y041658
|
||||
X029222Y041341
|
||||
X020670Y033080
|
||||
X013350Y045212
|
||||
X071059Y039070
|
||||
X057645Y051163
|
||||
X074467Y056619
|
||||
T02
|
||||
X053014Y066548
|
||||
X051308Y066548
|
||||
X049657Y066548
|
||||
X048016Y066548
|
||||
X053522Y022606
|
||||
X051816Y022606
|
||||
X050165Y022606
|
||||
X048524Y022606
|
||||
X083494Y045720
|
||||
X081788Y045720
|
||||
X080137Y045720
|
||||
X078496Y045720
|
||||
T03
|
||||
X089154Y035560
|
||||
X091694Y035560
|
||||
X094234Y035560
|
||||
X096774Y035560
|
||||
X015494Y036830
|
||||
X018034Y036830
|
||||
X020574Y036830
|
||||
X023114Y036830
|
||||
X008890Y028702
|
||||
X006350Y028702
|
||||
X003810Y028702
|
||||
X008890Y023622
|
||||
X006350Y023622
|
||||
X003810Y023622
|
||||
X008890Y018542
|
||||
X006350Y018542
|
||||
X003810Y018542
|
||||
X019304Y063500
|
||||
X016764Y063500
|
||||
X014224Y063500
|
||||
X019304Y058420
|
||||
X016764Y058420
|
||||
X014224Y058420
|
||||
X019304Y053340
|
||||
X016764Y053340
|
||||
X014224Y053340
|
||||
X097536Y028956
|
||||
X094996Y028956
|
||||
X092456Y028956
|
||||
X097536Y023876
|
||||
X094996Y023876
|
||||
X092456Y023876
|
||||
X097536Y018796
|
||||
X094996Y018796
|
||||
X092456Y018796
|
||||
X085598Y065532
|
||||
X083058Y065532
|
||||
X080518Y065532
|
||||
X085598Y060452
|
||||
X083058Y060452
|
||||
X080518Y060452
|
||||
X085598Y055372
|
||||
X083058Y055372
|
||||
X080518Y055372
|
||||
T04
|
||||
X071628Y052832
|
||||
X069088Y052832
|
||||
X066548Y052832
|
||||
X064008Y052832
|
||||
X061468Y052832
|
||||
X058928Y052832
|
||||
X056388Y052832
|
||||
X053848Y052832
|
||||
X051308Y052832
|
||||
X048768Y052832
|
||||
X046228Y052832
|
||||
X043688Y052832
|
||||
X041148Y052832
|
||||
X038608Y052832
|
||||
X036068Y052832
|
||||
X071628Y037592
|
||||
X069088Y037592
|
||||
X066548Y037592
|
||||
X064008Y037592
|
||||
X061468Y037592
|
||||
X058928Y037592
|
||||
X056388Y037592
|
||||
X053848Y037592
|
||||
X051308Y037592
|
||||
X048768Y037592
|
||||
X046228Y037592
|
||||
X043688Y037592
|
||||
X041148Y037592
|
||||
X038608Y037592
|
||||
X036068Y037592
|
||||
T05
|
||||
X090678Y042418
|
||||
X090678Y047416
|
||||
M30
|
|
@ -0,0 +1,29 @@
|
|||
// Locate the initial position of legs
|
||||
// RegisHsu 2015-09-09
|
||||
|
||||
#include <Servo.h>
|
||||
|
||||
Servo servo[4][3];
|
||||
|
||||
//define servos' ports
|
||||
const int servo_pin[4][3] = { {2, 3, 4}, {5, 6, 7}, {8, 9, 10}, {11, 12, 13} };
|
||||
|
||||
void setup()
|
||||
{
|
||||
//initialize all servos
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
servo[i][j].attach(servo_pin[i][j]);
|
||||
delay(100);
|
||||
}
|
||||
}
|
||||
while (1);
|
||||
}
|
||||
|
||||
void loop(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,336 @@
|
|||
|
||||
// SP-8 quadruped robot - 27/03/2019
|
||||
// Copyleft - Roberto Hamm - roberto-hamm@sfr.fr
|
||||
// http://robotix.ah-oui.org
|
||||
|
||||
#include <Servo.h>
|
||||
#include <IRremote.h>
|
||||
|
||||
// codes IR remote control
|
||||
#define cod_0 0x40BF
|
||||
#define cod_1 0xC03F
|
||||
#define cod_2 0xE01F
|
||||
#define cod_3 0x807F
|
||||
#define cod_4 0xD827
|
||||
#define cod_5 0x20DF
|
||||
|
||||
int IR_signal = A0;
|
||||
IRrecv irrecv(IR_signal);
|
||||
decode_results results;
|
||||
|
||||
// servo codes
|
||||
Servo servo_footA;
|
||||
Servo servo_armA;
|
||||
Servo servo_footB;
|
||||
Servo servo_armB;
|
||||
Servo servo_footC;
|
||||
Servo servo_armC;
|
||||
Servo servo_footD;
|
||||
Servo servo_armD;
|
||||
|
||||
int srv_footA = 11; // foot
|
||||
int srv_armA = 10; // arm
|
||||
int srv_footB = 9; // foot
|
||||
int srv_armB = 8; // arm
|
||||
int srv_footC = 7; // foot
|
||||
int srv_armC = 6; // arm
|
||||
int srv_footD = 5; // foot
|
||||
int srv_armD = 4; // arm
|
||||
int del = 1500;
|
||||
|
||||
int Fdw=60;
|
||||
int Fup=80;
|
||||
int Abw=70;
|
||||
int Afw=110;
|
||||
int spd=5;
|
||||
|
||||
int p13 =13;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
Serial.println("Spider-S8 : version-190418 - CASE");
|
||||
// remote control
|
||||
pinMode(IR_signal, INPUT);
|
||||
irrecv.enableIRIn();
|
||||
// servo
|
||||
servo_footA.attach(srv_footA);
|
||||
servo_armA.attach(srv_armA);
|
||||
servo_footB.attach(srv_footB);
|
||||
servo_armB.attach(srv_armB);
|
||||
servo_footC.attach(srv_footC);
|
||||
servo_armC.attach(srv_armC);
|
||||
servo_footD.attach(srv_footD);
|
||||
servo_armD.attach(srv_armD);
|
||||
|
||||
stall(); delay(1000);
|
||||
pinMode(p13, OUTPUT);
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
|
||||
if (irrecv.decode(&results)) {
|
||||
unsigned int value = results.value;
|
||||
Serial.println(value, HEX);
|
||||
|
||||
switch(value){
|
||||
|
||||
|
||||
|
||||
case cod_1:
|
||||
digitalWrite(p13,HIGH);
|
||||
ROUND();
|
||||
digitalWrite(p13,LOW);
|
||||
break;
|
||||
|
||||
case cod_2:
|
||||
digitalWrite(p13,HIGH);
|
||||
WALK();
|
||||
digitalWrite(p13,LOW);
|
||||
break;
|
||||
|
||||
case cod_3:
|
||||
BLINK();
|
||||
for(int i = 0; i < 7; i++){WALK();}
|
||||
stall();
|
||||
flat_up();
|
||||
delay(1000);
|
||||
flat_dw();
|
||||
delay(1000);
|
||||
for(int i = 0; i < 7; i++){ROUND();}
|
||||
delay(500);
|
||||
stall();
|
||||
break;
|
||||
|
||||
case cod_4:
|
||||
flat_up();
|
||||
break;
|
||||
|
||||
case cod_5:
|
||||
flat_dw();
|
||||
flat_up();
|
||||
break;
|
||||
|
||||
case cod_0:
|
||||
stall();
|
||||
digitalWrite(p13,LOW);
|
||||
break;
|
||||
|
||||
} // switch
|
||||
irrecv.resume();
|
||||
}}
|
||||
|
||||
///////// grouped movements ////////////////
|
||||
|
||||
void WALK(){
|
||||
go_ahead();
|
||||
Afoup(); armAfw(); Afodw();
|
||||
Cfoup(); armCbw(); Cfodw();
|
||||
Bfoup(); armBbw(); Bfodw();
|
||||
Dfoup(); armDfw(); Dfodw();
|
||||
}
|
||||
|
||||
void ROUND(){
|
||||
armAfw();
|
||||
armBfw();
|
||||
armCfw();
|
||||
armDfw();
|
||||
Afoup(); armAbw(); Afodw();
|
||||
Bfoup(); armBbw(); Bfodw();
|
||||
Cfoup(); armCbw(); Cfodw();
|
||||
Dfoup(); armDbw(); Dfodw();
|
||||
}
|
||||
|
||||
///////// foot up-down
|
||||
|
||||
void Afoup(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_footA.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Bfoup(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_footB.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Cfoup(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_footC.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Dfoup(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_footD.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Afodw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footA.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Bfodw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footB.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Cfodw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footC.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Dfodw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footD.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
///////////// basic mvmnts ///////////////
|
||||
|
||||
void go_ahead(){
|
||||
spd=5;
|
||||
for(int i=Afw; i>=Abw; i--) {
|
||||
servo_armA.write(i);
|
||||
servo_armD.write(i);
|
||||
int y = Abw+Afw-i;
|
||||
servo_armC.write(y);
|
||||
servo_armB.write(y);
|
||||
delay(spd);}}
|
||||
|
||||
void flat_up(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
servo_footA.write(min);
|
||||
servo_footB.write(min);
|
||||
servo_footC.write(min);
|
||||
servo_footD.write(min);
|
||||
delay(500);
|
||||
for(int i=min; i<=max+50; i++) {
|
||||
servo_footA.write(i);
|
||||
servo_footB.write(i);
|
||||
servo_footC.write(i);
|
||||
servo_footD.write(i);
|
||||
delay(spd);}
|
||||
delay(500);
|
||||
}
|
||||
|
||||
void flat_dw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
servo_footA.write(max);
|
||||
servo_footB.write(max);
|
||||
servo_footC.write(max);
|
||||
servo_footD.write(max);
|
||||
delay(500);
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footA.write(i);
|
||||
servo_footB.write(i);
|
||||
servo_footC.write(i);
|
||||
servo_footD.write(i);
|
||||
delay(spd);}
|
||||
delay(500);
|
||||
}
|
||||
|
||||
///////////////////////////
|
||||
|
||||
// single arm mvt A
|
||||
void armAfw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_armA.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
void armAbw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_armA.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
// single arm mvt B
|
||||
void armBfw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_armB.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
void armBbw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_armB.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
// single arm mvt C
|
||||
void armCfw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_armC.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
void armCbw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_armC.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
// single arm mvt D
|
||||
void armDfw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_armD.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
void armDbw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_armD.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
|
||||
void stall(){
|
||||
BLINK();
|
||||
servo_armA.write(90);servo_footA.write(60);
|
||||
servo_armB.write(90);servo_footB.write(60);
|
||||
servo_armC.write(90);servo_footC.write(60);
|
||||
servo_armD.write(90);servo_footD.write(60);
|
||||
digitalWrite(p13,HIGH);
|
||||
}
|
||||
|
||||
void BLINK(){
|
||||
for(int i=0; i<3; i++){
|
||||
digitalWrite(p13,HIGH);
|
||||
delay(100);
|
||||
digitalWrite(p13,LOW);
|
||||
delay(100); }
|
||||
}
|
||||
|
||||
|
83
Robots/Quadruped robot/Spider robot/README.md
Normal file
|
@ -0,0 +1,83 @@
|
|||
#Arduino Quadruped Robot
|
||||
|
||||
Arduino Quadruped Robot the project delivered from upstream project [RegisHsu](http://goo.gl/H1vvwW)'s spider robot. This project has been redesigned in 3d printed parts eg: didn't glue servo holder with tibia and fumer, resize body to fit [12300 LIPO battery](http://goo.gl/VmvYhv). You don't need to make a bluetooth remote control anymore but you can control robot using [Android App Bluetooth Joystick](https://github.com/anoochit/android-robot-bt-joypad) instead, [get app from Google PlayStore](https://goo.gl/MF46JS).
|
||||
|
||||
New command mode (see source code for detail)
|
||||
|
||||
* Test mode - test robot movement in bluetooth command
|
||||
* Sonar mode - wave your hand in front of ultrasonic sensor to wake up robot
|
||||
* Free walk mode - walk and avoid obstacle in 20cm like robot vacuum
|
||||
|
||||
##Bill of Materials
|
||||
|
||||
###3D printed parts
|
||||
|
||||
* Top Body x 1
|
||||
* Bottom Body x 2
|
||||
* Femur x 4
|
||||
* Coxa Left x 2
|
||||
* Coxa Right x 2
|
||||
* Left Tibia x 2
|
||||
* Right Tibia x 2
|
||||
* Electronic plate x 1
|
||||
|
||||
###Electronic parts
|
||||
|
||||
* Arduino Nano x 1
|
||||
* Arduino Nano expansion board x 1 (optional)
|
||||
* Tower Micro Servo 9G x 12
|
||||
* Switch x 1
|
||||
* UBEC 5V 3A or Reguletor 5V 3A
|
||||
* LIPO Battery 7V/12V 3A (3A play for 1hr)
|
||||
* Prototype PCB Board 6x8 cm
|
||||
* LED x 1
|
||||
* DC Socket 2.5mm x 1
|
||||
* Pin header
|
||||
* Female Pin Header
|
||||
* M3 25mm screw x 4
|
||||
* M3 10mm screw x 4ผ
|
||||
* M2 10mm screw x 4
|
||||
|
||||
##Assemply
|
||||
|
||||
Assembly the printed parts for 4 legs with servos, don't screw servo axis at this time, then assembly legs with body.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Assemply electronic parts (schematic'll add later)
|
||||
|
||||
* Servo pulse pin connect to Arduino Nano pin D2-D13
|
||||
* Servo VCC and GND connect to regulator output
|
||||
* Bluetooth HC-05 Vcc to to Arduino Nano 5V pin, GND, RX-TX and TX-RX
|
||||
* Arduino Nano, Vin and GND connect to regulator output 5v
|
||||
* Use dc jack connect with LIPO battery
|
||||
* Connect battery to input of regulator for stepdown output to 5v
|
||||
|
||||
Group servo wire use order Fumer, Tibia, Coxa, connect servos to arduino pin for each leg
|
||||
|
||||
* Lelf Front connect to pin D2-D4
|
||||
* Lelf Back connect to pin D5-D7
|
||||
* Right Front connect to pin D8-D10
|
||||
* Right Back connect to pin D11-D13
|
||||
|
||||
Flash leg_init.ino script to initial servo angle then screw tight all servo axis, leg position like picture.
|
||||
|
||||

|
||||
|
||||
Flash spider_robot.ino to Arduino, Finish.
|
||||
|
||||
##How to play
|
||||
|
||||
Clone joystick app build and install or [get app from Google PlayStore](https://goo.gl/MF46JS) to your mobile phone, open app, swipe and choose connect menu, choose robot bluetooth to connect.
|
||||
|
||||

|
||||
|
||||
Use setting menu to config button or choose QRCode Scanner to scan QRCode below for automatic config.
|
||||
|
||||

|
||||
|
||||
Now you can play your robot. see robot in action at [https://www.youtube.com/watch?v=OoDke587s8s](https://www.youtube.com/watch?v=OoDke587s8s)
|
||||
|
||||
|