Mikey, roboten med Vision (7 / 9 steg)
Steg 7: Sensor programvara
Sensor programvaran för Arduino är en modifierad version av deras "hello world" skiss.
Hämta Arduino bibliotek "arduino_pixy-x.y.z.zip" här.
http://CMUcam.org/Attachments/Download/958/Arduino...
Ta upp Arduino IDE och importera TOPPLUVA bibliotek genom att markera Sketch➜Import bibliotek i Arduino IDE, och sedan bläddra till filen Pixy.zip som du just laddat ned.
//
börjar licens sidhuvud / / / / denna fil del av TOPPLUVA CMUcam5 eller "TOPPLUVA" för kort / / / / alla TOPPLUVA källkoden tillhandahålls enligt villkoren i de / / GNU General Public License v2 (http://www.gnu.org/licenses/gpl-2.0.html). De som vill använda TOPPLUVA källkod, programvara och/eller / / tekniker under olika licensvillkor bör kontakta oss på / / cmucam sådana licensvillkor finns tillgängliga för / / alla delar av den TOPPLUVA kodbasen presenteras här. / / slutet licens sidhuvud / /
#include #include
TOPPLUVA TOPPLUVA;
int grejer = 0; int position = 150; CONST int rött = 5; CONST int vit = 9. CONST int redled = 3; CONST int whiteled = 8;
void setup() {
pinMode (röd, produktionen); pinMode (vit, OUTPUT); pinMode (redled, produktionen); pinMode(whiteled,OUTPUT); digitalWrite (redled, hög), //right test digitalWrite (whiteled, hög), //left test delay(2000); digitalWrite (redled, låg), //right av digitalWrite (whiteled, låg), //left av digitalWrite(red,LOW); digitalWrite(white,LOW); Delay(2000);
Serial.BEGIN(9600); Serial.Print("Starting...\n"); }
void loop() {statisk int jag = 0; int j uint16_t block, char buf [32]; block = pixy.getBlocks(); om (block) {i ++; om (jag % 50 == 0) {//sprintf (buf, "Upptäckt % d:\n", blockerar); / / Serial.print(buf), //for (j = 0; j170) {digitalWrite(red,HIGH); digitalWrite(redled,HIGH); delay(1000); digitalWrite(red,LOW); digitalWrite(redled,LOW);} om (pixy.blocks [j] .x < 150) {digitalWrite(white,HIGH); digitalWrite(whiteled,HIGH); delay(1000); digitalWrite (vit LÅG); digitalWrite(whiteled,LOW); {} om (pixy.blocks [j] .x > 149 & & pixy.blocks[j].x < 171) {digitalWrite(white,HIGH); digitalWrite(whiteled,HIGH); digitalWrite(red,HIGH); digitalWrite(redled,HIGH); delay(1000); digitalWrite(white,LOW); digitalWrite(whiteled,LOW); digitalWrite(red,LOW); digitalWrite(redled,LOW);}} } }}