;; any special notes about the item
note))
+;; estimate of the cost of pla in dollars per cubic centimeter
+(define pla-$/cm^3
+ ;; this cost is an estimate taken from this site
+ ;; http://www.toybuilderlabs.com/
+ ;; blogs/news/13053117-filament-volume-and-length
+ (/ 25 800))
+
;; usually, the above code would be enough for describing a bunch of
;; items. unfortunately, the last argument, for the parameter 'note',
;; must be supplied in the default item constructor created above.
[note ""])
(item description quantity unit-cost max-lead-days where-to-get note))
+;; TODO: add sonar sensor cable making supplies
;; TODO: add actual cost for screws, nuts, and other estimated parts
;; TODO: add male-female jump wires for connecting sonar sensors
-;; TODO: add 3d printer filament cost for wheel, sonar sensor holders,
-;; caster standoff
;; TODO: add ball caster
;; TODO: checkout the following, if it's not a fraud, buy for next class
;;; (string-append
;; this is the argument for the parameter 'quantity'.
;; this is the number of millimeters of orange wire
;; in a single robot kit.
- ;; there are 2 orange wires, one for each wire.
+ ;; there are 2 orange wires, one for each motor.
;; the 120 mm wire reaches to the far side of the
;; motor controller
(+ 120 90)
"http://www.jameco.com/webapp/wcs/stores/servlet/Product"
"_10001_10001_36792_-1"))
(make-item "9v battery"
- 1 (/ 9.99 5) 1
- "http://www.frys.com/product/5234117"
+ 1 1.29 1
+ (string-append
+ "https://www.jameco.com/webapp/wcs/stores/servlet/Product"
+ "_10001_10001_151095_-1")
"can get in store")
(make-item "9v battery holder"
1 (/ 1.25 10) 1
(string-append
"can get in store. unit cost goes down for large orders"
", see page for specifics."))
- (make-item "Arduino(tm) board"
+ (make-item "Arduino(tm) Uno board"
1 16.98 8
(string-append
"http://www.colorapples.com/2012-new-arduino-uno-r3-boar"
(string-append
"comes with USB A to B cable. unit cost goes down for"
" large orders, see page for specifics."))
- (make-item "motor" 2 6 7 "https://solarbotics.com/product/gm3/")
+ (make-item "gm3 motor 224:1 90 degree shaft"
+ 2 6 7
+ "https://solarbotics.com/product/gm3/")
(make-item "transparent 400 point (half) BreadBoard"
1 5.95 1
(string-append
"http://www.officedepot.com/a/products/495242/"
"Scotch-Permanent-Double-Sided-Foam-Tape/"))
;; TODO: get actual cost of #4-40 phillips 1&1/4" screws
- (make-item "#4-40 Phillips 1 1/4 inch screws"
- 3 .1 1
- "olander" "price is an estimate. can pick up in person")
+ (make-item "#4-40 Phillips 1 pan stl zn cr3, magnetic"
+ 4 0.1 1
+ "olander PN:4C100PPMZR"
+ "price is an estimate. can pick up in person")
;; TODO: get actual cost of #4-40 hex lock nuts
(make-item "#4-40 hex lock nuts"
- 6 .1 1
+ 6 0.1 1
"olander" "price is an estimate. can pick up in person")
;; TODO: get actual cost of #6-32 3/8" screws
(make-item "#6-32 button hex head socket 3/8 inch"
- 12 .1 1
+ 12 0.1 1
"olander" "price is an estimate. can pick up in person")
(make-item "motor controller"
1 (/ 5.2 5) 10
"http://www.ebay.com/itm/like/180976411359?lpid=82")
(make-item "sonar sensor hc-sr04"
2 1.39 7
- "http://www.ebay.com/itm/161156018270")))
+ "http://www.ebay.com/itm/161156018270")
+ (make-item "caster standoff"
+ 1 (* 8.2 pla-$/cm^3) 1
+ "3d print at home")
+ (make-item "wheel"
+ 2 (* 11.3 pla-$/cm^3) 1
+ "3d print at home")
+ (make-item "deck holder"
+ 2 (* 4.0 pla-$/cm^3) 1
+ "3d print at home")
+ (make-item "sonar holder"
+ 2 (* 2.4 pla-$/cm^3) 1
+ "3d print at home" "price of filament is an estimate")
+ (make-item "motor mount"
+ 2 (* 3.1 pla-$/cm^3) 1
+ "3d print at home")))
(define total-cost
(apply + (for/list ([thing bill-of-materials])