Difference between revisions of "Team:Cambridge-JIC/Make Your Own js"
m |
|||
Line 160: | Line 160: | ||
ret += '</table>' | ret += '</table>' | ||
− | ret += '<br/><table><tr><th colspan="4" style="text-align:center">OFF-THE-SHELF COMPONENTS</th></tr><tr><th>Number</th><th>Part</th><th>Cost/unit (GBP)</th><th>Details & link to provider</th></tr><tr><td> | + | ret += '<br/><table><tr><th colspan="4" style="text-align:center">OFF-THE-SHELF COMPONENTS</th></tr><tr><th>Number</th><th>Part</th><th>Cost/unit (GBP)</th><th>Details & link to provider</th></tr><tr><td>1</td><td>white LED (bright-field)</td><td>0.554</td><td><a href="http://uk.rs-online.com/web/p/visible-leds/7133955/?searchTerm=NSPW500DS&relevancy-data=636F3D3226696E3D4931384E4B6E6F776E41734D504E266C753D656E266D6D3D6D61746368616C6C7061727469616C26706D3D5E5B5C707B4C7D5C707B4E647D2D2C2F255C2E5D2B2426706F3D313326736E3D592673743D4D414E5F504152545F4E554D4245522677633D424F5448267573743D4E535057353030445326" style="color:#0000bb">Mfr: Nichia; Part No. NSPW500DS</a> (must be bought in multiples of 5)</td></tr><tr><td>??</td><td>lenses</td></tr><tr><td>2</td><td>25 mm long M4 screws</td></tr><tr><td>1</td><td>40 mm long M4 screw</td></tr><tr><td>3</td><td>M4 nuts + washers</td></tr><tr><td>1</td><td>Raspberry Pi 2 Model B</td><td>26.60</td><td><a href="http://uk.rs-online.com/web/p/processor-microcontroller-development-kits/832-6274/" style="color:#0000bb">Processor part number: BCM2836</a></td></tr><tr><td>1</td><td>Ralink RT5370 WiFi adapter</td><td>9.10</td><td><a href="http://www.amazon.co.uk/gp/product/B00IQFGJSS?psc=1&redirect=true&ref_=oh_aui_detailpage_o02_s00" style="color:#0000bb">Amazon Standard Identification Number (ASIN)\: B00IQFGJSS</a></td></tr><tr><td>1</td><td>Arduino UNO with its USB B connector</td><td>21.00</td><td><a href="https://shop.pimoroni.com/products/arduino-uno" style="color:#0000bb">Mfr: Arduino; Part No A000066</a></td></tr><tr><td>1</td><td>breadboard</td><td>2.82</td><td><a href="http://uk.farnell.com/multicomp/mcbb400/breadboard-solderless-300v-abs/dp/2395961?ost=2395961&mckv=ezr2Yisy&CMP=KNC-GUK-FUK-GEN-SHOPPING-MULTICOMP&CAGPSPN=pla&gclid=Cj0KEQjwg9-vBRCK7L7wmO2u0JcBEiQA_tzoaEPR46s_SrENpnwFOv5PS_hqUNVzk8VV5QPxB9AZBwYaAupo8P8HAQ&CAWELAID=120173390000249291&gross_price=true" style="color:#0000bb">Mfr: Multicomp; Part No. MCBB400</a></td></tr><tr><td>1</td><td>16GB micro SD card</td><td>5.43</td><td><a href="http://www.amazon.co.uk/SanDisk-Ultra-Imaging-C10-MicroSDHC/dp/B00MBTP8Q4/ref=sr_1_6?ie=UTF8&qid=1442328635&sr=8-6&keywords=micro+sd+16gb+memory+cards" style="color:#0000bb">Model number: SDSDQUIN-016G-G4; ASIN: B00MBTP8Q4</a></td></tr><tr><td>2</td><td>220 ohm resistors</td><td>0.065</td><td><a href="http://uk.rs-online.com/web/p/through-hole-fixed-resistors/0131794/" style="color:#0000bb">Brand: TE Connectivity; Part No.CFR100J220R</a> (must be bought in multiples of 10)</td></tr><tr><td>1</td><td>ethernet cable</td><td>9.99</td><td><a href="http://www.pcworld.co.uk/gbuk/computing-accessories/computer-accessories/power-and-cables/computing-cables-and-adaptors/sandstrom-scat65m12-rj45-to-rj45-cat-6-ethernet-cable-5m-12567142-pdt.html" style="color:#0000bb">Mfr: Sandstrøm; Product code: 874926</a></td></tr><tr><td>1</td><td>100 m spool insulated single-core wire</td><td>13.45</td><td><a href="http://uk.rs-online.com/web/p/single-core-control-cable/7244311/" style="color:#0000bb">Brand: Lapp; Part No.4510021</a></td></tr>' |
if(options[2] == 0 && options[3] == 0 && options[4] == 0) { | if(options[2] == 0 && options[3] == 0 && options[4] == 0) { | ||
− | ret += '<tr><td>3</td><td>RPi cameras</td><td>22.18</td><td><a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi | + | ret += '<tr><td>3</td><td>RPi cameras</td><td>22.18</td><td><a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi; Part No. PiNoir</a></td></tr><tr><td>1</td><td>RPi ribbon cable</td><td>0.00</td><td>Comes with RPi camera</td></tr>' |
} | } | ||
else if((options[2] == 0 && options[3] == 0) || (options[2] == 0 && options[4] == 0) || (options[3] == 0 && options[4] == 0)) { | else if((options[2] == 0 && options[3] == 0) || (options[2] == 0 && options[4] == 0) || (options[3] == 0 && options[4] == 0)) { | ||
− | ret += '<tr><td>2</td><td>RPi cameras</td><td>22.18</td><td><a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi | + | ret += '<tr><td>2</td><td>RPi cameras</td><td>22.18</td><td><a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi; Part No. PiNoir</a></td></tr><tr><td>1</td><td>RPi ribbon cable</td><td>0.00</td><td>Comes with RPi camera</td></tr>' |
} else if(options[2] == 0 || options[3] == 0 || options[4] == 0) { | } else if(options[2] == 0 || options[3] == 0 || options[4] == 0) { | ||
− | ret += '<tr><td>1</td><td>RPi camera</td><td>22.18</td><td><a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi | + | ret += '<tr><td>1</td><td>RPi camera</td><td>22.18</td><td><a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi; Part No. PiNoir</a></td></tr><tr><td>1</td><td>RPi ribbon cable</td><td>0.00</td><td>Comes with RPi camera</td></tr>' |
} | } | ||
− | |||
if(options[2] == 0) { | if(options[2] == 0) { | ||
− | ret += '<tr><td> | + | ret += '<tr><td>1</td><td>blue LED (GFP)</td><td>0.225</td><td><a href="http://onecall.farnell.com/kingbright/l-10934vbc-ds-d/led-3mm-blue-4000mcd-470nm/dp/2373492?ost=2373492" style="color:#0000bb">Mfr: Kingbright; Part No. L-10934VBC/DS-D</a></td></tr><tr><td>1</td><td>520nm dichroic mirror, 25x16mm (GFP)</td><td>19.40</td><td><a href="http://www.comaroptics.com/components/filters/dichroic-filters/long-pass-dichroic-filters#row-521_iy_116" style="color:#0000bb">Mfr: Comar; Part No. 521 1Y 116</a></td></tr><tr><td>1</td><td>490nm excitation filter, 25x16mm (GFP)</td><td>19.40</td><td><a href="http://www.comaroptics.com/components/filters/dichroic-filters/short-pass-dichroic-filters" style="color:#0000bb">Mfr: Comar; Part No. 495 1K 116</a></td></tr><tr><td>1</td><td>500nm emission filter, 25x16mm (GFP)</td><td>19.40</td><td><a href="http://www.comaroptics.com/components/filters/dichroic-filters/band-pass-dichroic-filters" style="color:#0000bb">Mfr: Comar; Part No. 515 1B 116</a></td></tr>' |
} | } | ||
if(options[3] == 0) { | if(options[3] == 0) { | ||
− | ret += '<tr><td> | + | ret += '<tr><td>1</td><td>LED (RFP)</td><td></td><td></td></tr><tr><td>1</td><td>dichroic mirror (RFP)</td><td></td><td></td></tr><tr><td>1</td><td>excitation filter (RFP)</td><td></td><td></td></tr><tr><td>1</td><td>emission filter (RFP)</td><td></td><td></td></tr>' |
} | } | ||
if(options[4] == 0) { | if(options[4] == 0) { | ||
− | ret += '<tr><td> | + | ret += '<tr><td>5</td><td>LEDs</td><td></td><td>tailored to FP</td></tr><tr><td>1</td><td>dichroic mirror</td><td></td><td>tailored to FP</td></tr><tr><td>1</td><td>excitation filter</td><td></td><td>tailored to FP</td></tr><tr><td>1</td><td>emission filter</td><td></td><td>tailored to FP</td></tr>' |
} | } | ||
if(options[5] == 1 || options[5] == 2) { | if(options[5] == 1 || options[5] == 2) { |
Revision as of 10:32, 16 September 2015
quiz = function(elem){ this.elem = $(elem); this.steps = [];
this.step = function(question, answers) { this.question = question; this.answers = {}; this.bind = function(target, keys) { if (typeof keys === "undefined") { keys = Object.keys(this.answers); }
for (var i=0; i<keys.length; i++) { key = keys[i]; this.answers[key].target = target; } }; this.elem = function(quiz, index) {elem = $('
');
elem.append($('').text(this.question));
for (key in this.answers) {
elem.append($('
').text(this.question));
for (key in this.answers) {
elem.append($('')
.text(this.answers[key].answer)
.data("key", key)
.data("step", this)
.data("quiz", quiz)
.data("index", index)
.click(function(){
key = $(this).data("key");
step = $(this).data("step");
quiz = $(this).data("quiz");
index = $(this).data("index");
ref = quiz.steps[index];
ref.elem.find('.cam-quiz-selected').removeClass('cam-quiz-selected');
$(this).addClass('cam-quiz-selected');
for (var i=quiz.steps.length; --i>index;) {
quiz.steps[i].elem.remove();
quiz.steps.pop();
}
quiz.steps[index].option = key;
nstep = step.answers[key].target;
switch (typeof nstep) {
case "object":
var nindex = quiz.steps.length;
var nref = {
'step': nstep,
'elem': nstep.elem(quiz, nindex),
'option': undefined
};
quiz.steps.push(nref);
quiz.elem.append(nref.elem);
break;
case "function":
options = [];
for (var i=0; i<quiz.steps.length; i++) {
options.push(quiz.steps[i].option);
}
var nref = {
'step': undefined,
'elem': $('')
.append(nstep(options)),
'option': undefined
};
quiz.steps.push(nref);
quiz.elem.append(nref.elem);
break;
default:
alert("Quiz error! Please contact the site maintainers....");
break;
}
}));
}
return elem;
};
for (key in answers) {
answer = answers[key];
this.answers[key] = {
'answer': answer,
'target': undefined
};
}
};
this.start = function(step) {
index = this.steps.length;
ref = {
'step': step,
'elem': step.elem(this, index),
'option': undefined
};
this.steps.push(ref);
this.elem.append(ref.elem);
};
};
$(document).ready(function(){
q = new quiz('#cam-quiz');
step0 = new q.step("Tell us which options you'd like for your microscope.", {
1: "Okay!"
});
step1 = new q.step("Besides bright-field, do you need dark-field imaging?", {
0: "Yes",
1: "No"
});
step2 = new q.step("Do you need to image GFP fluorescence?", {
0: "Yes",
1: "No"
});
step3 = new q.step("Do you need to image RFP fluorescence?", {
0: "Yes",
1: "No"
});
step4 = new q.step("Do you need to image other fluorescent proteins, e.g. YFP?", {
0: "Yes",
1: "No"
});
step5 = new q.step("Do you want your microscope to be manual, motorised, or will you need to swap between both?", {
0: "Manual only",
1: "Motorised only",
2: "Both",
});
step6 = new q.step("Do you need your microscope to be fully battery-powered, e.g. for fieldwork?", {
0: "Yes",
1: "No"
});
final = function(options) {
window.location.href="#CC0";
ret = '<h3>Thanks!</h3>
Here\'s what you\'ll need\:
3D PRINTED COMPONENTS Number Part Cost/unit (GBP) STL file SCAD file 1 main stage 3 legs 2 side supports for z axis 1 z axis in 3 parts (vertical + horizontal + connector) 1 connecting ring bw z axes 1 3-legged camera holder 2 slide clips 1 bright-field cube '
if(options[1] == 0) {
ret += '1 dark-field tube in N parts '
}
if(options[2] == 0 && options[3] == 0 && options[4] == 0) {
ret += '3 epicubes 3 drawers for the excitation filters 3 drawers for the emission filters 3 drawers for the dichroic mirrors '
}
else if((options[2] == 0 && options[3] == 0) || (options[2] == 0 && options[4] == 0) || (options[3] == 0 && options[4] == 0)) {
ret += '2 epicubes 2 drawers for the excitation filters 2 drawers for the emission filters 2 drawers for the dichroic mirrors '
} else if(options[2] == 0 || options[3] == 0 || options[4] == 0) {
ret += '1 epicube 1 drawer for the excitation filter 1 drawer for the emission filter 1 drawer for the dichroic mirror '
}
if(options[5] == 0 || options[5] == 2) {
ret += '3 screw gears 3 manual gears 3 screw holders '
}
if(options[5] == 1 || options[5] == 2) {
ret += '3 screw gears for motors 3 motor holders '
}
if((options[5] == 1 || options[5] == 2) && options[6] == 1) {
ret += '1 battery holder for RPi '
}
if((options[5] == 1 || options[5] == 2) && options[6] == 0) {
ret += '2 battery holders for RPi '
}
if(options[6] == 0 && !(options[5] == 1 || options[5] == 2)) {
ret += '1 battery holder for RPi '
}
ret += '
'
ret += '
OFF-THE-SHELF COMPONENTS Number Part Cost/unit (GBP) Details & link to provider 1 white LED (bright-field) 0.554 <a href="http://uk.rs-online.com/web/p/visible-leds/7133955/?searchTerm=NSPW500DS&relevancy-data=636F3D3226696E3D4931384E4B6E6F776E41734D504E266C753D656E266D6D3D6D61746368616C6C7061727469616C26706D3D5E5B5C707B4C7D5C707B4E647D2D2C2F255C2E5D2B2426706F3D313326736E3D592673743D4D414E5F504152545F4E554D4245522677633D424F5448267573743D4E535057353030445326" style="color:#0000bb">Mfr: Nichia; Part No. NSPW500DS</a> (must be bought in multiples of 5) ?? lenses 2 25 mm long M4 screws 1 40 mm long M4 screw 3 M4 nuts + washers 1 Raspberry Pi 2 Model B 26.60 <a href="http://uk.rs-online.com/web/p/processor-microcontroller-development-kits/832-6274/" style="color:#0000bb">Processor part number: BCM2836</a> 1 Ralink RT5370 WiFi adapter 9.10 <a href="http://www.amazon.co.uk/gp/product/B00IQFGJSS?psc=1&redirect=true&ref_=oh_aui_detailpage_o02_s00" style="color:#0000bb">Amazon Standard Identification Number (ASIN)\: B00IQFGJSS</a> 1 Arduino UNO with its USB B connector 21.00 <a href="https://shop.pimoroni.com/products/arduino-uno" style="color:#0000bb">Mfr: Arduino; Part No A000066</a> 1 breadboard 2.82 <a href="http://uk.farnell.com/multicomp/mcbb400/breadboard-solderless-300v-abs/dp/2395961?ost=2395961&mckv=ezr2Yisy&CMP=KNC-GUK-FUK-GEN-SHOPPING-MULTICOMP&CAGPSPN=pla&gclid=Cj0KEQjwg9-vBRCK7L7wmO2u0JcBEiQA_tzoaEPR46s_SrENpnwFOv5PS_hqUNVzk8VV5QPxB9AZBwYaAupo8P8HAQ&CAWELAID=120173390000249291&gross_price=true" style="color:#0000bb">Mfr: Multicomp; Part No. MCBB400</a> 1 16GB micro SD card 5.43 <a href="http://www.amazon.co.uk/SanDisk-Ultra-Imaging-C10-MicroSDHC/dp/B00MBTP8Q4/ref=sr_1_6?ie=UTF8&qid=1442328635&sr=8-6&keywords=micro+sd+16gb+memory+cards" style="color:#0000bb">Model number: SDSDQUIN-016G-G4; ASIN: B00MBTP8Q4</a> 2 220 ohm resistors 0.065 <a href="http://uk.rs-online.com/web/p/through-hole-fixed-resistors/0131794/" style="color:#0000bb">Brand: TE Connectivity; Part No.CFR100J220R</a> (must be bought in multiples of 10) 1 ethernet cable 9.99 <a href="http://www.pcworld.co.uk/gbuk/computing-accessories/computer-accessories/power-and-cables/computing-cables-and-adaptors/sandstrom-scat65m12-rj45-to-rj45-cat-6-ethernet-cable-5m-12567142-pdt.html" style="color:#0000bb">Mfr: Sandstrøm; Product code: 874926</a> 1 100 m spool insulated single-core wire 13.45 <a href="http://uk.rs-online.com/web/p/single-core-control-cable/7244311/" style="color:#0000bb">Brand: Lapp; Part No.4510021</a> '
if(options[2] == 0 && options[3] == 0 && options[4] == 0) {
ret += '3 RPi cameras 22.18 <a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi; Part No. PiNoir</a> 1 RPi ribbon cable 0.00 Comes with RPi camera '
}
else if((options[2] == 0 && options[3] == 0) || (options[2] == 0 && options[4] == 0) || (options[3] == 0 && options[4] == 0)) {
ret += '2 RPi cameras 22.18 <a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi; Part No. PiNoir</a> 1 RPi ribbon cable 0.00 Comes with RPi camera '
} else if(options[2] == 0 || options[3] == 0 || options[4] == 0) {
ret += '1 RPi camera 22.18 <a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi; Part No. PiNoir</a> 1 RPi ribbon cable 0.00 Comes with RPi camera '
}
if(options[2] == 0) {
ret += '1 blue LED (GFP) 0.225 <a href="http://onecall.farnell.com/kingbright/l-10934vbc-ds-d/led-3mm-blue-4000mcd-470nm/dp/2373492?ost=2373492" style="color:#0000bb">Mfr: Kingbright; Part No. L-10934VBC/DS-D</a> 1 520nm dichroic mirror, 25x16mm (GFP) 19.40 <a href="http://www.comaroptics.com/components/filters/dichroic-filters/long-pass-dichroic-filters#row-521_iy_116" style="color:#0000bb">Mfr: Comar; Part No. 521 1Y 116</a> 1 490nm excitation filter, 25x16mm (GFP) 19.40 <a href="http://www.comaroptics.com/components/filters/dichroic-filters/short-pass-dichroic-filters" style="color:#0000bb">Mfr: Comar; Part No. 495 1K 116</a> 1 500nm emission filter, 25x16mm (GFP) 19.40 <a href="http://www.comaroptics.com/components/filters/dichroic-filters/band-pass-dichroic-filters" style="color:#0000bb">Mfr: Comar; Part No. 515 1B 116</a> '
}
if(options[3] == 0) {
ret += '1 LED (RFP) 1 dichroic mirror (RFP) 1 excitation filter (RFP) 1 emission filter (RFP) '
}
if(options[4] == 0) {
ret += '5 LEDs tailored to FP 1 dichroic mirror tailored to FP 1 excitation filter tailored to FP 1 emission filter tailored to FP '
}
if(options[5] == 1 || options[5] == 2) {
ret += '3 stepper motors 2 UNL2003A Darlington driver chips '
}
if((options[5] == 1 || options[5] == 2) && options[6] == 1) {
ret += '1 9V battery connector '
}
if((options[5] == 1 || options[5] == 2) && options[6] == 0) {
ret += '2 9V battery connectors '
}
if(options[6] == 0 && !(options[5] == 1 || options[5] == 2)) {
ret += '1 9V battery connector '
}
if(options[6] == 0) {
ret += '1 1 MoPi power board '
}
if(options[6] == 1) {
ret += '1 2A micro USB power cable '
}
ret += '
'
ret += '
Assembly instructions:
- Remove the lens from the Raspberry Pi camera. Using a pair of pliers (the kind with a ridged surface), grip the top circular plastic part of the lens and rotate counter-clockwise. We find it\'s easiest to grip the lens firmly and rotate the sensor, rather than the other way around.
- Using super glue (we recommend Loctite\; apply with a brush) glue the following parts\:
- nuts (x3) on the bottom of the stage
- legs (x1 large + x2 small)
- screw caps (x3)
'
if(options[5] == 0) {
ret += ' - screw holders (x3)
'
}
if(options[5] == 1) {
ret += 'motor holders (x3) '
}
if(options[5] == 2) {
ret += 'motor holders (x3) or screw holders (x3) depending on whether motorised or manual mode is used '
}
ret += 'the 2 parts of the z axis together RPi lens into lens holder supporting axes (x2) into cube holder washer into large leg (around the hole)
Fit the following parts in (you might have to file all holes until they are smooth and large enough...)\:- slide the main z axis into its slot (the central one) from the bottom, make sure it can move smoothly
- slide the remaining z axis assembly in from top
- make sure the main z axis fits into the slot in the camera holder, if it does - glue it in place
- slide the lens (with its holder) into the camera cube
- click the camera cube into the square hole of the camera holder, make sure it goes all the way down (front face of cube at the level of the bottom surface of the holder)
- detach the camera sensor from the camera board, click the RPi Cam sensor into the camera cube, click the SUNNY back to the board (make sure it stays connected at all times!!!)
- put screws into holes on the top cover, place a washer under each screwtop and screw into the nuts (make sure the superglue has dried...) - now you can move the stage and the z axis and you are ready to image!
'
if(options[5] == 1) {
ret += 'To add the motors: place the camshaft of the motor into the hole designated for it (in the screw cap) and click the motor in - the body should now touch the holder surface, press hard so that it glues in...repeat for all three motors
'
}
if(options[5] == 2) {
ret += 'To use the microscope in motorised mode, add the motors as follows: place the camshaft of the motor into the hole designated for it (in the screw cap) and click the motor in - the body should now touch the holder surface, press hard so that it glues in...repeat for all three motors
'
}
ret +=''
return $('').html(ret)
}
step0.bind(step1, [1]);
step1.bind(step2, [0]);
step1.bind(step2, [1]);
step2.bind(step3, [0]);
step2.bind(step3, [1]);
step3.bind(step4, [0]);
step3.bind(step4, [1]);
step4.bind(step5, [0]);
step4.bind(step5, [1]);
step5.bind(step6, [0]);
step5.bind(step6, [1]);
step5.bind(step6, [2]);
step6.bind(final, [0]);
step6.bind(final, [1]);
q.start(step0);
});
.text(this.answers[key].answer) .data("key", key) .data("step", this) .data("quiz", quiz) .data("index", index) .click(function(){ key = $(this).data("key"); step = $(this).data("step"); quiz = $(this).data("quiz"); index = $(this).data("index"); ref = quiz.steps[index]; ref.elem.find('.cam-quiz-selected').removeClass('cam-quiz-selected'); $(this).addClass('cam-quiz-selected');
for (var i=quiz.steps.length; --i>index;) { quiz.steps[i].elem.remove(); quiz.steps.pop(); }
quiz.steps[index].option = key; nstep = step.answers[key].target; switch (typeof nstep) { case "object": var nindex = quiz.steps.length; var nref = { 'step': nstep, 'elem': nstep.elem(quiz, nindex), 'option': undefined }; quiz.steps.push(nref); quiz.elem.append(nref.elem); break; case "function": options = []; for (var i=0; i<quiz.steps.length; i++) { options.push(quiz.steps[i].option); } var nref = { 'step': undefined,'elem': $('
')
Here\'s what you\'ll need\:
'
ret += '
'
ret += '
motor holders (x3) '
motor holders (x3) or screw holders (x3) depending on whether motorised or manual mode is used '
the 2 parts of the z axis together RPi lens into lens holder supporting axes (x2) into cube holder washer into large leg (around the hole)
Fit the following parts in (you might have to file all holes until they are smooth and large enough...)\:
'To add the motors: place the camshaft of the motor into the hole designated for it (in the screw cap) and click the motor in - the body should now touch the holder surface, press hard so that it glues in...repeat for all three motors
'To use the microscope in motorised mode, add the motors as follows: place the camshaft of the motor into the hole designated for it (in the screw cap) and click the motor in - the body should now touch the holder surface, press hard so that it glues in...repeat for all three motors
'
.append(nstep(options)), 'option': undefined }; quiz.steps.push(nref); quiz.elem.append(nref.elem); break; default: alert("Quiz error! Please contact the site maintainers...."); break; } })); } return elem; };
for (key in answers) { answer = answers[key]; this.answers[key] = { 'answer': answer, 'target': undefined }; } };
this.start = function(step) { index = this.steps.length; ref = { 'step': step, 'elem': step.elem(this, index), 'option': undefined }; this.steps.push(ref); this.elem.append(ref.elem); }; };
$(document).ready(function(){ q = new quiz('#cam-quiz');
step0 = new q.step("Tell us which options you'd like for your microscope.", { 1: "Okay!" }); step1 = new q.step("Besides bright-field, do you need dark-field imaging?", { 0: "Yes", 1: "No" }); step2 = new q.step("Do you need to image GFP fluorescence?", { 0: "Yes", 1: "No" }); step3 = new q.step("Do you need to image RFP fluorescence?", { 0: "Yes", 1: "No" }); step4 = new q.step("Do you need to image other fluorescent proteins, e.g. YFP?", { 0: "Yes", 1: "No" }); step5 = new q.step("Do you want your microscope to be manual, motorised, or will you need to swap between both?", { 0: "Manual only", 1: "Motorised only", 2: "Both", }); step6 = new q.step("Do you need your microscope to be fully battery-powered, e.g. for fieldwork?", { 0: "Yes", 1: "No" });
final = function(options) {
window.location.href="#CC0";ret = '<h3>Thanks!</h3>
Here\'s what you\'ll need\:
3D PRINTED COMPONENTS | ||||
---|---|---|---|---|
Number | Part | Cost/unit (GBP) | STL file | SCAD file |
1 | main stage | |||
3 | legs | |||
2 | side supports for z axis | |||
1 | z axis in 3 parts (vertical + horizontal + connector) | |||
1 | connecting ring bw z axes | |||
1 | 3-legged camera holder | |||
2 | slide clips | |||
1 | bright-field cube | |||
1 | dark-field tube in N parts | |||
3 | epicubes | |||
3 | drawers for the excitation filters | |||
3 | drawers for the emission filters | |||
3 | drawers for the dichroic mirrors | |||
2 | epicubes | |||
2 | drawers for the excitation filters | |||
2 | drawers for the emission filters | |||
2 | drawers for the dichroic mirrors | |||
1 | epicube | |||
1 | drawer for the excitation filter | |||
1 | drawer for the emission filter | |||
1 | drawer for the dichroic mirror | |||
3 | screw gears | |||
3 | manual gears | |||
3 | screw holders | |||
3 | screw gears for motors | |||
3 | motor holders | |||
1 | battery holder for RPi | |||
2 | battery holders for RPi | |||
1 | battery holder for RPi |
OFF-THE-SHELF COMPONENTS | |||
---|---|---|---|
Number | Part | Cost/unit (GBP) | Details & link to provider |
1 | white LED (bright-field) | 0.554 | <a href="http://uk.rs-online.com/web/p/visible-leds/7133955/?searchTerm=NSPW500DS&relevancy-data=636F3D3226696E3D4931384E4B6E6F776E41734D504E266C753D656E266D6D3D6D61746368616C6C7061727469616C26706D3D5E5B5C707B4C7D5C707B4E647D2D2C2F255C2E5D2B2426706F3D313326736E3D592673743D4D414E5F504152545F4E554D4245522677633D424F5448267573743D4E535057353030445326" style="color:#0000bb">Mfr: Nichia; Part No. NSPW500DS</a> (must be bought in multiples of 5) |
?? | lenses | ||
2 | 25 mm long M4 screws | ||
1 | 40 mm long M4 screw | ||
3 | M4 nuts + washers | ||
1 | Raspberry Pi 2 Model B | 26.60 | <a href="http://uk.rs-online.com/web/p/processor-microcontroller-development-kits/832-6274/" style="color:#0000bb">Processor part number: BCM2836</a> |
1 | Ralink RT5370 WiFi adapter | 9.10 | <a href="http://www.amazon.co.uk/gp/product/B00IQFGJSS?psc=1&redirect=true&ref_=oh_aui_detailpage_o02_s00" style="color:#0000bb">Amazon Standard Identification Number (ASIN)\: B00IQFGJSS</a> |
1 | Arduino UNO with its USB B connector | 21.00 | <a href="https://shop.pimoroni.com/products/arduino-uno" style="color:#0000bb">Mfr: Arduino; Part No A000066</a> |
1 | breadboard | 2.82 | <a href="http://uk.farnell.com/multicomp/mcbb400/breadboard-solderless-300v-abs/dp/2395961?ost=2395961&mckv=ezr2Yisy&CMP=KNC-GUK-FUK-GEN-SHOPPING-MULTICOMP&CAGPSPN=pla&gclid=Cj0KEQjwg9-vBRCK7L7wmO2u0JcBEiQA_tzoaEPR46s_SrENpnwFOv5PS_hqUNVzk8VV5QPxB9AZBwYaAupo8P8HAQ&CAWELAID=120173390000249291&gross_price=true" style="color:#0000bb">Mfr: Multicomp; Part No. MCBB400</a> |
1 | 16GB micro SD card | 5.43 | <a href="http://www.amazon.co.uk/SanDisk-Ultra-Imaging-C10-MicroSDHC/dp/B00MBTP8Q4/ref=sr_1_6?ie=UTF8&qid=1442328635&sr=8-6&keywords=micro+sd+16gb+memory+cards" style="color:#0000bb">Model number: SDSDQUIN-016G-G4; ASIN: B00MBTP8Q4</a> |
2 | 220 ohm resistors | 0.065 | <a href="http://uk.rs-online.com/web/p/through-hole-fixed-resistors/0131794/" style="color:#0000bb">Brand: TE Connectivity; Part No.CFR100J220R</a> (must be bought in multiples of 10) |
1 | ethernet cable | 9.99 | <a href="http://www.pcworld.co.uk/gbuk/computing-accessories/computer-accessories/power-and-cables/computing-cables-and-adaptors/sandstrom-scat65m12-rj45-to-rj45-cat-6-ethernet-cable-5m-12567142-pdt.html" style="color:#0000bb">Mfr: Sandstrøm; Product code: 874926</a> |
1 | 100 m spool insulated single-core wire | 13.45 | <a href="http://uk.rs-online.com/web/p/single-core-control-cable/7244311/" style="color:#0000bb">Brand: Lapp; Part No.4510021</a> |
3 | RPi cameras | 22.18 | <a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi; Part No. PiNoir</a> |
1 | RPi ribbon cable | 0.00 | Comes with RPi camera |
2 | RPi cameras | 22.18 | <a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi; Part No. PiNoir</a> |
1 | RPi ribbon cable | 0.00 | Comes with RPi camera |
1 | RPi camera | 22.18 | <a href="http://www.misco.co.uk/product/217272/Raspberry-Pi-NoIR-Camera-Board?fromProductList=Search+result" style="color:#0000bb">Brand: Raspberry Pi; Part No. PiNoir</a> |
1 | RPi ribbon cable | 0.00 | Comes with RPi camera |
1 | blue LED (GFP) | 0.225 | <a href="http://onecall.farnell.com/kingbright/l-10934vbc-ds-d/led-3mm-blue-4000mcd-470nm/dp/2373492?ost=2373492" style="color:#0000bb">Mfr: Kingbright; Part No. L-10934VBC/DS-D</a> |
1 | 520nm dichroic mirror, 25x16mm (GFP) | 19.40 | <a href="http://www.comaroptics.com/components/filters/dichroic-filters/long-pass-dichroic-filters#row-521_iy_116" style="color:#0000bb">Mfr: Comar; Part No. 521 1Y 116</a> |
1 | 490nm excitation filter, 25x16mm (GFP) | 19.40 | <a href="http://www.comaroptics.com/components/filters/dichroic-filters/short-pass-dichroic-filters" style="color:#0000bb">Mfr: Comar; Part No. 495 1K 116</a> |
1 | 500nm emission filter, 25x16mm (GFP) | 19.40 | <a href="http://www.comaroptics.com/components/filters/dichroic-filters/band-pass-dichroic-filters" style="color:#0000bb">Mfr: Comar; Part No. 515 1B 116</a> |
1 | LED (RFP) | ||
1 | dichroic mirror (RFP) | ||
1 | excitation filter (RFP) | ||
1 | emission filter (RFP) | ||
5 | LEDs | tailored to FP | |
1 | dichroic mirror | tailored to FP | |
1 | excitation filter | tailored to FP | |
1 | emission filter | tailored to FP | |
3 | stepper motors | ||
2 | UNL2003A Darlington driver chips | ||
1 | 9V battery connector | ||
2 | 9V battery connectors | ||
1 | 9V battery connector | ||
1 | 1 MoPi power board | ||
1 | 2A micro USB power cable |
Assembly instructions:
- Remove the lens from the Raspberry Pi camera. Using a pair of pliers (the kind with a ridged surface), grip the top circular plastic part of the lens and rotate counter-clockwise. We find it\'s easiest to grip the lens firmly and rotate the sensor, rather than the other way around.
- Using super glue (we recommend Loctite\; apply with a brush) glue the following parts\:
- nuts (x3) on the bottom of the stage
- legs (x1 large + x2 small)
- screw caps (x3) '
if(options[5] == 0) {
ret += ' - screw holders (x3) '
} if(options[5] == 1) {ret += '
} if(options[5] == 2) {ret += '
}ret += '
- slide the main z axis into its slot (the central one) from the bottom, make sure it can move smoothly
- slide the remaining z axis assembly in from top
- make sure the main z axis fits into the slot in the camera holder, if it does - glue it in place
- slide the lens (with its holder) into the camera cube
- click the camera cube into the square hole of the camera holder, make sure it goes all the way down (front face of cube at the level of the bottom surface of the holder)
- detach the camera sensor from the camera board, click the RPi Cam sensor into the camera cube, click the SUNNY back to the board (make sure it stays connected at all times!!!)
- put screws into holes on the top cover, place a washer under each screwtop and screw into the nuts (make sure the superglue has dried...) - now you can move the stage and the z axis and you are ready to image!
'
if(options[5] == 1) {ret += '
'
} if(options[5] == 2) {ret += '
'
}ret +='' return $('
').html(ret)
}
step0.bind(step1, [1]);
step1.bind(step2, [0]); step1.bind(step2, [1]);
step2.bind(step3, [0]); step2.bind(step3, [1]);
step3.bind(step4, [0]); step3.bind(step4, [1]);
step4.bind(step5, [0]); step4.bind(step5, [1]);
step5.bind(step6, [0]); step5.bind(step6, [1]); step5.bind(step6, [2]);
step6.bind(final, [0]); step6.bind(final, [1]); q.start(step0);});