Mikrocontroller per Ultraschall aus Schlafmodus wecken

OP #6115882
Lesenswert?
• ▲
▼
Liebes Forum,

ich komm einfach mal gleich zur Sache:

Und zwar möchte ich einen Mikrocontroller per Ultraschall (durch einen 
Interrupt) aus dem Schlafmodus wecken.
Dabei soll der Sender 10 cm vom Mikrocontroller und dem darauf 
befindenden Ultraschallempfänger entfernt sein.

Den Mikrocontroller, den ich verwende, ist der Adafruit Feather nRF52 
Bluefruit (Arduino), der integrierte Chip ist der nRF52832 von Nordic 
Semiconductor. Dieser soll im Power_Mode_Off verweilen, und erst durch 
einen externen Interrupt mit vorher definiertem Interrupt-Pin aufwachen. 
Das ganze soll durch einen Ultraschallimpuls aus rund 10 cm Entfernung 
geschehen, den der Sender empfängt und der dann den Interrupt-Pin 
"aktiviert" (über HIGH/LOW/RISING/FALLING).

So sieht der Code für den PowerOff Modus und den Interrupt in Arduino 
dann aus:
1
void setup() {
2
 pinMode(INTERRUPT_PIN, INPUT);
3
  
4
 attachInterrupt(digitalPinToInterrupt(INTERRUPT_PIN), intHandler, RISING);
5
 nRF5x_lowPower.enableWakeupByInterrupt(INTERRUPT_PIN, RISING);
6
}
7

8
void loop() {
9
 [...]
10
 nRF5x_lowPower.powerMode(POWER_MODE_OFF);
11
}

Zuerst möchte ich das ganze in der Luft testen, später soll es dann 
irgendwann unter Wasser betrachtet werden.

Aber für den Anfang reicht es zeigen zu können, dass der Mikrocontroller 
aus 10 cm Entfernung per Ultraschall (beliebiger Frequenz) aufgeweckt 
werden kann.

Kann da jemand vielleicht Ultraschallsender und -empfänger empfehlen?

Wenn ich beispielsweise diese US-Sender und -empfänger mit je zwei 
Anschlüssen habe:
https://www.conrad.de/de/p/murata-ma40s4s-ultraschall-sender-1-st-reichweite-max-5-m-frequenz-max-40-khz-x-h-9-9-mm-x-7-1-mm-506195.html
https://www.conrad.de/de/p/murata-ma40s4r-ultraschall-empfaenger-1-st-reichweite-max-5-m-frequenz-max-40-khz-x-h-9-9-mm-x-7-1-mm-506193.html

Wie müsste die Schaltung da aussehen, also wie muss ich die verbauen, 
damit ich eine Zustandsänderung des Interrupt-Pins registrieren kann?

Ich habe leider weder mit Mikrocontrollern generell noch mit 
Ultraschallsensoren wahnsinnig viel Erfahrung, ich habe bisher 
lediglichmit dem klassischen HC-SR04 Ultraschallmodul zur 
Abstandsmessung gearbeitet und ein paar Tutorials a la LED zum Blinken 
bringen mit Arduino gemacht
Deswegen wollte ich die Schwarmintelligenz hier um Hilfe bitten :)

Vielen lieben Danks schon mal für eure Hilfe!

LG





Links:

Microcontroller:
https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/introduction

Low Power Modi des Chips:
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52832.ps.v1.1%2Fpower.html&cp=2_1_0_17_1&anchor=unique_1707892264
Gast #6115935
Lesenswert?
• ▲
▼
Stefan K. schrieb:
> Das ganze soll durch einen Ultraschallimpuls aus rund 10 cm Entfernung
> geschehen, den der Sender empfängt und der dann den Interrupt-Pin
> "aktiviert" (über HIGH/LOW/RISING/FALLING

Das wäre kein Problem, wenn denn dein ZS-Empfänger ein solches Signal 
zuverlässig bei Empfang des Impulses liefern kann und keine Fehlalarme 
produziert.

Stefan K. schrieb:
> Kann da jemand vielleicht Ultraschallsender und -empfänger empfehlen

Genau darin liegt das Problem. Die üblichen 'Shields' und 
Parkremplersensoren taugen dafür nicht. Eventuell hilft ein NE567, den 
man die 40kHz erkennen lässt. Unter Wasser funktioniert der MA40R aber 
nicht.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.