Модулите и екраните винаги са удобни при изграждането на някаква сложна схема, особено с Arduino и Raspberry Pi. Тези модули намаляват всички режийни разходи за свързване на всеки компонент във веригата и действат като plug and play устройства, като LCD щит, релеен модул и т.н. Тук споделяме един много полезен проект за детектор за течове на резервоар за гореща вода, който може да бъде изграден лесно чрез използване на два SPi модула с Raspberry Pi.
Първо трябва да разберем за SPI (сериен към периферен интерфейс). SPI е синхронен и пълен дуплекс комуникационен интерфейс, използван предимно във вградена система за управление на периферните устройства с помощта на микроконтролер. SPI използва архитектура master-slave, където Microcontroller обикновено действа като Master. Предимството на шините като SPI и I2C е, че можете да свържете много устройства, като използвате няколко пина, като в случай на SPI можем да свържем много периферни устройства само с помощта на четири щифта, където 3 щифта са за комуникация на данни и един за избор на чип.
В Raspberry Pi имаме щифтове за избор на 2 чипа за управление на 2 SPI устройства и в момента Raspberry Pi може да действа само като Master. Можем да го разберем от един прост пример, например ако искаме да свържем 8 релета с Raspberry Pi, така че се нуждаем от 8 GPIO пина, но използвайки регистър за смяна 74HC595 като SPI устройство, можем да свържем 8 релета само с помощта на 4 SPI пина на Raspberry Pi, следователно можем да запазим други GPIO щифтове за други функции. Това е много полезно в сложни вериги.
Сега обратно към нашия проект за детектор за течове на резервоар за гореща вода, widgetlords създаде много полезни строителни блокове Raspberry Pi и SPI модули, с помощта на които можем да създадем много сложни проекти за много по-малко време. В този проект за откриване на течове са използвани два модула с Raspberry Pi, които са 8-канален модул за аналогов вход Pi-SPi-8AI и 8-канален модул за реле Pi-SPi-8KO. Освен това се използват един зумер, 24v захранване, термистори и сензор за изтичане на вода. Сензорът за теч на вода е изграден чрез фиксиране на два винта от неръждаема стомана върху прозрачен пластмасов лист.
Всеки път, когато има изтичане, зумерът се задейства от релето, присъстващо на 8-каналната платка за реле. Той също така измерва температурата на горещата и студената линия с помощта на температурните сензори и задейства алармата за температурата, когато Линията за топла вода достигне 10% от температурата на тръбата за студена вода. Тази верига може да се използва и като детектор за проводимост на водата и за измерване на влажността на почвата и съдържанието на вода в твърдо състояние. Можете да намерите пълни подробности, схеми и код за този детектор за течове на резервоар за гореща вода на страницата на проекта . По-долу е екранът за наблюдение на изхода на терминала:
Тук се използват само 4 канала на модула Pi-SPi-8AI и 3 канала на модула Pi-SPi-8KO, а други канали (от 8) все още остават неизползвани. Тези неизползвани канали могат да се използват за добавяне на повече функции в този проект или могат да се използват за обработка на напълно различни задачи. Това е мощта на SPI и тези SPi модули, които могат да се справят с много задачи, използвайки един микроконтролер.
Widegetlords има серия от много полезни Pi-SPi-модули и те непрекъснато добавят още модули, можете да проверите на техния уебсайт. Всеки модул има двоен порт за разширение GPIO, така че много модули могат да бъдат свързани последователно според изискванията. И също така има външно захранване във всеки модул (24VDC), така че захранването на Raspberry Pi да не се претоварва.