Problém je, že modul pro Arduino používá 5V logiku, kdežto RPi používá 3,3V logiku. Pokud bychom do modulu přivedli 5V (RPi má i 5V výstup), mohlo by se na GPIO objevit vyšší než přípustné napětí. Pokud použijeme 3,3V, tak proud protékající cívkou nestačí k sepnutí relé. Více k problematice viz. odkazy na konci.
Ideální je kupovat komponenty přímo pro RPi používající 3,3V logiku. Mám ale několik zbylých relé modulů od pokusů s Arduinem a chci je použít. Zjistil jsem, že některé mají jumper umožňující oddělení napájení pro diodu a tranzistor optočlenu (ve schématu EL817C). Toho lze využít a použít pro spínání relé 5V výstup a pro řízení 3,3V výstup. Alternativně lze použít externí napájení a komplet opticky oddělit RPi od relé.
Základní podmínkou je, že modul má extra vstup pro napětí (u mne označen JD-Vcc). Dále bývá na modulu jumper, který umožňuje propojit nebo rozpojit JD-VCC a VCC. Pokud je jumper nainstalován, propojuje JD-VCC a VCC a tento spojený vstup je připojen k VCC na Arduinu. Pokud chceme připojit k RPi a úplně opticky izolovat dle obrázku (oddělení zelenou čárou), jumper odstraníme a k RPi připojujeme Vcc + GPIO pin nastavený na výstup. Pokud je pin nastaven na HIGH, tak napětí na něm je stejné jako Vcc, přes optočlen 817C neteče proud a relé je v základním stavu. Pokud hodíme pin do LOW tak začne mezi VCC a pinem téct 3,3mA (3,3V / 1kOHM), a optočlen „sepne“ a relé se přepne. Co se týká GND jsou na desce s relé moduly oba GND piny propojeny (jeden GND je vlevo u IN1 a duhý vpravo vedle Vcc a JD-Vcc). Je tedy jedno, který z GND použijete. Pokud chcete úplné oddělení (zelená čára na schématu – Total opto isolation) odpojíte GND na straně RPi a použijete GND z externího zdroje.
Pokud nepožadujeme úplné optické oddělení, tak RPi má výstup 5V a je možno jej použít. Zkoušel jsem se starším zdrojem podle popisku 0,4A a 2-3 relé jsou takto v pohodě. Běželo i při 5 přepnutých relé ale LEDka napájení a LEDky na relé modulu už trochu problikávaly. Měřil jsem proud na „5V okruhu“ a u mne jedno relé bere cca 50mA – a tedy 5 relé už je 0,25A , proud roste víceméně lineárně 1 relé +50mA. Měřil jsem také proud do GPIO pinu a ten byl 0,46 mA.
S jiným zdrojem, který měl 2A, jsem v pohodě pustil všech 8 relé. Zaznamenal jsem, že se po 3 relé rozblikala červená kontrolka na RPi a po sepnutí 4 relé již zcela zhasla. Systém ale v pohodě fungoval dál a bez problémů i s 8 relé. Když jsem pátral po důvodu, zjistil jsem, že zdroj dává bez sepnutých relé 4,8V a po každém sepnutém relé se napětí snížilo o cca 0,05V. červené kontrolka na RPi se podle informce na netu rozbliká, když vstupní napětí klesne pod 4,63 V – což odpovídá cca 3 relé.
Na fotkách je zapojení 5 relé na piny 29,31,33,35,37 (softwarově výstupy wPi 21-25) a 3,3V je hnědý kabel. 5V z RPi červený kabel a GND z RPi je černý kabel – tyto dva by při použití jiného zdroje vedly od zdroje. Mezi červeným a černým kabelem na relé modulu je vidět odpojený jumper.
https://forums.raspberrypi.com/viewtopic.php?f=37&t=77158&start=150#p1340696
https://raspberrypi.stackexchange.com/questions/118116/can-you-use-a-5v-relay-module-with-the-pi