| 1 | #! /usr/bin/env racket |
| 2 | #lang racket/base |
| 3 | |
| 4 | (module+ main |
| 5 | (displayln "hi!")) |
| 6 | |
| 7 | (struct part (uuid name count use)) |
| 8 | (struct tool (uuid name use)) |
| 9 | |
| 10 | |
| 11 | |
| 12 | (define tools |
| 13 | (list |
| 14 | (tool "abcc5589-2c1e-446d-8af1-b68822df9a28" |
| 15 | "drill" "make holes for arduino mount") |
| 16 | (tool "96e51009-f1bd-4054-8131-9bec2cdeb531" |
| 17 | "wire cutters" "cut wires and strip them for soldering") |
| 18 | (tool "889a99e3-b0f2-49a7-a2e2-e57c5070ad8e" |
| 19 | "screw driver" "tighten #4 screws") |
| 20 | (tool "fde5537b-e283-47f1-8af9-1d0ad97ae2ed" |
| 21 | "soldering iron" "put solder on wires") |
| 22 | (tool "5cd23e20-561a-483b-840b-0c6307c2889f" |
| 23 | "hot glue gun" "attach hair tie to wheel") |
| 24 | (tool "71a55342-12af-434a-8cb6-a99eef9e343e" |
| 25 | "electrical tape" "cover solder joints on battery holder"))) |
| 26 | |
| 27 | (define parts |
| 28 | (list |
| 29 | (part "be525dfe-c58e-44ce-98b7-90084c17c9b8" |
| 30 | "alan wrench" 1 "tighten #6-32 screws") |
| 31 | |
| 32 | (part "8424ec99-7f53-4985-b101-31343787cb29" |
| 33 | "hot glue (drops)" 10 "hold hair tie to wheel") |
| 34 | |
| 35 | (part "3c064806-a765-4b07-80b0-9b4713bee127" |
| 36 | "hair tie" 2 "better grip for wheels") |
| 37 | |
| 38 | (part "c7cb21ca-cb0b-4eb0-ab53-e4070090dce0" |
| 39 | "zip tie" 2 "hold wires to motor") |
| 40 | |
| 41 | (part "6666dca6-426f-492e-8383-1e62eac256b5" |
| 42 | "steel ball" 1 "third point of contact on ground for moving") |
| 43 | |
| 44 | (part "6167b703-ce2e-4fb2-910c-092cdfccf90b" |
| 45 | "double stick tape (cm)" 4 "attach breadboard and 4xAA to deck") |
| 46 | |
| 47 | (part "73093d09-394a-4b0b-beab-71120517bf46" |
| 48 | "deck" 1 |
| 49 | "hold breadboard, sonar mount, motor mount, battery holders") |
| 50 | |
| 51 | (part "d35e803e-860c-449d-9774-78295e501276" |
| 52 | "breadboard" 1 "hold motor controller and connect wires") |
| 53 | |
| 54 | (part "08def069-0459-494e-9bf6-804821b62f73" |
| 55 | "arduino" 1 "send signal to motor, process info from sonar") |
| 56 | |
| 57 | (part "5ceac789-d68a-4078-a129-d721a99a8d6d" |
| 58 | "9v battery" 1 "power for motors") |
| 59 | |
| 60 | (part "41aec402-c435-4fc3-a0e1-d8418d91c51e" |
| 61 | "9v battery holder" 1 "hold power for motors") |
| 62 | |
| 63 | (part "47ae9666-f7d4-46db-bf90-051280df4d26" |
| 64 | "AA battery" 4 "power the arduino") |
| 65 | |
| 66 | (part "14de012c-129e-4be2-b88c-c18f40461d38" |
| 67 | "AA battery holder" 1 "hold power for the arduino") |
| 68 | |
| 69 | (part "bd0d2316-e53d-4532-b057-851cb5581219" |
| 70 | "nickel plated angle bracket" 4 "hold motor mount and deck together") |
| 71 | |
| 72 | (part "5767d684-0987-4700-aac0-80a2366ef728" |
| 73 | "sonar" 2 "detect distance between bot and surroundings") |
| 74 | |
| 75 | (part "1399849c-db3b-4333-b8e2-bc64da28c484" |
| 76 | "sonar holder" 2 "hold the sonar to the deck") |
| 77 | |
| 78 | (part "c84161ef-9916-4955-8e07-b57e46942e18" |
| 79 | "wheel" 2 "move robot on ground") |
| 80 | |
| 81 | (part "0d577243-8787-4f0b-8c10-b455fadd8f2a" |
| 82 | "#6 washer" 7 "hold #6 screw head from going through deck grid") |
| 83 | |
| 84 | (part "d74718f7-9b0c-45a5-a03c-372706bc4860" |
| 85 | "#6-32 screw" 15 |
| 86 | (string-append "hold angle bracket to deck and motor mount\n" |
| 87 | "hold ball caster standoff to deck")) |
| 88 | |
| 89 | (part "ed17b7e2-554f-41d4-b43c-cf99bfdf7ce6" |
| 90 | "motor" 2 "drive wheel to propel bot") |
| 91 | |
| 92 | (part "048b2fc7-e6f0-4cdd-8839-25d96117ae30" |
| 93 | "motor mount" 2 "drive wheel to propel bot") |
| 94 | |
| 95 | (part "e5710a11-8e71-4f42-8799-59c5bf4334cb" |
| 96 | "#4 lock nut" 4 "keep motor on motor screw") |
| 97 | |
| 98 | (part "0daa47da-c4d5-41ec-8f3b-5d3358f072b5" |
| 99 | "#4 screw 1.25 inches" 4 "hold motor to motor mount") |
| 100 | |
| 101 | (part "4b7e5e64-e332-40d5-af20-239ad5ca5fd0" |
| 102 | "usb a-to-b cable" 1 "program the arduino from computer") |
| 103 | |
| 104 | (part "2586c57d-11ed-40d0-961c-eb9c85611608" |
| 105 | "dual-half h bridge sn754410ne" 1 "direct power to motors") |
| 106 | |
| 107 | ;; wires |
| 108 | (part "21239945-0cd0-45b5-872c-1448c7007ca7" |
| 109 | "male-female jump wires, 2 groups of 4 different colors" 8 |
| 110 | "connect sonar sensor to power and arduino") |
| 111 | |
| 112 | (part "d5eeffc3-debc-445d-a1ea-cb066abf4236" |
| 113 | "red solid core wire 30 mm" 2 |
| 114 | "make positive lead of battery packs easier to connect to breadboard") |
| 115 | |
| 116 | (part "94f9da12-545b-4962-af43-d9701c1e5499" |
| 117 | "black solid core wire 30 mm" 2 |
| 118 | "make ground lead of battery packs easier to connect to breadboard") |
| 119 | |
| 120 | (part "dffc57be-ff0a-43c4-8854-c3ba77cefc21" |
| 121 | "orange solid core wire 120 mm" 1 |
| 122 | "hook arduino pin 9 to motor controller pin \"1A\"") |
| 123 | |
| 124 | (part "0b5d5d22-ce59-4741-94aa-25f9ba2bfd1c" |
| 125 | "blue solid core wire 120 mm" 1 |
| 126 | "hook arduino pin 9 to motor controller pin \"2A\"") |
| 127 | |
| 128 | (part "d084d477-3273-4444-b61d-ad24766a1751" |
| 129 | "white solid core wire 120 mm" 1 |
| 130 | "hook arduino pin 8 to motor controller pin \"1,2EN\"") |
| 131 | |
| 132 | (part "434234e1-b6d7-43c3-a871-938fcc895c04" |
| 133 | "orange solid core wire 90 mm" 1 |
| 134 | "hook arduino pin 5 to motor controller pin \"4A\"") |
| 135 | |
| 136 | (part "5390e8cc-1310-4fb3-bd07-8c9b295c592f" |
| 137 | "blue solid core wire 90 mm" 1 |
| 138 | "hook arduino pin 4 to motor controller pin \"3A\"") |
| 139 | |
| 140 | (part "f1e4e95f-d069-4b83-b6c4-79dfd122219a" |
| 141 | "white solid core wire 90 mm" 1 |
| 142 | "hook arduino pin 3 to motor controller pin \"3,4EN\"") |
| 143 | |
| 144 | (part "de7a2ede-1159-4a4e-8c9e-6bb27fbae55d" |
| 145 | "red solid core wire 25 mm" 1 |
| 146 | "hook motor controller 5v pin to breadboard positive rail") |
| 147 | ;; c56976ba-aad6-40fe-9faa-04734caa0ee9 |
| 148 | ;; 98be105a-fc82-4622-80f5-988984b3d26c |
| 149 | ;; 808aac6b-61e5-483f-9ee4-7494e6a377b4 |
| 150 | ;; cb44ca12-74e2-4798-aded-6b32d363443a |
| 151 | ;; 85f9b62b-f729-4984-9d52-2e621d818ddc |
| 152 | ;; 6bf4f304-9e76-4924-8e67-813cff21f460 |
| 153 | ;; 40aee24a-4ba1-458b-8830-199e3ecf3b7e |
| 154 | ;; 770687ff-f34b-48ec-b454-aeb839b6c423 |
| 155 | ;; 806b80d7-db6d-44af-b772-e235b70d2f4f |
| 156 | ;; 04ff88d5-1c20-4ae7-bb23-0adee033767f |
| 157 | ;; bfc73bc8-6884-4534-8853-c047728fe960 |
| 158 | ;; 365daaae-56fe-419d-80f5-6173c5bcea0a |
| 159 | ;; 3f14a0b3-a1bc-4449-897b-e92fb437bc53 |
| 160 | |
| 161 | (part "7781754a-b2fe-47dc-b711-2f3f2e95f5e3" |
| 162 | "green solid core wire 175 mm" 2 |
| 163 | "connect motor controller and motor") |
| 164 | |
| 165 | (part "031d2167-d548-4e9a-a00b-5cdf902e3e84" |
| 166 | "yellow solid core wire 175 mm" 2 |
| 167 | "transmit power between motor controller and motor") |
| 168 | |
| 169 | (part "182e19ba-383c-40a7-9339-39804d4fca5b" |
| 170 | "black solid core wire 25 mm" 4 |
| 171 | "hook motor controller ground pins to breadboard ground rails") |
| 172 | |
| 173 | (part "c2df71b6-aee9-45fa-b4a1-8464802302a9" |
| 174 | "black solid core wire 25 mm" 1 |
| 175 | "hook arduino ground pin to breadboard ground rail") |
| 176 | |
| 177 | (part "890e70d8-176f-421e-865c-e55e29256fb8" |
| 178 | "black solid core wire 55 mm" 1 |
| 179 | "hook ground rails on breadboard together") |
| 180 | |
| 181 | (part "66a049b6-6652-4a71-85a3-d5fd72a51fc5" |
| 182 | "red solid core wire 25 mm" 1 |
| 183 | "hook arduino 5v pin to breadboard positive rail"))) |