Koppelen van twee library's

Arduino specifieke Software
Berichten: 10
Geregistreerd: 09 Apr 2016, 14:14

Koppelen van twee library's

Berichtdoor Topcase1 » 08 Jul 2017, 23:58

Als starter loop ik tegen het volgende probleem aan. Ik wil het volgende: een motor die mijn ventilatierooster open zet wil ik aansturen op twee manieren.
De eerste manier is met de afstandsbediening.
De tweede manier is met een kaku rf -afstandsbediening.
Ik heb twee library's die onafhankelijk nu doen wat ik wil. De motor linksom en rechtsom laten draaien met de IR-afstandsbediening en de motor linksom en rechtsom laten draaien met de kaku afstandsbediening en ook met Domoticz.

Nu wil ik beide library's koppelen tot een (1) sketch en dat lukt me niet.
Als dat zou lukken kan ik deze motor koppelen aan Domoticz en die stuurt op zijn beurt de mechanische ventilatie aan, met gebruikmaking van de co2 melders en vochtmelder.
Dat lukt mij wel, maar die twee library's koppelen zit het probleem.

Wie kan mij vertellen wat en waar ik op moet letten als ik deze twee library's tot een sketch wil smeden.

Het gaat om de library: ReceiveRemoteAndSensor en IRremote van Ken Shirriff
Wie kan mij helpen?

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Koppelen van twee library's

Berichtdoor Koepel » 09 Jul 2017, 07:02

Hallo, en welkom op dit forum.

Kun je links geven naar de libraries die je gebruikt, of vertellen hoe je ze hebt geïnstalleerd.
In de Bibliotheekbeheerder zitten libraries en op Github staan veel libraries, en sommige mensen installeren een library van jaren oud die ze ergens op internet vinden.

De nederlandse Randy Simons heeft de libraries fuzzillogic en InterruptChain gemaakt, en daar zit de "ReceiveRemoteAndSensor" bij. Dat zit in één pakket dat "433MHz for Arduino" heet.
https://bitbucket.org/fuzzillogic/433mhzforarduino/wiki/Home
Volgens mij gebruikt die library een interrupt en millis(), maar geen timer.
De fuzzillogic doet erg veel code in de interrupt routine, dus andere libraries met timing dingen zullen dan niet zo goed meer werken.

In de Bibliotheekbeheerder zit "IRremote by shirriff". Heb je die library via de Bibliotheekbeheerder geïnstalleerd ?
Bij een Arduino Uno wordt Timer 2 gebruikt, maar dat is te wijzigen naar Timer 1.
Er wordt iedere 50 µs een interrupt gegenereerd. Dat is erg veel, ik kan me voorstellen dat de fuzzillogic dan niet goed meer werkt.

Welk Arduino board gebruik je ?
Wat lukt er niet ? Volgens mij kunnen ze wel naast elkaar gebruikt worden, maar belasten ze de Arduino nogal waardoor het slecht werkt. Ik heb zelf een aparte Arduino die alleen fuzzillogic doet en de gegevens doorstuurt naar een ander Arduino board.

Berichten: 10
Geregistreerd: 09 Apr 2016, 14:14

Re: Koppelen van twee library's

Berichtdoor Topcase1 » 09 Jul 2017, 21:22

Hallo Koepel,

Bedankt voor je reactie en het welkom.
Wat je daar allemaal zegt, gaat een beetje boven mijn kennis, maar de twee library,s die je noemt heb ik inderdaad gebruikt.
Als leek denk ik van die twee schuif ik in elkaar, maar zo simpel ligt het niet.
Een tweede Arduino is zo gek idee nog niet. Had ik niet aan gedacht.
Ik gebruik nu de Uno, maar wilde de sketch overzetten op een Nano i.v.m. ruimte gebrek in het rooster (misschien had ik daarom de optie van twee Arduino' nog niet bedacht)
Maar ik begrijp dat twee timers elkaar teveel belasten, alhoewel ik de instructie timer niet gezien heb (vergeef me mijn onkunde svp)

Thanks

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Koppelen van twee library's

Berichtdoor Koepel » 09 Jul 2017, 22:20

Normaal gesproken koop je een module die zelf kan zenden en ontvangen. Dan zit er meestal een chipje op die module die alles doet.
Die twee libraries doen echter het IR en 433MHz helemaal in software in de Arduino. Daarvoor hebben ze beide vrijwel de hele processing power van de Arduino nodig. En dat lukt niet al te best, als je ze ook nog eens bij elkaar wilt doen.

De timers zijn niet het probleem, maar volgens mij zijn de interrupts het probleem.
Met 'timer' bedoel ik een hardware timer in de microcontroller van het Arduino board. De Arduino Uno en de Arduino Nano gebruiken beide de ATmega328P microcontroller, en daarin zit van alles: een paar timers, verschillende communicatie mogelijkheden (I2C, SPI, UART), een wachtdog die het voltage in de gaten houdt, een EEPROM om gegevens op te slaan, en nog meer.

Met meerdere Arduino boards wordt het echter wel een stuk ingewikkelder.

In de toekomst kun je dus beter modules kopen die zelf de dingen regelen. Zoek eens op: arduino transceiver

Berichten: 10
Geregistreerd: 09 Apr 2016, 14:14

Re: Koppelen van twee library's

Berichtdoor Topcase1 » 22 Aug 2017, 19:16

Hallo Koepel,

Jij zegt: "In de toekomst kun je dus beter modules kopen die zelf de dingen regelen. Zoek eens op: arduino transceiver"

Ik begrijp wat je bedoeld (denk ik) maar ik gebruik een Raspberry pi met het programma Domoticz en de RFX 344 en daarmee bestuur ik de screens, lichten enz. en kan ik de ontvanger bereiken, vandaar dat ik een 433Mhz ontvanger gebruik op de Arduino.
Inmiddels heb ik ze apart draaien op twee Uno's en deze sturen de ventilatieroosterunit aan en het werkt goed.
Maar ik blijf ook open staan voor andere mogelijkheden omdat ik meerdere ventilatieroosters heb en deze moet ombouwen. Is er ook een mogelijkheid dat een Arduino transceiver signalen kan ontvangen van de RFX433 vanuit Domoticz?

Gr,
Topcase1

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Koppelen van twee library's

Berichtdoor Koepel » 27 Aug 2017, 10:26

Hmmm, in apparatuur van fabrikanten zit misschien een chip die het in hardware doet. Maar mischien gedeeltelijk ook niet, zoals een deel van de beveiliging. Ik weet daar te weinig van af.

Met een transceiver bedoel ik een chip die zowel kan versturen als ontvangen, en zelf het protocol maakt en zelf de filtering en ruisonderdrukking enzovoorts. De Arduino hoeft dan alleen de data naar die chip te sturen en bij de chip op te vragen of er iets is ontvangen. Dan heeft de Arduino nog tijd om andere dingen te doen.

Het nadeel van het protocol in software doen, is dat bijna de hele Arduino wordt overgenomen.
Het voordeel is dat ook allerlei vreemde protocollen gemaakt kunnen worden.

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 21 gasten