Piloto automático de hélice (5 / 13 paso)

Paso 5: Una nota sobre Spin

sé que cuando se trata de microcontroladores, la mayoría de este foro está dedicada a la arduino. Incluso si el arduino no es su microcontrolador preferido, siempre merece una cabeceo de la cabeza por su accesibilidad y desarrollo integral de la biblioteca.
A pesar de todo, este proyecto ha sido desarrollado con la viruta de propulsor, que más fácilmente se escribe en la vuelta.
Este es un buen momento para la nota voluntad de paralaje hacia la comunidad de código abierto. La viruta de propulsor está ahora completamente programable en C/C++, gracias a la creación SImpleIDE. La mayor parte de este proyecto fue escrita en SimpleIDE debido a su facilidad de instalación en Linux y para maquetado a puertos de comunicación.

https://sites.Google.com/site/propellergcc/Documentation/simpleide

Mientras que yo prefiero para el código de este proyecto en C++ (para uso de matrices 2D y para una menor curva de aprendizaje) todo el código de ejemplo que he escrito para este proyecto será en la vuelta. Esto se ha hecho con el fin de maximizar la funcionalidad antes de la fecha límite del concurso.
Vuelta: Pasar por valor
Pasando variables por valor de vuelta es muy similar a c ++. La única gran diferencia es que cuando se declara una variable local en la vuelta, no nombre de un tipo, (es decir, byte, palabra, largo). Esto es engañoso porque hace parecer que giro tiene asignación dinámica de memoria; para todos era capaz de decir, esto es no el caso.

Vuelta: Pasar por referencia
Pasar variables en la vuelta es relativamente fácil. Sin embargo, es diferente a C++ en el no pasa un puntero, simplemente pasa la dirección de memoria por valor y deja de hacer referencia la dirección dentro de la función. He utilizado este método de pasar parámetros ampliamente en el desarrollo de diversos vectores matemáticas función. En el siguiente ejemplo, llenamos todas las variables en ambas matrices con el número 1. Ubicaciones de memoria son obtenidos con el "símbolo y memoria lugares se elimina redeclaring el tipo de variable y la variable"[]":

Spin: Flotador matemáticas
Matemáticas de flotador en la vuelta son un dolor gigante. Encontré cuatro diferentes bibliotecas para el uso de matemáticas del flotador en la vuelta, utilizan diferentes números de dientes y funcionar en las velocidades de la diferencia y son bastante autoexplicativos. Una cosa vale la pena destacar: si se declara una constante o una variable a un valor específico directamente en el código, y que vaya a utilizar operaciones de punto flotante, debe asegurarse de que se pone una coma al final de cada número.

Giro: Registros especiales
Hay muy pocos registros especiales en la vuelta. Corro a través de algunos de ellos aquí, pero si usted es realmente serio sobre el uso de la viruta de propulsor, usted debe definitivamente Lea las notas de aplicación, así como descargar una copia del manual a tu ordenador. La mayoría de estos registros se utilizarán en los ejemplos de código en el siguiente paso.

DIRA: Este registro determina que IOs en la hélice de la viruta son salidas y que son las entradas. Puede escribir estos registros usando binario, decimal o hexadecimal. La forma más intuitiva, sin embargo, es binario. Cada bit en el registro representa uno de los IOs de hélice 32. Asignar un 0 o un 1 al poco le asignaremos IO como una entrada o salida.

CTRA/CTRB: Estos dos registros establecer los modos contador utilizados por cada contador de tiempo. Se utilizan dos contadores diferentes dependiendo de si estamos midiendo una longitud del pulso, o escribir uno.

PHSA/PHSB: Estos registros son donde realmente se almacenan los valores acumulados generados por nuestros contadores. En su modo más básico, el número de ciclos de reloj transcurridos se almacena aquí.

FRQA/FRQB: Estos registros contienen un factor que el contador cada vez que almacena a PHSA/B.

Si toda esta charla sobre modos de contador y contadores de tiempo es desconocido para usted, definitivamente debe leer el aunque no sea totalmente preciso, recomiendo altamente la lectura a través de todos los modos contador de hélice. Usando el contador correctamente te dará increíble control de bajo nivel funcionalidad de IO y permitirá que fudge a través de casi todos los protocolos de comunicación digital:
http://www.parallaxsemiconductor.com/an001

Artículos Relacionados

Introducción al modelo de piloto automático del avión!!!

Introducción al modelo de piloto automático del avión!!!

Hi All!Tengo veinte años. Recogí mi arduino por primera vez que estas Navidades y hemos estado ocupados en mis aplicaciones de arduino que puedo traerle este instructable. Espero que ayuda!!!El propósito de este proyecto era construir un trampolín de
Barco piloto automático - basado en Arduino

