Met behulp van RTC DS3231 + Arduino UNO om de verstreken tijd te berekenen

Ik ben een beginner zonder coderende achtergrond. Ik probeer een alarm te vinden dat mensen vertelt hoe lang ze op hun stoel hebben gezeten. Het concept is heel eenvoudig wanneer de persoon in zijn stoel zou zitten en het zal een gebeurtenis activeren (misschien een druk op de knop) die het tellen van de tijd zou triggeren. als de tijd een limiet overschrijdt (laten we zeggen een uur), gaat er een zoemer af. De enige manier om de zoemer te stoppen, is om voor een minuut van de stoel weg te blijven. Ik weet niet hoe ik deze code moet gaan schrijven, vooral hoe ik deze tijdteller kan laten beginnen met deze actie (die op een knop kan drukken). Het is voor mijn klasproject, dus alle hulp is zeer gewaardeerd.

1

2 antwoord

Een idee zou zijn om de kracht/druksensor op de stoel te gebruiken. Je moet vinden wat de sensor uitvoert wanneer een gemiddelde persoon erop zit en de waarden dienovereenkomstig in code kalibreren. Eindelijk moet je er een drempelwaarde voor instellen. Als iemand er nu op zit en als die drempel wordt overschreden, betekent dit dat er iemand op zat. Dus je kunt nu je rtc-module activeren of misschien kun je speciale randapparatuur gebruiken, timers genoemd, die zich in arduino zelf bevinden. Beide kunnen worden gebruikt om de tijd bij te houden. Zelfstudies zijn beschikbaar voor beide timers en interfacing met ds3231-arduino. Je kunt eenvoudig coderen. Succes :-)

1
toegevoegd
Heel erg bedankt! Ik probeer de code te schrijven. Hopelijk post het hier snel :)
toegevoegd de auteur Lassie, de bron

Het concept is heel eenvoudig wanneer de persoon in zijn stoel zou zitten en een gebeurtenis zal activeren (misschien een druk op de knop) die het tellen van de tijd zou moeten activeren. als de tijd een limiet overschrijdt (laten we zeggen een uur), gaat er een zoemer af.

meerdere manieren, allemaal conceptueel identiek aan de jouwe vragen:

1) wanneer een persoon in de stoel zit, wordt een stuk code geactiveerd dat een alarm in de dtc instelt. zodra het dtc-alarm afgaat, triggert het een statusverandering op een pin die de dtc verbindt met de MCU, die de zoemer activeert;

2) de 2e benadering is vergelijkbaar, behalve dat de MCU de dtc constant naar een nieuwe tijd trekt. zodra de nieuwe tijd voldoende is, klinkt er een zoemer.

...

dit hele ding kan worden gedaan zonder de dtc, trouwens.

0
toegevoegd
Bekijk het gegevensblad. Rtcs hebben over het algemeen alarmregisters die de alarmdatum en -tijd instellen. Wat ik doe is om de huidige tijd van de rtc te halen, deze naar het Unix-tijdformaat te converteren, het increment eraan toe te voegen en het vervolgens weer naar tijd en datum te converteren. De ontbonden tijd en datum kunnen worden teruggezet naar de RTC. Schakel vervolgens de respectieve onderbrekingen in zodat u uw MCU naar andere dingen kunt verplaatsen.
toegevoegd de auteur dannyf, de bron
dtc? Bedoel je RTC? Betekent "trekt de dtc" "peilt de RTC"?
toegevoegd de auteur VE7JRO, de bron
Bedankt a ton, "triggers een stuk code dat een alarm in de RTC zet" is mijn wegversperring: D. Geen idee hoe het te schrijven.
toegevoegd de auteur Lassie, de bron