Girino - osciloscopio Arduino rápido (15 / 26 paso)

Paso 15: Configuración del PWM

En el bosquejo, escribí otra función de inicialización que establece todos los parámetros del temporizador de funcionamiento y la inicializa un par de pines.

void initPins(void)
{
//---------------------------------------------------------------------
Configuración de TCCR2A
//---------------------------------------------------------------------
Estos bits controlan el comportamiento de pin (OC2A) salida comparar. Si uno o
se establecen tanto los bits COM2A1:0, el OC2A de salida anula la
funcionalidad del puerto normal del pin I/O está conectado a.
Sin embargo, tenga en cuenta que el registro de dirección de datos (DDR) de bits
correspondiente al pin OC2A debe establecerse para permitir el
controlador de salida.
Cuando OC2A esté conectado a la clavija, la función de los bits de COM2A1:0
depende de la WGM22:0 poco ajuste.
//
Modo PWM rápida
COM2A1 COM2A0
0 0 la operación normal del puerto, OC2A desconectado.
0 1 WGM22 = 0: operación puerto Normal, OC0A desconectado.
WGM22 = 1: activar OC2A en compara partido.
1 0 OC2A claro en el partido de comparar, establecer OC2A en la parte inferior
1 1 OC2A claro en el partido de comparar, claro OC2A en la parte inferior
CBI(TCCR2A,COM2A1);
CBI(TCCR2A,COM2A0);
SBI(TCCR2A,COM2B1);
CBI(TCCR2A,COM2B0);

Combinado con el bit WGM22 en el registro de TCCR2B, estas brocas
controlar la secuencia de conteo del contador, la fuente de máximo
Valor del contador (arriba) y qué tipo de generación de forma de onda a utilizar
Modos de operación admitida por la unidad del temporizador/contador son:
-Modo normal (contador),
-Poner el temporizador en el modo de comparar Match (CTC),
-dos tipos de modos de modulación de ancho de pulso (PWM).
//


Operación en modo WGM22 WGM21 WGM20 superior
0 0 0 0 Normal 0xFF
1 0 0 1 PWM 0XFF
2 0 1 0 OCRA CTC
3 0 1 1 fast PWM 0xFF
4 1 0 0 reservado -
5 1 0 1 OCRA DE PWM
6 1 1 0 reservado -
7 1 1 1 fast PWM OCRA
CBI(TCCR2B,WGM22);
SBI(TCCR2A,WGM21);
SBI(TCCR2A,WGM20);

//---------------------------------------------------------------------
Configuración de TCCR2B
//---------------------------------------------------------------------
La broca de FOC2A sólo está activa cuando los bits WGM especifican un no-PWM
modo.
Sin embargo, para asegurar la compatibilidad con dispositivos futuros, este bit
debe establecerse en cero al TCCR2B está escrito en PWM
modo. Al escribir una lógica para la broca de FOC2A, una inmediata
Comparar partido es forzado en la unidad de generación de forma de onda. La OC2A
salida se modifica según sus pedacitos de COM2A1:0 ajuste. Tenga en cuenta que
el bit FOC2A está implementado como un estroboscopio. Por lo tanto es el valor
presente en los bits de COM2A1:0 que determina el efecto de la
obligado a comparar.
Un estroboscopio FOC2A no generará ninguna interrupción, ni se borrará
el temporizador en modo CTC OCR2A como arriba.
La broca de FOC2A siempre se lee como cero.
CBI(TCCR2B,FOC2A);
CBI(TCCR2B,FOC2B);

Los tres bits de reloj seleccione selección la fuente de reloj para ser utilizado por
el temporizador/contador.
CS22 CS21 CS20 Prescaler
0 0 0 ninguna fuente de reloj (temporizador/contador detenida).
0 0 1 no escala
0 1 0 8
0 1 1 32
1 0 0 64
1 0 1 128
1 1 0 256
1 1 1 1024
CBI(TCCR2B,CS22);
CBI(TCCR2B,CS21);
SBI(TCCR2B,CS20);

pinMode (errorPin, salida);
pinMode (thresholdPin, salida);

analogWrite (thresholdPin, 127);
}

Artículos Relacionados

¿Scintillino - un basada en Arduino rápido y sucio contador de centelleo,

¿Scintillino - un basada en Arduino rápido y sucio contador de centelleo,

te has preguntado acerca de los niveles de radiación alrededor de usted? Bueno hoy puedes construir tu propio detector que mide las radiaciones ionizantes y muestra datos en tiempo real en una pantalla LCD (y también tu ordenador si quieres).El diseñ
Herramienta de línea de comandos "MiniPirate" de Arduino

Herramienta de línea de comandos "MiniPirate" de Arduino