Barco piloto automático - basado en Arduino

Aquí es cómo construir un piloto automático que puede dirigir un RC barco a waypoints! Es fácil de construir, basado en la popular plataforma Arduino e ideal para aficionados que quieren alguna soldadura práctica! Con este piloto automático, un barco
Bebedero automático electrónico planta

Bebedero automático electrónico planta

Hola, Bienvenidos a mi instructable sobre cómo hacer un bebedero automático planta electrónica. Este proyecto fue pensado para hacer una máquina que automáticamente sería agua mis plantas para que no gire a seco. Este objetivo fue alcanzado algo, más
Automático de Arduino DIY crecer caja

Automático de Arduino DIY crecer caja

Siempre he querido hacer un pequeño proyecto Arduino desde cero.Por lo tanto decidí hacer esta caja crece. Este es tal vez más como un '' mira lo que hice '', en vez de un Instructable, pero voy a intentar hacerlo como un Instructable para otros pued
Portátil 12 voltios 17 Watt generador de viento con enrollador automático

Portátil 12 voltios 17 Watt generador de viento con enrollador automático

solo he diseñado y construido un práctico, portátil 12 voltios 17 vatios generador eólico que es ideal (y apropiado) para configurar en campamentos, parques, exposiciones del día de la tierra, las estaciones de investigación y granjas del tercer mund
Nivel láser automático de un viejo disco duro.

Nivel láser automático de un viejo disco duro.

Necesito un nivel láser, pero no necesito uno muy a menudo para caer a unos pocos cientos en algo que podría utilizar de vez en cuando no iba a suceder.Eso todavía me dejó con un nivel de láser, y la única solución era hacer uno.Así que sin nada más
Puerta ha disparado el interruptor automático de la luz

Puerta ha disparado el interruptor automático de la luz

¡ Oh drat! Necesito entrar en que cuarto oscuro miedo, ¿qué pasa si un monstruo da un salto adelante de la oscuridad para me mi bocado de chocolate aplacarle incrustados galletas mientras que yo estoy buscando a tientas para el interruptor de la luz?
Batidor Mini automático DIY

Batidor Mini automático DIY

Obviamente tienes un bate grande, que se utiliza para agitar las cosas. Pero imagina una situación, cuando necesita azúcar para ser disuelta en una taza de café. No va tu bate para caber allí. También, tienes taladro inalámbrico guiñando un ojo en us
KVG completamente automático pistola!!!! (realmente funciona)

KVG completamente automático pistola!!!! (realmente funciona)

Hey guysEsta es mi arma de KVG completamente automático dispara cerca de 15 pies y es realmente completamente automático! Paso 1: el gatillo hacer 2 de estePaso 2: la chincheta esto es el alfiler1) hacer lo que se ve2) añadirlos junto con una barra b
Alimentador automático de pescado de papel FinFeeder

Alimentador automático de pescado de papel FinFeeder

Mi trabajo me pidieron que vaya fuera de la ciudad durante una semana en sólo unas horas de antelación. Tenía pescado en casa y estaba preocupado de que obtendrían hambriento y agresivo, así que improvisó un alimentador de peces de papel de impresora
Sistema de riego automático con sonda capacitiva y Arduino en el barato (y serio)

Sistema de riego automático con sonda capacitiva y Arduino en el barato (y serio)

Descargo de responsabilidad: Yo no soy un ingeniero en electrónica, por lo que no puedo ofrecer ninguna garantía para el diseño (mucho menos para su implementación). Sólo sé la presentó solución trabajada para mí por lo menos unos 5-6 meses (por lo q
Convertir grifo automático con grifo Manual

Convertir grifo automático con grifo Manual

Grifo automático a veces no responde bien a las manos. Nos hace sentir un poco estúpido ondeando las manos hacia adelante y hacia atrás, o el agua simplemente se detiene sin razón.Para este simple hack, todo lo que necesita es un corte de caja y un t
Cubo de matar mosquitos automático

Cubo de matar mosquitos automático

Este proyecto le da total resto de mosquitos porque trabajar automáticamente. Usted tiene que hacer esfuerzo durante un tiempo para hacerlo.Paso 1: En primer lugar, tener en su raqueta del mosquito asesino y abrirlo ya que tenemos que hacer alguna mo
Automático maquillaje para acuario de agua

Automático maquillaje para acuario de agua

cuando te vas de vacaciones por más de una semana se debe suministrar agua de maquillaje para tu acuario.  Este sistema suministrará hasta 5 galones de agua que se evapora.  No usar bombas o electricidad.  Después de probar varios enfoques éste traba