Autor Tema: Conflicto con mis pines analógicos  (Leído 4182 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado humberto 02

  • PIC16
  • ***
  • Mensajes: 190
Conflicto con mis pines analógicos
« en: 06 de Octubre de 2018, 17:40:47 »
Hola; discúlpame que te moleste. He cometido una GRANDISIMA burrada. Mira que me pasó

Arduino NANO V3 (no puedo usar otro modelo)

Tengo ocupados todos los pines digitales {
          El 2 recibe Temperatura
          Del 3 al 4 reciben y remiten al Modulo Bluetooth HC-05 (inalámbrico)
          Del 5 al 8 reciben señal del Control Remoto RF433Mhz
          Del 9 al 13 ocupados con el nRF24L01 (inalámbrico)
}

Conclusión no tengo modo de usar más digitales y necesito leer dos teclas (Button Swith) sobre la placa.

Estúpidamente (no sé en que estaba pensando) fabriqué la placa, soldé todo, y cuando conecté todo para probar; noté que las teclas ¡no funcionaban!

Entonces al revisar mis esquemas comprendí mi burrada. Había usado los Pines “analógicos” como si fuesen “digitales” Y por eso no me funcionaban.

Mi consulta es tonta; pero a lo mejor me ayudas a resolver mi problema. ¿existe algún modo de hacer que los pines analógicos A6 y A7 me lean los botones?

Este código hace lo que necesito (pero sobre pines digitales)

Código: [Seleccionar]
#include <SoftwareSerial.h>
int estado = 0;

void setup(){
     Serial.begin(9600);
     pinMode(2, INPUT);   // Tecla UNO
     analogWrite(2,LOW);
     pinMode(13, OUTPUT); // Led Azul
     digitalWrite(13,LOW);
     Serial.println("Listo!");
}

void loop(){
     if (digitalRead(2) == HIGH){
        while(digitalRead(2) == HIGH){ delay(25); }
        estado = !estado;
        if (estado == 0){ Serial.println("BAJO"); }else{ Serial.println("ALTO"); }
        digitalWrite(13,estado);
     }
}

Aprovecho este post para desearles lo mejor y enviarles un gran abrazo desde Gualeguaychú E. Ríos

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 571
Re:Conflicto con mis pines analógicos
« Respuesta #1 en: 06 de Octubre de 2018, 19:04:58 »
Hola, respondiendo concretamente a tu consulta. Claro que es posible.
Si los pines son de carácter análogo. Es más, puedes conectar ambos botones mediante divisores resistivos, para que generen umbrales escalonados  y así  poder  leerlos desde un único pin. Algunos lo llaman "one wire".
Por ejem. , si no hay botones presionados, al leer el pin, el ADC, si está configurado a 8bits, pues arrojará el valor 255.
Al presionar un botón,  el valor del ADC será 127.
Y al presionar el botón restante, el valor arrojado será 0.
La única limitación es que NO puedes presionar ambos botones a la vez.
« Última modificación: 06 de Octubre de 2018, 19:13:36 por Robert76 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Conflicto con mis pines analógicos
« Respuesta #2 en: 06 de Octubre de 2018, 19:18:31 »
Citar
¿existe algún modo de hacer que los pines analógicos A6 y A7 me lean los botones?

A6 y A7 son exclusivamente analogicos, asi que para poder usarlos como digital, podrias leer si tiene una lectura mayor a 512 o menor a 512. En caso de que quieras poner los 2 botones en un solo, seguis las instrucciones de Robert76

Los demas pines analogicos A0 a A5, pertenecen al puerto C, por lo cual esos SI pueden ser usados como digitales.

Referencia: Datasheet del ATmega328P

Desconectado humberto 02

  • PIC16
  • ***
  • Mensajes: 190
Re:Conflicto con mis pines analógicos
« Respuesta #3 en: 06 de Octubre de 2018, 20:02:53 »
Gracias por estar ahí.

Mi nivel "junior" en Electrónica no me permite COMPRENDER vuestras respuestas; pero "entiendo" lo que me han dicho.

Entendí perfecto la lectura del umbral, también las recomendaciones dadas.

En relación a lo expresado por JC solo puedo agregar que el

A0 lo estoy usando con un Buzzer que se dispara de cuando la Temperatura supera el límite dado.
A1, A2, A3 Los uso con un Led RGB que de acuerdo a su color me da una alerta visual
A4 y A5 Los uso con un Display LCD 16x2
finalmente me quedaban libres A6 y A7
A6 apaga o prende la lectura del Sensor de temperatura
A7 apaga la Alarma cuando se dispara

Dicho de otro modo Bien, pero bien AJUSTADO quedé. Gracias a Dios me han dado una esperanza.
Ahora lo probaré en una protoboard todo lo que me han explicado.

Muchas Gracias!.

Desconectado humberto 02

  • PIC16
  • ***
  • Mensajes: 190
Re:Conflicto con mis pines analógicos
« Respuesta #4 en: 06 de Octubre de 2018, 20:23:21 »

Esta es la placa en la que estoy haciendo mi proyecto

Desconectado humberto 02

  • PIC16
  • ***
  • Mensajes: 190
Re:Conflicto con mis pines analógicos
« Respuesta #5 en: 06 de Octubre de 2018, 21:20:48 »

Saco 5v y los envío al Botón

Entiendo que 5v los debería interpretar como el umbral 255 o mayor que Cero.

Pero lo que no termino de comprender ¿dondé va el (-) ground para cerrar el circuito?

5v sacado de la alimentación LM7805 -----> Botón -----> Pin A6

Realmente estoy muy confundido.

Desconectado humberto 02

  • PIC16
  • ***
  • Mensajes: 190
Re:Conflicto con mis pines analógicos
« Respuesta #6 en: 06 de Octubre de 2018, 21:39:14 »
Gracias a vuestros comentarios (Robert76 y KillerJC) lo logre!!!

#include <SoftwareSerial.h>

int estado = 0;

void setup(){
     Serial.begin(9600);
     
     pinMode(A5, INPUT);   // Tecla UNO
     analogWrite(A5,LOW);

     pinMode(13, OUTPUT);  // Led Azul
     digitalWrite(13,LOW);

     Serial.println("Listo!");
}

void loop(){
     if (analogRead(A5) >= 127){
        while(analogRead(A5) > 0){ delay(25); }
        estado = !estado;
        if (estado == 0){ Serial.println("BAJO"); }else{ Serial.println("ALTO"); }
        digitalWrite(13,estado);
     }
}

Le puse una resistencia hacia Ground y anduvo PERFECTO!!!
Gracias Robert76 / Killer JC
« Última modificación: 06 de Octubre de 2018, 22:15:11 por humberto 02 »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Conflicto con mis pines analógicos
« Respuesta #7 en: 07 de Octubre de 2018, 03:20:15 »
Para la proxima vez, hay técnicas para solapar en un mismo pin varias funciones.

Este circuito utiliza pines para el lcd y para switches a la vez:

http://www.electronics-lab.com/wp-content/uploads/2015/04/LC_meter_schematic.png

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Conflicto con mis pines analógicos
« Respuesta #8 en: 07 de Octubre de 2018, 03:31:10 »
También tienes la opcion de expandir las salidas con circuitos serie, como el que has utilizado en el LCD.

Un saludo.

Desconectado AleSergi

  • PIC16
  • ***
  • Mensajes: 209
Re:Conflicto con mis pines analógicos
« Respuesta #9 en: 07 de Octubre de 2018, 04:19:10 »
creo que es hora de cambiar de placa,...    un Arduino Mega,  no estaría mal,  pero como sos capaz de hacer tu propia pcb,  y para un A.Nano v3.0,  tenés a la mano casi todo listo para emplear un Atmega1284p, tiene cuatro veces más memoria,   viene en formato dip,  de 40 pines,  y lo podés usar desde la plataforma Arduino (ide)
Ese zócalo para el A. Nano,  no está muy lejos del zócalo para el Atmega1284p....

Desconectado humberto 02

  • PIC16
  • ***
  • Mensajes: 190
Re:Conflicto con mis pines analógicos
« Respuesta #10 en: 07 de Octubre de 2018, 10:54:53 »
Son las 9:55 de este domingo esplendido de sol en Gualeguaychú, E. Ríos y mientras me tomo un café con mi pucho de siempre, estaba leyendo sus muy “ricos” comentarios.

Picuino decía hay técnicas para solapar en un mismo pin varias funciones. Realmente se me hace agua la boca por aprenderlas. Esto me parece un excelente tema para aprender; luego que termine este proyecto.

Con respecto a lo expresado por Alesergi te cuento que encontré un par de chicos en mi ciudad que hacen serigrafía. Y eso me permitió soltar la “plancha y la impresión con tonner”. Ahora mis enrutamientos son mucho más prolijos y ver la placa tan “hermosa” te invita hacerla aunque sepas que una vez terminada. Termine dentro de una caja de cartón como un logro personal. “logré hacerlo”.

A mis 57 años y sin saber usar un osciloscopio, dominar vuestro conocimiento quedo muy fuera de tiempo. No uso la electrónica (mucho menos los foros) para comercializar lo que hago y reparar lo que me han traído.

La electrónica “junior” Nivel en el que me encuentro. Solo sirve para responder cuestionamientos personales “¿Cómo se debe hacer para…?”.

Si observan la placa voy de 12v a 9v y luego 5v sin emplear condensadores. “básico” como “básico” es mi conocimiento. Arduino NANO me ha seducido de tal manera que me cuesta dejarlo, Tengo varios UNO, MEGA pero más tengo NANO; porque él me da las respuestas a mis preguntas en un pequeño espacio.

Seguramente (porque me conozco) con 20 años menos “no tengo duda alguna” hubiese viajado a Bs. As. A realizar un Curso de Electrónica Digital de verdad y sin duda alguna seguiría la recomendación de Alesergi; la cual es muy buena.

Pero debo serles sincero. No vale la pena llegar a las ligas mayores que Uds. Están porque no puedo aceptar que un “gabinete de plástico de estiércol” salga 3 veces más caro que todos los componentes electrónicos que contiene adentro.

Esta “maldita” costumbre que ahora compro resistencias por Unidad cuando 30 años atrás recuerdo que había que comprar una Tira larga para llegar a pagarlas 1$. Esta son las cosas que me revelan de dar un salto de calidad y conocimiento.

Nano me da más satisfacciones; que la absurda mentalidad de nuestra industria y comercio, atada a una mediocre Macro Economía en la que cada 10 años nos sumergen “unos u otros” siendo los mismos que “te abren las fronteras” y “otros te las cierran” dejándonos en medio de una imprevisibilidad que no te deja hacer el salto de conocimiento y calidad esperado. Solo por eso “paso” y sigo con mi NANO.

Gracias por estar siempre de ese lado para darnos una mano. Un cordial Saludo y gran abrazo!.




Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Conflicto con mis pines analógicos
« Respuesta #11 en: 07 de Octubre de 2018, 11:33:44 »
Las protoboard las utiliza todo el mundo para hacer prototipos.

De hecho la PCB solo deberías utilizarla cuando ya tienes claro que el prototipo funciona sobre una protoboard o para los circuitos que usen señales especiales (alta potencia, alta frecuencia o cientos de señales). Así será más flexible.

A mí también me gusta mucho el Arduino nano. Sobre todo porque puedes insertarlo en una protoboard.

Otra forma de tener más pines es utilizar dos nanos, uno esclavo de otro.

Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Conflicto con mis pines analógicos
« Respuesta #12 en: 07 de Octubre de 2018, 11:36:12 »
Mira este ejemplo:


* 721px-Breadboard_complex.jpg
(198.02 kB, 721x600 - visto 1213 veces)


https://es.wikipedia.org/wiki/Archivo:Breadboard_complex.jpg

 Intel 8088-based single board computer constructed on a breadboard.


 

anything