Este de línea de comandos permite el prototipado Arduino "Rápido" sin compilación. Lectura de valores analógicos, dis - habilitar puertos e incluso registro de I2C manipulaciones se realizan en segundos en lugar de minutos. Se muestra cómo estab
Semáforos de Arduino (ORIGINAL)

Semáforos de Arduino (ORIGINAL)

Obtener recursos para el proyectoArduino Uno REV-33 - rojo - amarillo - y verde LEDPaquete de variedad de madera de BalsaProtoboard de 800 puntosCable de conexión de varios coloresCinta invisibleWeller soldadorX-acto cuchilloSharpie negroLoctite Supe
Bumbley - el robot pequeño servo

Bumbley - el robot pequeño servo

Conoce a Bumbley, un poco perdido bot de planeta Teekmar'd - un pequeño mundo que orbita Wolf 359. Bumbley le gusta encontrar buenos escondites y evitar contacto humano a toda costa. Sólo él puede ver en el infrarrojo, así que necesita tu ayuda. Así
Escalera escalada Robot

Escalera escalada Robot

En este instructable les mostraré cómo hacer una escalera muy básica escalada robot. Esto es llevar la escalera que nosotros (mis hijos y yo... ok uno era sobre todo me) construido ServoCity + Actobotics escalera escalador desafío. Resulta que ganamo
Stick2Cane - nunca perder su poca caña

Stick2Cane - nunca perder su poca caña

el problemaEsto es para alguien que tiene problemas de equilibrio, sólo necesita un bastón caminar durante un episodio y físicamente puede caminar lejos de la caña bastante distancia antes de que sea realmente necesario (oops). La idea es instalar un
Construir un Robot cuadrúpedo Actobotics

Construir un Robot cuadrúpedo Actobotics

Cómo hacer un robot a pie 4 patas usando piezas de Actobotics de ServoCity.com:El caballo de batalla de este robot, y lo que hace relativamente fácil de construir, son las servoblocks de Actobotics. Estos ingeniosos componentes le permiten utilizar s
OFFscope - osciloscopio offline (Arduino + SD tarjeta registro rápido)

OFFscope - osciloscopio offline (Arduino + SD tarjeta registro rápido)

Esto no es un osciloscopio de tiempo real!En primer lugar adquirir señal entrando ahorro/lo a la tarjeta SD. Luego revise la señal adquirida en tu PC.Este osciloscopio fuera de línea está diseñado para diagnóstico automotriz sensor. 99% de los sensor
Cómo hacer un osciloscopio de Arduino de bajo costo 16 MHz usando Excel y la pantalla del ordenador a pantalla

Cómo hacer un osciloscopio de Arduino de bajo costo 16 MHz usando Excel y la pantalla del ordenador a pantalla

A menudo un aficionado de electrónica será diseñar y construir algo sólo para encontrar que no se comportan la manera que él o ella prevista. A veces en estas situaciones el problema está relacionado con una señal eléctrica, sino que la materia se mu
Arduino - osciloscopio mejorado del pobre

Arduino - osciloscopio mejorado del pobre

este Instructable continúa el trabajo presentado aquí.  Proporciona una manera rápida y fácil para convertir tu Arduino en un osciloscopio, aunque encontré que estaba falta de usabilidad.  Renovado el software esta mañana para permitir mucho mejor fu
Arduino - osciloscopio multicanal (osciloscopio del pobre)

Arduino - osciloscopio multicanal (osciloscopio del pobre)

presento actualizaciones de software para el osciloscopio de Arduino (del pobre osciloscopio) que permiten para visualizar datos de dos o tres canales simultáneamente. Las principales características son idénticas al original osciloscopio con la exce
Arduino alta velocidad osciloscopio con interfaz de PC

Arduino alta velocidad osciloscopio con interfaz de PC

Usar el Arduino y el PC como un Osciloscopio rápido.Arduino puede recopilar confiablemente lecturas de voltaje a una frecuencia de entre 141 y 153 kilociclos.lecturas de datos de 1000 pueden tomarse en alrededor 6.8ms.Lo transferido a un PC, estos pu
Cómo dibujar en un osciloscopio con Arduino!

Cómo dibujar en un osciloscopio con Arduino!

En primer lugar, permite repasar algunos conceptos básicos. Un osciloscopio es una herramienta para la visualización de cambio de señales eléctricas.Osciloscopio: oscilación (cambiante), alcance (ver). Juntos hacen "osciloscopio".Un osciloscopio
Laboratorio de creación de un prototipo de portátil con osciloscopio y arduino

Laboratorio de creación de un prototipo de portátil con osciloscopio y arduino

Hola todos ya estoy de regreso, con un nuevo proyecto. Yo estaba tranquilo con mi maravillosa hija recién nacida (apenas 7 semanas de edad) cuando empiezo a escribió esto es 00:00 en Alemania y mi hija está durmiendo por fin encontré tiempo para pres