Inhoudsopgave:
- Stap 1: Inleiding
- Stap 2: Oplossing
- Stap 3: Circuit
- Stap 4: Het apparaat afwerken
- Stap 5: Mobiele app
- Stap 6: Blynk Code-bestanden
- Stap 7: Functionaliteit
- Stap 8: Arduino101-codebestand
Video: Red uw leven met de instortingsmonitor voor gebouwen: 8 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Analyseer beton-, metaal- en houtconstructies op bochten en hoeken en waarschuwt als ze zijn afgeweken van de oorspronkelijke positie.
Stap 1: Inleiding
Met de ontwikkeling van het gebied van civiele techniek kunnen we overal veel constructies identificeren. Metalen constructies, betonnen balken, gebouwen met meerdere platforms zijn er enkele van. Verder zijn de meesten van ons gewend om het grootste deel van de dag in een gebouw of huis te verblijven. Maar hoe kunnen we ervoor zorgen dat het gebouw veilig genoeg is om te blijven staan? Wat als er een kleine scheur of een te schuine balk in uw gebouw zit? Het zou honderden levens op het spel zetten.
Aardbevingen, bodemhardheid, tornado's en nog veel meer kunnen factoren zijn voor interne scheuren en de afwijking van de constructies of balken van de neutrale positie. Meestal zijn we ons niet bewust van de situatie van de omliggende constructies. Misschien heeft de plek waar we elke dag binnenlopen gebarsten betonnen balken en kan op elk moment instorten. Maar zonder het te weten gaan we vrij naar binnen. Als oplossing hiervoor hebben we een goede methode nodig om beton, hout, metalen balken van constructies waar we niet bij kunnen komen te monitoren.
Stap 2: Oplossing
"Structure Analyzer" is een draagbaar apparaat dat kan worden gemonteerd op een betonnen balk, metalen structuur, platen enz. Dit apparaat meet de hoek en analyseert bochten waar het is gemonteerd en stuurt de gegevens naar de mobiele app via Bluetooth. Dit apparaat gebruikt een versnellingsmeter/gyroscoop om de hoek in x-, y-, z-vlakken te meten en een flexsensor om de bochten te bewaken. Alle ruwe data wordt verwerkt en informatie wordt naar de mobiele app gestuurd.
Stap 3: Circuit
Verzamel de volgende componenten.
- Arduino 101-bord
- 2 X Flex-sensoren
- 2 X 10k Weerstanden
Om het aantal componenten te verminderen, wordt hier het Arduino 101-bord gebruikt, omdat het een versnellingsmeter en een BLE-module bevat. Flex-sensoren worden gebruikt om de mate van buiging te meten, aangezien de weerstand tijdens het buigen verandert. Het circuit is erg klein omdat er slechts 2 weerstanden en 2 flexsensoren moesten worden aangesloten. Het volgende diagram laat zien hoe u een flexsensor op het Arduino-bord aansluit.
Een pin van de weerstand is verbonden met de A0-pin van het Arduino-bord. Volg dezelfde procedure om de tweede flexsensor aan te sluiten. Gebruik A1 pin om de weerstand aan te sluiten.
Sluit de zoemer rechtstreeks aan op de D3-pin en Gnd-pin.
Stap 4: Het apparaat afwerken
Nadat de schakeling is gemaakt, moet deze in een behuizing worden bevestigd. Volgens het bovenstaande 3D-model moeten 2 flexsensoren aan de andere kant van de behuizing worden geplaatst. Maak ruimte voor de USB-poort om het bord te programmeren en de stroom te leveren. Omdat dit apparaat voor een lange periode moet worden gebruikt, is de beste methode om stroom te leveren het gebruik van een vast stroompakket.
Stap 5: Mobiele app
Download en installeer Blynk vanuit de Android Play Store. Start een nieuw project voor Arduino 101. Selecteer de communicatiemethode als BLE. Voeg 1 terminal, 2 knoppen en BLE toe aan de interface. De volgende afbeeldingen laten zien hoe u de interface maakt.
Stap 6: Blynk Code-bestanden
Na het maken van de interface op Blynk ontvang je een autorisatiecode. Voer die code op de volgende plaats in.
#include #include char auth = "***************"; //Blynk-autorisatiecode
WidgetTerminal-terminal (V2);
BLEPerifere blePerifere;
Tijdens het kalibratieproces worden de huidige sensormetingen opgeslagen in de EEPROM.
waarden(); EEPROM.schrijven (0, flx1);
EEPROM.write(1, flx2);
EEPROM.schrijven (2, x);
EEPROM.schrijven (3, y);
EEPROM.schrijven (4, z);
terminal.print("Kalibratie geslaagd");
Na het kalibreren vergelijkt het apparaat de afwijking met de drempelwaarden en piept de zoemer als deze de waarde overschrijdt.
waarden(); if(abs(flex1-m_flx1)>10 of abs(flex2-m_flx2)>10){
terminal.println("Over Bend");
toon (zoemer, 1000);
}
if(abs(x-m_x)>15 of abs(y-m_y)>15 of abs(z-m_z)>15){
terminal.println("Overhelling");
toon (zoemer, 1000);
}
Stap 7: Functionaliteit
Plak het apparaat op de te bewaken structuur. Plak ook de 2 flexsensoren vast. Voorzie het bord van stroom met behulp van de USB-kabel.
Open de Blynk-interface. Maak verbinding met het apparaat door het Bluetooth-pictogram aan te raken. Druk op de kalibratieknop. Na het kalibreren zal de terminal een bericht tonen als "Succesvol gekalibreerd". Stel het apparaat opnieuw in. Nu zal het de structuur bewaken en u via de zoemer op de hoogte stellen als het afwijkt van vervormingen. U kunt de hoek- en buigwaarden op elk moment controleren door op de Status-knop te drukken. Dit ziet er misschien uit als een klein apparaat. Maar het gebruik ervan is onbetaalbaar. Soms vergeten we met onze drukke schema's de staat van ons huis, kantoor enz. te controleren. Maar als er een klein probleem is, kan het eindigen zoals in de bovenstaande afbeelding.
Maar met dit apparaat kunnen honderden levens worden gered door de kleine maar gevaarlijke problemen in constructies te informeren.
Stap 8: Arduino101-codebestand
#define BLYNK_PRINT Serie
#define flex1 A0
#define flex2 A1 //Define flex-sensor en zoemerpinnen
#define zoemer 3
#include "CurieIMU.h"#include "BlynkSimpleCurieBLE.h"
#include "CurieBLE.h"
#include "Wire.h"
#include "EEPROM.h"
#include "SPI.h"
char auth = "***************"; // Blynk-autorisatiecode WidgetTerminal-terminal (V2);
BLEPerifere blePerifere;
int m_flx1, m_flx2, m_x, m_y, m_z; // waarden opgeslagen in het geheugen
int flx1, flx2, x, y, z; //Huidige metingen
void values(){ for(int i=0;i<100;i++){
flx1 = analoog lezen (flex1); // Ontvang onbewerkte metingen van sensoren
flx2 = analoog lezen (flex2);
x = CurieIMU.read Accelerometer(X_AXIS)/100;
y = CurieIMU.read Accelerometer(Y_AXIS)/100;
z = CurieIMU.read Accelerometer(Z_AXIS)/100;
vertraging(2);
}
flx1=flx1/100; flx2=flx2/100;
x = x/100; // Haal de gemiddelde waarden van de metingen op
y = y/100;
z = z/100;
}
void setup () {//pinMode (3, OUTPUT);
pinMode(flex1, INPUT);
pinMode (flex2, INGANG); // De sensorpin-modi instellen
Serieel.begin(9600);
blePeripheral.setLocalName ("Arduino101Blynk"); blePeripheral.setDeviceName ("Arduino101Blynk");
blePeripheral.setAppearance(384);
Blynk.begin(auth, blePeripheral);
blePeripheral.begin();
m_flx1 = EEPROM.lezen (0); m_flx2 = EEPROM.lezen(1);
m_x = EEPROM.lezen (2); // Lees vooraf opgeslagen sensorwaarden van EEPROM
m_y = EEPROM.lezen (3);
m_z = EEPROM.lezen(4);
}
void loop(){ Blynk.run();
blePeripheral.poll();
waarden();
if(abs(flex1-m_flx1)>10 of abs(flex2-m_flx2)>10){ terminal.println("Over Bend");
toon (zoemer, 1000);
}
if(abs(x-m_x)>15 of abs(y-m_y)>15 of abs(z-m_z)>15){ terminal.println("Over Hellend");
toon (zoemer, 1000);
}
toon (zoemer, 0);
}
/*VO geeft de kalibratiemodus aan. In deze modus worden de waarden van sensoren * opgeslagen in de EEPROM
*/
BLYNK_WRITE(V0){ int pinValue = param.asInt();
if (pinWaarde == 1){
waarden();
EEPROM.schrijven (0, flx1); EEPROM.write(1, flx2);
EEPROM.schrijven (2, x);
EEPROM.schrijven (3, y);
EEPROM.schrijven (4, z);
terminal.print("Kalibratie geslaagd");
}
}
/*We kunnen de huidige afwijkingswaarden opvragen * door op de knop V1. te drukken
*/
BLYNK_WRITE(V1){
int pinValue = param.asInt();
if (pinWaarde == 1){
waarden(); terminal.print ("X-hoekafwijking- ");
terminal.print(abs(x-m_x));
terminal.println();
terminal.print ("Y-hoekafwijking- ");
terminal.print(abs(y-m_y));
terminal.println();
terminal.print ("Z-hoekafwijking- ");
terminal.print(abs(z-m_z));
terminal.println();
terminal.print("Flex 1 afwijking- ");
terminal.print(abs(flx1-m_flx1));
terminal.println();
terminal.print("Flex 2 afwijking- ");
terminal.print(abs(flx2-m_flx2));
terminal.println();
}
}
BLYNK_WRITE(V2){
}
Aanbevolen:
Living Pixels - Stel je voor dat technologie leven heeft: 4 stappen (met afbeeldingen)
Living Pixels - Imagine Technology Has Life: Aangezien smarthome-producten steeds vaker voorkomen in ons leven, ben ik gaan nadenken over de relatie tussen mensen en deze producten. Als smart home-producten op een dag een onmisbaar onderdeel van ieders leven worden, welke houding moeten we dan aannemen
Dreamday Box voor de speciale persoon in je leven: 11 stappen (met afbeeldingen)
Dreamday Box voor de speciale persoon in je leven: Dit kleine doosje vertelt het aantal dagen dat mijn geliefde en ik ons leven samen leiden. Natuurlijk kan de datum voor jou van alles zijn, het kan de dagen sinds je huwelijk vertellen, sinds de dag dat jij en je partner elkaar hebben ontmoet, de dag dat je bent verhuisd
Water is de basis voor het menselijk leven: 4 stappen
Water is de basis voor het menselijk leven: Inleiding: Arduino gebruiken om een project te maken dat een functie bevat. Ik maak een Arduino-project dat je eraan herinnert om een bepaalde tijd water te drinken.Motivatie:Tegenwoordig besteden de meeste mensen het grootste deel van hun tijd aan hun werk en ze vaak voor
Bedien een ventilator via wifi. Gemakkelijk voor het leven: 15 stappen
Bedien een ventilator via wifi. Gemakkelijk voor het leven: vandaag alleen met een telefoon en een apparaat verbonden met internet. U kunt overal ter wereld eenvoudig alle apparaten bedienen. Vandaag zal ik een ventilator bedienen met een smartphone die is verbonden met internet
HOE modellen en gebouwen voor Google Earth te ONTWERPEN: 7 stappen
HOE ONTWERP Modellen en Gebouwen voor Google Earth: Ben je ooit naar Google Earth gegaan en heb je die coole gebouwen bekeken. heb er ooit een willen ontwerpen. Nou, hier is je kans