Stap 2: Code en vergadering
De Arduino board verbinden met het basis schild
De sensor aansluiten in D7
Sluit de USB-kabel op uw computer en de Raad van bestuur, op vervolgens uploaden van de Arduino-code naar uw Arduino-programma op uw computer.
Daar ga je, je kunt nu se de hoogten en hoeveel stuks van 3 soorten object.
Het object dat ik heb gebruikt is
Object 1 = 72 mm
Object 2 = 40, 4mm
Object 3 = 53, 3mm
Als u wan't, u kunt de codes kopiëren en wijzigen van het bereik. Vervolgens zal het mogelijk om vele mores-object te lezen.
CODE:
Gemaakt door Mads Nilsson
28/9-15
www.Arduino.com werd gebruikt voor de voorbeelden in deze code
Deze constanten niet gewijzigd. Zij zijn de / / laagste en hoogste lezingen die u krijgt van uw sensor: const int sensorMin = 0; sensor minimum (minimale maatregel) const int sensorMax = 128; sensor maximale (de hoogte van de sensor aan de band)
int objectNumber1 = 1; tellen object nummer 1 int objectNumber2 = 1; tellen object nummer 2 int objectNumber3 = 1; objectnummer 3 tellen
PIN output: const int pingPin = 7; Steek de sensor in D7. (U kunt ook een andere ingang nemen, maar dan u moet de code veranderen) int bereik = 0; Bereik
void setup {/ / zetten uw setup-code hier, om het eenmalig uit te voeren: Serial.begin(9600), //turns op de seriële printer. Allways gebruik 9600
}
void loop //Loop loopt over en weer {}
stellen variabelen voor de duur van de ping, / / en de afstand resultaat milimeters: {lange duur, mm;}
De ping wordt geactiveerd door een hoge pols van 2 of meer microseconden. Geef een korte lage puls vooraf om een schoon hoog puls: {pinMode (pingPin, OUTPUT); digitalWrite (pingPin, laag); delayMicroseconds(2); delayMicroseconds(5); digitalWrite (pingPin, hoog) en digitalWrite (pingPin, laag);} pinMode (pingPin, INPUT); int duur = pulseIn (pingPin, hoge);
tijd converteren naar afstand int mm = microsecondsToMilimeters(duration); lange Heights = 128 - mm; SensorMax - mm definieert (geeft u de echte hoogten van het object, je maatregel)
Als (Heights > 30 & & Heights < 45) / / assortiment van het eerste object) (tussen 30-45 mm) {Serial.println ("Object 2"); / / naam van eerste object Serial.print ("hoogten:"); Serial.Print (128 - mm); schrijft de hoogte in mm Serial.print ("mm"); Serial.println(); Serial.Print ("stukken:"); stukken van objecten Serial.println(objectNumber1++); schrijft hoeveel van dit object is verstreken de sensor Serial.println(); } Als (Heights > 45 & & Heights < 60) / / assortiment van het tweede object) (tussen 45-60 mm) {Serial.println ("Object 3"); Serial.Print ("hoogten:"); Serial.Print (128 - mm); Serial.Print ("mm"); Serial.println(); Serial.Print ("stukken:"); Serial.println(objectNumber2++); Serial.println(); } Als (Heights > 60 & & Heights < 80) / / assortiment van het derde object) (tussen 60-80 mm) {Serial.println ("beleidsvoornemens 1"); Serial.Print ("hoogten:"); Serial.Print (128 - mm); Serial.Print ("mm"); Serial.println(); Serial.Print ("stukken:"); Serial.println(objectNumber3++); Serial.println();
}
}
lang microsecondsToMilimeters (lange microseconden) {terugkeer microseconden / 2.9 / 2;}