Paso 2: Código y Asamblea
Conectar la placa Arduino con el escudo de la Base
Conecte el sensor al D7
Conecte el cable USB a su computadora y el tablero, en el y luego cargar el código de Arduino en el programa de Arduino en su computadora.
Hay que ir, usted puede ahora se las alturas y cuántos de los 3 tipos de objeto.
El objeto que he usado es
Objeto 1 = 72 mm
Objeto 2 = 40, 4mm
Objeto 3 = 53, 3mm
Si usted WAN ' t, usted puede copiar los códigos y cambiar el rango. Entonces será posible tener muchos objetos de costumbres para leer.
CÓDIGO:
Creado por Mads Nilsson
28/9-15
www.Arduino.com fue utilizado por ejemplo en este código
estas constantes no va a cambiar. Son la / / lecturas más bajo y más alto usted obtiene de su sensor: const int sensorMin = 0; const int sensorMax de sensor mínimo (medida mínima) = 128; sensor máximo (la altura del sensor a la banda)
int objectNumber1 = 1; cuenta objeto número 1 int objectNumber2 = 1; cuenta objeto número 2 int objectNumber3 = 1; objeto número 3
PIN de salida: const int pingPin = 7; Conecte el sensor a D7. (También puede tener otra entrada, pero lo que tienes que cambiar el code) int rango = 0; Rango
void setup() {/ / Pon tu código de instalación, para ejecutar una vez: Serial.begin(9600); //turns en la impresora serial. Siempre uso 9600
}
void loop() //Loop se ejecutará una y otra vez {}
establecer las variables durante el ping, / / y los milimetros de distancia resultado: {duración larga, m;}
El ping se dispara por un pulso alto de 2 o más microsegundos. Dar un breve impulso de baja previamente para asegurar un pulso limpio alto: {pinMode (pingPin, salida); digitalWrite (pingPin, LOW); digitalWrite (pingPin, HIGH); delayMicroseconds(5), delayMicroseconds(2); digitalWrite (pingPin, LOW);} pinMode (pingPin, entrada); duración de int = pulseIn (pingPin, HIGH);
convertir tiempo en distancia int m = microsecondsToMilimeters(duration); Alturas de largo = 128 - mm; Define sensorMax - mm (le da la altura real del objeto, está medida)
Si (altura > 30 & & alturas < 45) / / rango del primer objeto) (entre 30-45 mm) {Serial.println ("objeto 2"); / / nombre del primer objeto Serial.print ("alturas:"); Serial.Print (128 - mm); escribe la altura en mm Serial.print ("mm"); Serial.println(); Serial.Print ("piezas:"); piezas de objetos Serial.println(objectNumber1++); escribe cuántos de este objeto ha pasado el sensor Serial.println(); } Si (alturas > 45 & & alturas < 60) / / gama del segundo objeto) (entre 45-60 mm) {Serial.println ("objeto 3"); Serial.Print ("altura:"); Serial.Print (128 - mm); Serial.Print ("mm"); Serial.println(); Serial.Print ("piezas:"); Serial.println(objectNumber2++); Serial.println(); } Si (altura > 60 & & alturas < 80) / / rango del tercer objeto) (entre 60-80 m m) {Serial.println ("Obejct 1"); Serial.Print ("altura:"); Serial.Print (128 - mm); Serial.Print ("mm"); Serial.println(); Serial.Print ("piezas:"); Serial.println(objectNumber3++); Serial.println();
}
}
largo microsecondsToMilimeters (largo microsegundos) {vuelta microsegundos / 2,9 / 2;}