Basic Information

This page allows you to fork a new project from an existing project (Arduino Uno box). The newly forked project will be listed in the IoT Projects page as a new entry. If you want to overwrite the existing project, please edit it instead.

* Photo URLs that end with any one of .jpg, .jpeg, .png or that are uploaded to the Gyazo web service in the PNG format (e.g.https://gyazo.com/hogehoge) are supported.

* Node.js entry point main: index.js and dependencies to the npm module dependencies: { f3js: (略) } will be automatically added and thus do not need to be in this form.

Card preview
Arduino Uno box
'16/6/28 19:1
Just a box that holds an Arduino Uno board.
arc@dmz

Private Project

Unchecking this will make the project public and be listed in the IoT Projects page. The checkbox is unchecked by default since we want you to share the projects! Additionally, you cannot check this unless you are logged in. Once you make the project public, it cannot be undone. (Any edits to the project except for forking will also be public.)

Source Code

Provide the source code of a microcontroller or tiny computer in JavaScript. Node.js-based computers are supported. Require f3js package and use its API to design the device enclosure.

// Arduino基板の配置はこちらを参考にしました。(どうしてmmじゃなくてmilで書くんだ。。) // https://www.wayneandlayne.com/blog/2010/12/19/nice-drawings-of-the-arduino-uno-and-mega-2560/ var iw = 69 // 幅[mm][69,200] , ih = 54 // 高さ[mm][54, 200] , id = 13 // 奥行[mm][13, 200] , dw = 7 , dh = 2 , w = iw + dh*2 // + dh*2 で板厚を考慮 , h = ih + dh*2 , d = id + dh*2 , f3js = require('f3js') , c = f3js.createContainer() , p = c.drawJointRectangle(0, 0, w, h, dw, dh); // 板の左上から1cm余白あける c.x = 10; c.y = 10; // 基板を固定する穴4つ c.drawCircle(iw - 15.234 + dh, 2.539 + dh, 1.6); c.c(iw - 13.965 + dh, 50.761 + dh, 1.6); // shorthand for drawCircle c.c(iw - 65.995 + dh, 17.774 + dh, 1.6); var circle = c.c(); // 引数なしで後からパラメタを指定してもよい circle.x = iw - 65.995 + dh; circle.y = 45.683 + dh; circle.r = 1.6; // 基板の脇に立つ4枚 var planes = p.extrude(d); planes[0].x = w; planes[0].y = 0; planes[1].x = w; planes[1].y = d * 2; planes[2].x = w; planes[2].y = d; planes[3].x = w; planes[3].y = d * 3; for (var i = 0; i < planes.length - 1; i ++) c.add(planes[i]); // 脇からUSBケーブルと電源ケーブルを通す穴2箇所 var c2 = c.cc(); // shorthand for createContainer c2.x = planes[1].x + dh; c2.y = planes[1].y; c2.rc(8.525, -dh, 13.43, 12); c2.rc(39.775, -dh, 10.9, 12); // 基板の上にかぶさる1枚 var c3 = c.cc(); c3.y = h; c3.add(planes[4]); // ピンヘッダを通す穴の並び4箇所 var c4 = c3.cc(); c4.x = dh; c4.y = dh; c4.drawPinLine(iw - 18.80, ih - 2.54, iw - 41.65, ih - 2.54); c4.pln(iw - 45.73, ih - 2.54, iw - 63.50, ih - 2.54); // shorthand for drawPinLine c4.pln(iw - 27.95, ih - 50.8, iw - 45.73, ih - 50.8); var pinLine = c4.pln(); // 引数なしで後からパラメタを指定してもよい pinLine.x = iw - 50.8; pinLine.y = ih -50.8; pinLine.ex = iw - 63.49; pinLine.ey = ih - 50.8; // ピンヘッダ6本ぶんのまとまりを通す大きめの穴1箇所 c4.rc(iw - 61, ih - 21, -7, -9); // USBアダプタと電源アダプタを通す穴2箇所 if (id <= 13) { c4.rc(iw + 2.905, ih - 39.775, -15.34, -10.9); } else { c4.rc(iw + dh, ih - 39.775, -dh -12.435, -10.9); } if (id <= 20) { c4.rc(iw + 6.35, ih - 8.525, -16.875, -13.43); } else { c4.rc(iw + dh, ih - 8.525, -dh -10.525, -13.43); }
Customization

This content does not allow any customization.

Layout view options
Adding comments to variable declarations in the source code populate various GUI widgets in the "Customization" section depending on their types.

Design Alternatives

Modules

No modules are required for this project.

Layout
Program

Login first to use this feature.