Arduino: acceso a pines analógicos adicionales en el paquete SMT de 32 pines

0

Tengo un ATMega328 de 32 pines en una placa de pruebas. Tengo su pin analógico # 6 como un pin de entrada de otro IC en mi tablero. El IC envía datos a este pin analógico.

Ahora, el paquete DIP ATMega328 (usado en el Uno, y otras placas arduino predeterminadas), tiene 28 pines (en lugar de 32), y solo 6 pines analógicos (numerados 0-5) en total.

No recibo ninguna queja del compilador, y puedo cargar código con éxito al arduino.

Arranqué la placa con optiloader .

Problema

Usando mi alcance, espero ver señales provenientes del IC, pero solo veo una señal de línea plana. Mi conjetura es que, al elegir 'Arduino Uno' como mi tablero desde el IDE de Arduino, el código que trata de configurar el pin analógico 6 se ignora, porque el compilador asume que no hay un pin analógico 6 en este tablero. Por lo tanto, el pin analógico se reduce automáticamente a cero, y cualquier variación en el voltaje proveniente del pin de salida IC se reduce a 0 por estar conectado al pin analógico 6.

Intento de solución

Intenté cambiar el tablero que uso de Uno a Nano (con ATMega328), ya que el Nano se ejecuta en el mismo paquete SMT de 32 pines que estoy usando.

Pero ahora no puedo obtener ni el boceto más básico para cargar en el tablero. Intenté seleccionar algunos otros tableros del menú en el IDE de Arduino, y no puedo cargar código utilizando cualquier selección además del Uno.

Voy a seguir hackeando e investigando. ¿Alguna solución saliendo?

    
pregunta Ryan Tuck

1 respuesta

1

La plataforma seleccionada por el archivo boards.txt dirige pins_arduino.h que corresponden a los pinouts únicos de cada plataforma. Donde se define el 328 de la UNO para usar \ arduino \ variantes \ standard \ pins_arduino.h. también conocido como el estándar. Que tiene los pines A6 y A7 definidos pero el NUM_ANALOG_INPUTS a 6 no ocho. Tenga en cuenta que el IDE 1.0.5 boards.txt para Nano, Fio y Mini utiliza una variante de eightanaloginputs que simplemente incluye ../standard/pins_arduino.h y reemplaza NUM_ANALOG_INPUTS a 8. Permitiendo el acceso al AD6 y 7 extra .

Tenga en cuenta que el compilador funcionará independientemente, probablemente utilizando el valor de 0. Pero tendrá problemas para ejecutarse.

Observando que el valor cae a 0, o desplazamiento cero del pin, esto probablemente se asignará a PD0 o RXD, al intentar configurarse como una entrada. Donde sospecho (no estoy seguro) que OptiBoot puede tener una ventana más pequeña para el Parpadeo, que el IDE y la plataforma estándar pueden pasar por alto.

Cuando miro los tableros de OptiBoot.txt veo "minio.name = [Optiboot] Arduino Mini" usando el "minio.build.variant = arduino: eightanaloginputs"

    
respondido por el mpflaga

Lea otras preguntas en las etiquetas