Go Down

Topic: Mikrocontroller mit Ultraschall wecken (Read 137 times) previous topic - next topic

WalterWhite308

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
, 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:

void setup() {
pinMode(INTERRUPT_PIN, INPUT);

attachInterrupt(digitalPinToInterrupt(INTERRUPT_PI N), intHandler, RISING);
nRF5x_lowPower.enableWakeupByInterrupt(INTERRUPT_P IN, RISING);
}

void loop() {
[...]
nRF5x_lowPower.powerMode(POWER_MODE_OFF);
}


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-ma...mm-506195.html
https://www.conrad.de/de/p/murata-ma...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 Walt

HotSystems

#1
Jan 22, 2020, 08:23 am Last Edit: Jan 22, 2020, 08:54 am by HotSystems
Wenn du mit dem hc-sr04 schon Projekte verwirklicht hast, wirst du doch wissen, dass auf den Modulen schon Elektronik verbaut ist. Ohne diese Elektronik und einer gewissen Intelligenz eines Controllers kannst du deine US-Sender und Empfänger nicht nutzen bzw. deinen Controller aufwecken.

Und unter Wasser wird das so nicht funktionieren.
Da brauchst du entsprechende Module mit der notwendigen Leistung und Frequenz.
Du kannst es ja mal mit diesem Ultraschall-Sensor probieren.

Und ohne entsprechender Erfahrung halte ich das schon für sehr anspruchsvoll.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Rentner

#2
Jan 22, 2020, 12:54 pm Last Edit: Jan 22, 2020, 12:55 pm by Rentner
Hallo
So wie ich das sehe handelt es sich bei den beiden Teilen eigentlich um einen "Lautsprecher" und ein "Mikrofon". Du wirst also einiges da drumherum bauen müssen damit das eigenständig ohne uC funktioniert. Den kannst Du ja zunächst mal nicht verwenden denn er schläft ja noch.  

Du willst also mit dem Sender irgendwie einen "Ton" erzeugen und der Empfänger "das Microfon" soll dann ein digitales Signal 0/1 abgeben das den uC aufweckt.

Kann man sicher mit ein paar reinen Hardware Bauteilen realisieren. Qszylator beim Sender , OP beim Empfänger. Ob das aber das ist was Du wirklich willst ???.

Heinz

postmaster-ino

Hi

Sobald am Arduino ein Interrupt ausgelöst wird, wird Der wach - Was Da nun am Beinchen gezappelt hat, ist dem Arduino völlig wurscht.
Du brauchst also eine Elektronik, Die Dir bei Empfang Deines US-Signal einen Eingang umschaltet oder einen Impuls ausgibt.
Wenn dieses Aufwachen aber nur durch ein gaaanz bestimmtes Signal geschehen darf, lasse den Arduino laufen - einen µC brauchst Du eh, um dieses gaaanz bestimmte Signal erkennen zu können.
Ob sich dieses Modul im Sleep-Mode zum Strom sparen eignet ... gute Frage - bei einem normalem Arduino wäre die Antwort wohl 'eher nein'.

MfG

HotSystems

Der TO sollte sich einfach mal etwas genauer mit dem Thema Ultraschall-Sensoren befassen, dann wird er schon sehen, das sein Vorhaben ohne einen weiteren Controller nicht möglich ist.

Z.B. kann er dazu ja einen ATtiny85 nutzen, der dann seinen Feather aufweckt.
Will er damit ins Wasser gehen, muss er allerdings umdenken.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Go Up