Arduino Inicio baloncesto aro puntuación sistema de detección conocido como anotador (9 / 10 paso)

Paso 9: código

Control del multiplexor

Descargar el código desde el Repositorio de GitHub ScoreKeep, o desde el archivo adjunto más abajo.

Para resumir, el segmento es controlado mediante un multiplexor que a un segmento diferente cada milisegundo. Usé una interrupción de temporizador para que el momento fue preciso. Una interrupción de timer hace exactamente lo que dice. Interrumpe el código en intervalos de tiempo precisos para ejecutar comandos en el acompañamiento rutina de servicio de interrupción (ISR). Aquí encontrarás un buen tutorial sobre interrupciones de timer de Arduino.

La interrupción de temporizador en este código las salidas a un solo segmento con el multiplexor. En la siguiente iteración de la ISR, el código de salida a otro segmento y así sucesivamente. Por lo tanto, si quisiéramos mostrar el número 22 (segmentos A, B, D, E y G de los dígitos de decenas y unidades), el código sería salida al segmento A de los dígitos en la primera iteración, entonces al segmento B, luego segmento D, luego el segmento E, luego segmento G, todos los dígitos. En la siguiente iteración, la salida al segmento A de los diez dígitos, luego segmento B, luego segmento D, luego el segmento E, luego segmento G. posteriormente, partimos del segmento A de la cifra de los otra vez y repita hasta que el número que necesitamos mostrar cambios.

 //Interrupt Service Routine //Displays the numbers for the score on the 7-segment display. //It lights a single segment every 1 ms incrementing the segment index every iteration. ISR(TIMER1_COMPA_vect) { //Ones digit if (index < 8) { if (bitRead(HEXvalues[score%10],index)) { myMux.open(index); } index++; } //Tens digit else if (index >= 8 && index < 16) { if (bitRead(HEXvalues[score/10],index-8)) { myMux.open(index); } index++; } //resets index else { index = 0; } } 

Detectar una puntuación

Utilice el código de sensor de distancia, utilizar la distancia regresada y compruebe si está por debajo de un "scoreThreshold". Si la distancia hasta el objeto más cercano siguiente obtiene muy cerca, entonces debe ser una bola pasando por el aro. Además, he añadido un período refractario para la detección de un tiro. Esto significa que cuando se detecta un disparo en el tiempo t, y luego otro disparo no pueden registrarse hasta un cierto tiempo t. Creo que opté por 2 segundos, pero puede aumentar o disminuir esto como mejor parezca. Esto se hace porque la función loop() de Arduino corre tan rápido que registraría el mismo disparó más de una vez como la bola se mueve a través del aro.

 //boolean detectScore() // true if shot is detected, false if otherwise // //Detects whether or not a shot was made by checking if the //distance from the ultrasonic distance sensor to the next closest //object is under the "threshold" used to determine when a shot //was made. boolean detectScore() { return (distance() <= scoreThreshold); } //double distance() // the distance in centimeters (cm) //Calculates the distance from the sensor to the next closest //object. double distance() { double duration = 0; digitalWrite(trigPin, HIGH); //send out pulse delayMicroseconds(50); //give the pulse time digitalWrite(trigPin, LOW); //turn off pulse duration = pulseIn(echoPin, HIGH); //read echo pin return (duration/2) / 29.1; //in cm } 

Puntaje de incremento

Incrementos de puntuación por un punto cuando se detecta una puntuación.

 //void incrementScore() //Increments the score variable by 1. void incrementScore() { score += 1; } 

Artículos Relacionados

LPG / sistema de detección de biogás con MediaTek LinKIt uno

LPG / sistema de detección de biogás con MediaTek LinKIt uno

La plataforma de desarrollo un LinKIt ha sido diseñada y lanzado por los laboratorios de MediaTek con un diseño compacto, que permite la creación de accesorios personales y dispositivos de IoT, con conectividad Rica. HQ de Instructables han sembrado
Edison sistema con detección de movimiento, conexión de nube y streaming de vídeo de vigilancia

Edison sistema con detección de movimiento, conexión de nube y streaming de vídeo de vigilancia

Este proyecto trata sobre el uso de Edison como un núcleo de sistema de detección de movimiento con cámara web, que es también conectado a Twitter, Google Drive, Xively parpadea el LED y señal sonora también (por supuesto!:). También corrientes el ví
Frambuesa Pi Firewall y sistema de detección de intrusiones

