RAW Thermometer

Toon hier Uw afgeronde projecten aan anderen.
Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

RAW Thermometer

Berichtdoor Nightmystic » 15 Jan 2016, 19:14

Ik kon niet meer inloggen op mijn oude account: Hanneman, vandaar een nieuw account.

Na een jaar de Arduino niet aangeraakt te hebben, heb ik weer eens wat gebouwd.

Het is een Thermometer met alarm:
https://www.youtube.com/watch?v=zpRIxUHdMXI

De code is te vinden via onderstaande link:
http://pastebin.com/EitK60he

Er zit echter nog 1 ongemakkelijk punt in.
Wanneer de temperatuur gemeten wordt kan er niet op een knop gedrukt worden.
Het menu reageert dus vaak niet op de knoppen, zoals je kunt zien in de video.

Weet er iemand of daar een oplossing voor is en hoe ik dat aan kan pakken?

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: RAW Thermometer

Berichtdoor shooter » 16 Jan 2016, 10:43

de knoppen aan een interupt vasthangen, en daarin dus de knop afvangen, maar ook de meting niet gebruiken. geen punt want er is tijd genoeg voor.
Op het display zou ik een blokje zwart makn als de meting begint, en weer uit als de meting gedaan is, dan heb je een indicatie wanneer het wel en niet gaat.
beetje rare constructie met die timer (werkt wel hoor)
en die lcd.print staat ook in de loop, advies om deze ook in een functie te zetten.
volgens mij staat er in de setup te veel, en kun je dat beter doen door functies te maken, zo wordt in de setup wel gekeken of de sensor er aan hangt maar in de loop niet meer.
paul deelen
shooter@home.nl

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: RAW Thermometer

Berichtdoor Nightmystic » 16 Jan 2016, 18:23

shooter schreef:de knoppen aan een interupt vasthangen, en daarin dus de knop afvangen, maar ook de meting niet gebruiken. geen punt want er is tijd genoeg voor.
Op het display zou ik een blokje zwart makn als de meting begint, en weer uit als de meting gedaan is, dan heb je een indicatie wanneer het wel en niet gaat.
beetje rare constructie met die timer (werkt wel hoor)
en die lcd.print staat ook in de loop, advies om deze ook in een functie te zetten.
volgens mij staat er in de setup te veel, en kun je dat beter doen door functies te maken, zo wordt in de setup wel gekeken of de sensor er aan hangt maar in de loop niet meer.


De Arduino Uno heeft slechts 2 interrupt pins en ik heb 3 knoppen.
Ik hoopte op een andere oplossing dan een interrupt pin, maar als het niet anders gaat, dan weet ik dat in ieder geval.
Ik vraag me ook af of ik de 'Clickbutton' library nog kan gebruiken als ik de knoppen aan een interrupt pin hang....?
Wat is er vreemd aan de timer? Na een bepaalde tijd mag de meting pas uitgevoerd worden en dit is toch beter dan een delay?
Ik zal de lcd.print in een functie zetten en even kijken hoe ik de setup op kan ruimen.

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: RAW Thermometer

Berichtdoor nicoverduin » 18 Jan 2016, 08:52

Op het moment dat je die sensor uitleest, zou ik hem sowieso niet onderbreken omdat je timing van de sensor weg is.
Verder zie ik zeeeer veeeel mogelijkheden om de response te verbeteren. Die melodie bast van de delays. Terwijl je in feite niet meer dan een reeks afspeelt. En bij elke entry ff wacht (niets doet).
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: RAW Thermometer

Berichtdoor Nightmystic » 18 Jan 2016, 16:07

Wanneer de melodie speelt hoeft het systeem niet meer op knoppen te reageren.
Zolang die melodie niet getriggert wordt zitten die delays de reactiviteit van de knoppen toch niet in de weg?

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: RAW Thermometer

Berichtdoor nicoverduin » 18 Jan 2016, 16:49

Nightmystic schreef:Wanneer de melodie speelt hoeft het systeem niet meer op knoppen te reageren.
Zolang die melodie niet getriggert wordt zitten die delays de reactiviteit van de knoppen toch niet in de weg?
klopt. Maar soms is het handig om alternatieven te verzinnen/leren zodat je in de toekomst gelijk kiest voor minimalisatie van de delay() functie...
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: RAW Thermometer

Berichtdoor Nightmystic » 18 Jan 2016, 20:02

Zoals ik bij de timing van de temp sensor gedaan had bedoel je? Of heb je een voorbeeld code die beter werkt?

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: RAW Thermometer

Berichtdoor nicoverduin » 19 Jan 2016, 08:40

hier doe je het bijna goed:
cpp code
if ((millis()-timer) >= 601)
{
// timed out
timer += 601;// reset timer by moving it along to the next interval
sensors.requestTemperatures(); // Temperaturen uitlezen
}

Al had ik van die 601 een #define gemaakt. En zou ik uit gewoonte altijd testen of hij loopt (boolean bijvoorbeeld). Loopt de timer niet sla je gelijk die code over. De melodie kan je een tabel aflaten lopen. In de tabel de melodie met de delays. Is de timer verlopen dan ga je naar de volgende entry. Start de tone en zet bijvoorbeeld de boolean aan dat de timer loopt en klaar.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Terug naar Afgeronde projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 8 gasten