Hacka den Snap kretsar Rover (7 / 7 steg)
Steg 7: Bonus Robot krets!
Det skulle vara trevligt om din robot kunde reagera på yttre stimulans. Lyckligtvis, eftersom vi använt batteri innehavaren blocket från Snap kretsar motion detector uppsättningen, kan vi använda PIR-sensorn (blocket märkt "Motion Detector U7") och transistor från den samma som att bygga en rörelse upptäcka robot.
Delar som behövs för detta bygga:
1 10 x 7 plast bas rutnät
1 snap kretsar Rover
1 9 volts batteri Block B5
1 motorstyrning IC U8
1 8-pin uttag U21 med PICAXE 08m installerat
4 1KOhm motstånd R2
1 slide Switch S1
1 USB-programmering kabel
1 motion Detector Block U7
1 NPN Transistor Q2
1 Grön LED D2
9 enda Snaps
11 två Snap ledare
2 tre Snap ledare
1 fyra Snap ledare
3 fem Snap ledare
1 sex Snap ledare
1 sju Snap ledare
1 orange Jumper Wire
1 gul bygel Wire
1 grön Jumper Wire
1 lila bygel Wire
1 grå Jumper Wire
1 vit Jumper Wire
Valfria delar (så att du kan spara programmet i PICAXE minnet):
2 enda Snaps
1 100 ohms motstånd R1
Bygga roboten enligt steg visas i fotografier
I den första kretsen brukade vi alla fyra produktionen stift på PICAXE drivmotorer Snap Rover. Det finns bara två stift vänster--som båda är pins--följetongen i (S-i) och pin 3. Jag beslutade att använda stift 3 som ingångsstiftet för rörelsedetektor blocket. Se bild 1 för kretsarna byggt inuti blocket rörelsedetektor. Även kretsar ser komplicerat, det finns bara tre snaps på rörelsedetektor blocket: positiva (+), ut, och marken (-). Jag anpassade följande kretsen för rörelse upptäcka robot så att jag kunde lysa upp ett led när rörelsedetektorn upptäckt rörelse att göra roboten lättare att programmet (LED lamporna upp när rörelsedetektorn upptäcker rörelse då allt jag hade att göra var titta på spänningen på pin 3 att skilja mellan när ingen rörelse upptäcktes och när rörelse upptäcktes) :
www.elenco.com/admin_data/pdffiles/LED_Motion_Detector.pdf
Medan du skriver programmet för rörelse lyste upptäcka robot märkte jag det stiftet 3 hade nuvarande på den medan LED var avstängd (ingen rörelse upptäcks), men drogs ner till 0 volt när rörelsedetektorn upptäckt rörelse och lampan upp. Detta gjorde serendipitously programmering mycket lättare. Allt jag hade att göra var berätta att vänta, eller att göra ingenting, förrän stift 3 till sjunkit till 0 volt och sedan vidare till de motoriska testerna.
Ta en titt på modifierade flödesschemat i bild 2. Du kommer att märka samma uppsättning motoriska tester "Framåt", "Bakåt", "Vänstersväng" och "Högersväng". Kvarteret "Paus 5000" har ersatts med följande:
Låt b0 = 1 Jag lade till detta för att se till att den variabla b0 är större än noll så programmet gjorde inte av misstag gå genom de motoriska testerna innan rörelsedetektorn upptäckt någon rörelse.
Låt b0 = stift tilldelas värdet av stift (i detta fall Indataporten, stift 3) variabel b0. När ingen rörelse upptäckts, "pins" har ett värde större än noll (faktiskt värde på min PICAXE stift 3 i denna krets lika med 8, gå siffra). När rörelse detekteras, pins har värdet noll.
Beslut diamond säger följande:
Om b0 = 0 (rörelse upptäcks) sedan gå igenom de motoriska testerna och gå tillbaka till början av programmet när de motoriska testerna är klara.
Om b0 har ett annat värde än noll, helt enkelt gå tillbaka till början av programmet.
Så, kommer bara roboten sitta där tills rörelsedetektorn upptäcker rörelse.
Bild 1 Källa: www.snapcircuits.net/downloads/ic_info.pdf