Stap 4: Compileren van de code en download het naar de MSP430
De code is gepost hieronder. Gewoon compileren van de code en het programma om de micro-controller
----------------------------------------------------------------------------------------------------------------.
#define lezen 0x01
int count = 0;
int rval;
int dval;
int dvaltemp = 1;
int loopt = 0;
int dvalcount = 0;
Const int pingPin = P2_6;
Const int pingReceive = P2_1;
Const int m1 = P2_3;
Const int m2 = P2_4;
Const int sb = P1_5;
Const int sr = P1_3;
Const int ledpin = P2_5;
int rfidtagclose = 0;
int dicht = 0;
lange countt = 0;
int. open = 0;
lange duur;
lange inch;
lange cm;
int rfidtag = 0;
int. temp = 0;
int bowlopencnt = 0;
char btread = "A";
VOID Setup
{
Serial.begin(9600);
pinMode (sb, OUTPUT);
pinMode (sr, OUTPUT);
digitalWrite (sb, laag);
digitalWrite (sr, laag);
pinMode (m1, OUTPUT);
pinMode (m2, OUTPUT);
pinMode (ledpin, OUTPUT);
pinMode (GREEN_LED, uitvoer);
}
void loop
{
Als (tellen < 40)
{
digitalWrite (sr, hoge);
Serial.Print("!RW");
Serial.write(byte(Read));
Serial.write(byte(32));
if(Serial.available() > 0)
{
rval = Serial.read();
Als (rval! = 1)
{suppressAll();}
}
if(Serial.available() > 0) {}
rval = Serial.read();
Serial.Print("1st:");
Serial.println(rval);
}
if(Serial.available() > 0) {}
rval = Serial.read();
Serial.Print("2nd:");
Serial.println(rval);
if(rval == 149)
{
rfidtag = 0;
}
}
if(Serial.available() > 0) {}
rval = Serial.read();
Serial.Print("3rd:");
Serial.println (rval, HEX);
}
if(Serial.available() > 0) {}
rval = Serial.read();
Serial.Print("4th:");
Serial.println (rval, HEX);
Serial.println("---");
}
delay(3);
vertraging (11);
}
anders
{
digitalWrite (sr, laag);
}
Als (graaf > 45)
{
digitalWrite (sb, hoge);
delay(10);
Temp = Serial.read();
Serial.println(temp);
Als (temp == 65 || temp == 66 || temp == 67)
{
btread = temp;
Serial.println(btread);
}
pinMode (pingPin, OUTPUT);
digitalWrite (pingPin, laag);
delayMicroseconds(2);
digitalWrite (pingPin, hoge);
delayMicroseconds(5);
digitalWrite (pingPin, laag);
pinMode (pingReceive, INPUT);
duur = pulseIn (pingReceive, hoge);
dvaltemp = Inches(duration);
Serial.println(dval);
delay(10);
Als (dvaltemp < 15 & & dvaltemp > 0)
{
dvalcount = 0;
}
}
anders
{
digitalWrite (sb, laag);
}
Graaf ++;
Als (tellen > 55)
{
Graaf = 0;
}
Als ((btread == 'A' & & dval == 1 & & rfidtagclose == 0) || btread == 'C')
{
bowlopencnt = 0;
}
if(bowlopencnt<5)
{
digitalWrite (m2, hoge);
digitalWrite (m1, laag);
digitalWrite (ledpin, hoge);
}
anders
{
digitalWrite (ledpin, laag);
digitalWrite (m1, hoge);
digitalWrite (m2, laag);
}
dvalcount ++;
if(dvalcount <250)
{
dval = 1;
}
anders
{
dval = 0;
}
Als (dvalcount > 300)
{
dvalcount = 295;
}
bowlopencnt ++;
if(bowlopencnt>30)
{
bowlopencnt = 20;
}
rfidtag ++;
if(rfidtag < 250)
{
rfidtagclose = 1;
dvalcount = 290;
}
anders
{
rfidtagclose = 0;
}
Als (rfidtag > 300)
{
rfidtag = 310;
}
delay(3);
Serial.println(dvaltemp);
}
lange Inches(long microseconds)
{
berekening voor de snelheid van geluid
retourneren van microseconden / 74 / 2;
}
VOID suppressAll()
{
if(Serial.available() > 0)
{Serial.read();
suppressAll();
}
}
------------------------------------------------------------------------------------------------------------
Deze code kan worden geoptimaliseerd voor de gewenste toepassing.