update bill of materials
authordaniel watson <ozzloy@gmail.com>
Thu, 15 May 2014 18:15:11 +0000 (11:15 -0700)
committerdaniel watson <ozzloy@gmail.com>
Thu, 15 May 2014 18:15:11 +0000 (11:15 -0700)
* includes change in suppliers and prices for some parts
* removes misleading out-of-date BOM

bill-of-materials-rev-b.ods [deleted file]
bill-of-materials.rkt

diff --git a/bill-of-materials-rev-b.ods b/bill-of-materials-rev-b.ods
deleted file mode 100644 (file)
index 58877f8..0000000
Binary files a/bill-of-materials-rev-b.ods and /dev/null differ
index 4f3b74a4bdf4700bbc29a3ecacd91f8a0fb9e0c7..55e6c5e24c264eae87f32b16a03f618de1031fa7 100755 (executable)
@@ -4,45 +4,61 @@
 (module+ main
   (displayln total-cost))
 
-(struct item (description quantity unit-cost max-lead-days where-to-get))
-
+;; TODO: describe in detail what each field is
+(struct item
+  (description quantity unit-cost max-lead-days where-to-get note))
+(define (make-item
+         description quantity unit-cost max-lead-days where-to-get
+         [note ""])
+  (item description quantity unit-cost max-lead-days where-to-get note))
 (define bill-of-materials
   (list
-   (item "Arduino(tm) board"
-         1 21 8 (string-append "http://store.mp3car.com/"
-                               "Genuine_Arduino_Uno_R3_SMD_p/OPN-013B.htm"
-                               "?gclid=CKizyYOKsrkCFap7Qgod9kgAOQ"))
-   (item "USB a to b" 1 4 7 "https://www.sparkfun.com/products/512")
-   (item "wheel" 2 3 7 "http://www.pololu.com/catalog/product/184")
-   (item "motor" 2 6 7 "http://www.pololu.com/catalog/product/181")
-   (item "half BreadBoard" 1 5 3 "http://www.adafruit.com/products/64")
-   (item "jumper wire male/male assorted lengths"
-         1 6 3 "http://www.adafruit.com/products/153")
-   (item "jumper wire female/male" 1/5 6 2
-         (string-append "http://www.nexuscyber.com/"
-                        "7-premium-40-pin-male-to-female-jumper-wires"))
-   (item "small squares of double sided tape"
-         1/30 12 1
-         (string-append
-          "http://www.officedepot.com/"
-          "a/products/495242/Scotch-Permanent-Double-Sided-Foam-Tape/"))
-   (item "#4-40 Phillips 1 1/4 inch flat-head screws"
-         3 .1 1 "home depot, lowes")
-   (item "#4-40 hex nuts"
-         6 .1 1 "home depot, lowes")
-   (item "#4 lock washers"
-         3 .1 1 "home depot, lowes")
-   (item "Red LEDs"
-         2 .1 1 "evil mad science?")
-   (item "Yellow LEDs"
-         2 .1 1 "evil mad science?")
-   (item "Green LEDs"
-         2 .1 1 "evil mad science?")
-   (item "330 Ohm Resistors"
-         6 .1 1 "evil mad science?")
-   (item "motor controller"
-         1 (/ 5.2 5) 10 (string-append "http://www.ebay.com/"
-                                       "itm/like/180976411359?lpid=82"))))
+   ;; TODO: add solid core wires
+   ;; TODO: add male-female jump wires for connecting sonar sensors
+   ;; TODO: add 4x AA batteries
+   ;; TODO: add 4x AA battery holder
+   ;; TODO: add 3d printer filament cost for wheel, sonar sensor holders,
+   ;;       caster standoff
+   ;; TODO: add ball caster
+   ;; TODO: add angle bracket from evil mad science
+   (make-item "Arduino(tm) board"
+              1 16.98 8
+              (string-append
+               "http://www.colorapples.com/2012-new-arduino-uno-r3-board"
+               "-atmega328-with-usb-cable-p-89818.html#.U3Lz5nJKyzA")
+              "comes with USB A to B cable")
+   (make-item "motor" 2 6 7 "https://solarbotics.com/product/gm3/")
+   (make-item "transparent 400 point (half) BreadBoard"
+              1 5.95 1
+              (string-append
+               "http://www.jameco.com/webapp/wcs/stores/servlet/"
+               "Product_10001_10001_2123830_-1"))
+   (make-item "jumper wire female/male" 1/5 6 2
+              (string-append "http://www.nexuscyber.com/"
+                             "7-premium-40-pin-male-to-female-jumper-wires"))
+   (make-item "small squares of double sided tape"
+              1/30 12 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")
+   ;; TODO: get actual cost of #4-40 hex lock nuts
+   (make-item "#4-40 hex lock nuts"
+              6 .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
+              "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")))
 
 (define total-cost
   (apply + (for/list ([thing bill-of-materials])