Frambuesa Pi Firewall y sistema de detección de intrusiones

tal vez piensas "¿por qué debo proteger mi red de pivate? No tengo ninguna información crítica en mi computadora, no hay datos sensibles". ¿Son realmente público su correo electrónico? No tienes algunas fotos que no desea subir a Facebook, porqu
Tutorial sobre cómo hacer un sistema de detección de humo utilizando Intel Galileo Gen2.

Tutorial sobre cómo hacer un sistema de detección de humo utilizando Intel Galileo Gen2.

En este proyecto, vamos a ir sobre cómo construir un sensor de humocircuito con una board Intel Galileo Gen2 entre dispositivos un poco más.Vamos a utilizar el sensor MQ2 humo en este caso ya que es sensata al humo e inflamable gas.El humo MQ2 funcio
Sistema de detección de humedad del suelo

Sistema de detección de humedad del suelo

Que comenzó como un simple clavo dos, 5V, sistema de detección de humedad que se cultiva en una plataforma un poco más sofisticada con LED y menos actualización debido a mi anterior supervisión: electrólisis.Para ello, necesitarás:Arduino1 x LED rojo
Sistema de detección de la mentira

Sistema de detección de la mentira

Detección, también conocida como detección de engaño, utiliza preguntas técnicas junto con la tecnología que registran las funciones fisiológicas para determinar la verdad y la falsedad ante la mentira• Un sistema de detección de la mentira se hace u
Fuerte objetos ruido juguete (también conocido como la máquina de ruido Arduino)

Fuerte objetos ruido juguete (también conocido como la máquina de ruido Arduino)

está bien, está bien, sé que todos preguntaba lo que soy hasta ahora.Me encanta sintetizadores y por lo tanto, he construido esto. Hay tres cosas que pueden captar mi atención: Sintetizadores, amplificadores y libre. El otro día (en realidad era solo
Sistema de detección de intrusiones de red doméstica

Sistema de detección de intrusiones de red doméstica

Este es mi primer instuctable. Yo estaba buscando para crear mi sistema de detección de intrusiones de red en una máquina virtual y fue incapaz de encontrar las instrucciones sobre cómo hacerlo. Creado mi propia y me espero ayude algunos de ustedes h
Sistema de detección de Bluetooth agua

Sistema de detección de Bluetooth agua

Alguna vez encuentras en esta situación...Que me ha pasado. Pero, no más preocuparse con este sistema de detección de agua que es divertido de construir y capaz de ahorrar algunos $$$ cuando la plomería Bustos.Este ejemplo muestra cómo utilizar nodo
Lote último inicio de sesión de sistema

Lote último inicio de sesión de sistema

1. copia el siguiente código en un archivo de Bloc de notas2. ir a archivo y haga clic en él3. Haga clic en "Guardar como"4. el nombre lo que quieras pero con un ".bat" al final5. guardar en le escritorio6. ejecutarloPaso 1: Código par
LEGO baloncesto aro y chico

LEGO baloncesto aro y chico

Ok este es mi aro de baloncesto y el chico y me dice si usted me muestra cómo hacerlo.
Arduino Café cerveza agua llenar el sistema

Arduino Café cerveza agua llenar el sistema

Este Instructable presenta a una cerveza de café controlada por Arduino temporizador de llenado de agua. El circuito temporizador se utiliza para accionar una válvula de solenoide barato para llenar una cafetera de café para un número determinado de
Reloj de kiddy también conocido como sistema de protección de sueño privación

Reloj de kiddy también conocido como sistema de protección de sueño privación

HolaLos niños son grandes, pero más bien jóvenes (mina son 3 y 6 yo) no puede leer un reloj y al decirles eso 6:30 un domingo por la mañana es un poco demasiado pronto para ser despertada, realmente no pueden captar la idea y son felices sólo saltar
MPAX: Sistema de extracción de aire masivo y en paralelo también conocido como un ventilador de toda la casa DIY

MPAX: Sistema de extracción de aire masivo y en paralelo también conocido como un ventilador de toda la casa DIY

¿Casa demasiado caliente en el verano? ¿No hay suficiente brisa por la noche al abrir las ventanas? El fan de toda la casa es para usted.Paso 1: Lo que se necesitaAlgunos ventiladores de PC de 12V (yo usé 20).Un SMPS de 12V con capacidad de corriente