¿No puede obtener una onda cuadrada digital en el osciloscopio desde el GPIO de la Raspberry Pi?

5

ENTORNO :

Ejecutando "Raspbian" en Model_B Raspberry Pi (Revisión 2) w / ribbon expandiendo el GPIO en una Breadboard como se muestra en la siguiente imagen.

SETUP

AquíhayunprimerplanodelaconfiguracióndeGPIOeneltableroylaconexióndemisonda.Misondaestáconectadaalcableverdequeestáconectadoalpin7(CE1).Mitierraestáobviamenteconectadaatierra,queeselcableamarillo.

Estoy utilizando GPIO pin 7 (CE1) como una salida a la que tengo conectada mi sonda y mi conexión a tierra está conectada al pin de tierra. He puesto la sonda en la configuración de 10: 1.

Mi programa refleja el ejemplo del programa "C" "wiringPi library" ubicado en aquí . Deberá desplazarse hacia abajo ya que el ejemplo se encuentra hacia el final. También adjunto una imagen a continuación de mi programa.

Noestoysegurodeloqueestáhaciendoladeclaración(si),perocomopuedever,estoyconfigurandoelmodoPINen(7,SALIDA)yestoyusandounbucle(while)paraactivarydesactivarelpinlomásrápidoposible.Esperolograrunaondacuadradadigitaldesdeesteprogramaparaverenmiosciloscopio.Sinembargo,estoyrecibiendounamalaseñalenlapantallacomosepuedeveracontinuación.

ELPROBLEMAQUETENGO:

¿Puedealguienayudarmeasolucionarproblemasenmiconfiguraciónparapodermostrarunaondacuadradadigital?Elenlacequeadjuntoarribaofreceunartículosobrecómoconfiguransubancodepruebas.Inclusomuestranlaseñalquesemostróenelosciloscopio.Sinembargo,poralgunarazónnopuedoreplicarsusresultados.AcontinuaciónsemuestraunartículoparalahojadeespecificacionesdelGPIO.Nuevamentemitableroeslarevisión2.

HOJADEESPECIFICACIONESPARAELGPIO:

enlace

ELPROBLEMAHASIDORESUELTO:

GraciasalcomentariodeK-Sidacontinuaciónyalmaravillosoenlacequehesolucionadoelproblema.Estoypublicandolanuevaimagendelaseñalqueestásiendoanalizada.Estámostrandounafrecuenciade4.3MHzqueestáalrededordeloquedeberíaser.

    
pregunta Shane Yost

2 respuestas

5

Hay un par de problemas con su código que pueden solucionarse fácilmente. Primero, está llamando a wiringPiSetup, lo que significa que deberá referirse a los pines por la designación de WiringPi que se puede encontrar en esta página:

enlace

Luego, está configurando el pin 7 (designación de wiringPi) para que sea una salida que en realidad es GPIO 4 (pin físico 7) y no el pin CE1 como mencionó. CE1 en realidad sería wiringPi pin 11.

El siguiente problema está en el bucle while. Está realizando una escritura digital en el pin 4 de cableado (no 7 como lo configuró) y siempre lo está configurando en un nivel bajo para que nunca cambie de nivel incluso si está configurado correctamente. El siguiente código debe ser lo que está buscando pero no está probado. Esto supone que desea utilizar CE1, que normalmente se usa para SPI, pero debería funcionar con WiringPi como un pin de E / S general:

  if (wiringPiSetup () == -1)
    exit (1) ;

  pinMode(11, OUTPUT);

  while(1) {
    digitalWrite(11, 0);
    digitalWrite(11, 1);
  }
    
respondido por el K-Sid
1

Si bien @ K-Sid ha resuelto tu problema, hay una cosa más. Su salida:

es muy ruidoso. Eso es porque a pesar de su código te está dando el reloj cuadrado, no tienes ningún control sobre el período de tiempo. Siempre es aconsejable agregar un retraso:

  while(1) {
    digitalWrite(11, 0);
    delay(10); // Hold positive-logic LOW for 10ms.
    digitalWrite(11, 1);
    delay(10); // Hold positive-logic HIGH for 10ms
  }

Si necesita square waves con frecuencias más altas, use generadores de reloj (o crystals ).

Espero que esto ayude.

    
respondido por el ps95

Lea otras preguntas en las etiquetas

Comentarios Recientes

¿Busca ahorrar a través de múltiples baterías, pero necesita monitorear su consumo de energía y corriente? ¿Quiere subir fotos a su cuenta de Twitter o seguir Pokemon Go últimamente? ¿Quiere extender su actualización de firmware de terceros? / capacidades de restauración del sistema: si puede ver qué radio de esta categoría necesita (o si ya tiene una solución), complete el formulario. <| endoftext |> 8 de julio de 2018 - Algo ridículo sucedió hoy. @Monopoly_Company tuitea que serán cien mil clientes... Lees verder