- Компоненте које се користе:
- Повезивање 4к4 тастатуре са Распберри Пи помоћу мултиплексирања:
- Опис кола:
- Објашњење:
- Објашњење програмирања:
Сигурност је главна брига у нашем свакодневном животу, а дигиталне браве постале су важан део ових сигурносних система. Постоји много врста технологија доступних за заштиту нашег места, попут ПИР сигурносних система, РФИД сигурносног система, ласерских сигурносних аларма, био-матричних система итд.
Претходно смо направили Дигитал Лоцк са лозинком користећи Ардуино и користећи 8051, овде ћемо направити ову Дигиталну браву користећи Распберри Пи са корисничком дефинисаном лозинком. Једном када је лозинка постављена, корисник може приступити вратима само са тачном лозинком.
Ако нисте упознати са Распберри Пи, створили смо низ водича за учење Распберри Пи, уз повезивање са свим основним компонентама и неким једноставним пројектима за почетак, проверите.
Компоненте које се користе:
- Распберри Пи (са подигнутом СД картицом)
- Модул тастатуре
- Зујалица
- ЛЦД 16к2
- 10к пот
- Пакет отпорника од 10 к (повлачење)
- ЛЕД
- 1к отпорник
- Даска за хлеб
- ЦД / ДВД колица као капија
- Снага 5 волти
- Возач мотора Л293Д
- Батерија од 12 волти
- Повезивање жица
Повезивање 4к4 тастатуре са Распберри Пи помоћу мултиплексирања:
У овом колу користили смо Мултиплекинг технику за повезивање тастатуре за унос лозинке у систем. Овде користимо 4к4 мултиплекс тастатуру са 16 тастера. Ако желимо да користимо 16 кључева, обично нам треба 16 пинова за везу са Ардуином, али у техници мултиплексирања треба нам само 8 пинова за повезивање 16 кључева. Тако да је то паметан начин повезивања модула тастатуре. Сазнајте више о техници мултиплексирања и њеном раду у овој дигиталној бравици користећи 8051.
Техника мултиплексирања је врло ефикасан начин да се смањи број пинова који се користе са микроконтролером за унос или лозинку или бројеве. У основи се ова техника користи на два начина - један је скенирање редова, а други скенирање колона. Ако користимо библиотеку тастатуре (#инцлуде
Али овде смо у овом пројекту применили кратки начин кодирања за исту тастатуру, без употребе библиотеке тастатуре. Молимо погледајте у одељку за програмирање испод.
Опис кола:
Састав ове Распберри Пи дигиталне браве за врата је врло једноставан који садржи Распберри Пи 3, модул тастатуре, зујалицу, ДВД / ЦД колица као капију и ЛЦД. Овде Распберри Пи контролише комплетан процес попут узимања лозинке из модула тастатуре, упоређивања лозинки, вожње зујалицом, отварања / затварања капије и слања статуса на ЛЦД екран. Тастатура се користи за унос лозинке. Зујалица се користи за индикације и покреће је уграђени НПН транзистор. ЛЦД се користи за приказ статуса или порука на њему.
Прибадаче ступаца модула тастатуре директно су повезане са ГПИО пином 22, 23, 24, 25, а редни пинови повезани су на 21, 14, 13, 12 пингинг пинова Распберри Пи. 16к2 ЖК је повезан са Распберри Пи у 4-битном моду. Контролни пин РС-а, РВ и Ен ЛЦД-а су директно повезани на ГПИО пин 11, ГНД и 10. Прибадаче за податке Д4-Д7 повезане су на ГПИО пинове 6, 15, 4 и 1. Један зујалац повезан је на ГПИО пин 8. И управљачки програм мотора Л293Д је повезан на ГПИО пин 28 и 29 Распберри Пи. 12 волт баттери је везан у пин 8 Л293Д у односу на тло.
Објашњење:
Рад на овом пројекту је једноставан. Када корисник покрене код у Распберри Пи, ЛЦД приказује неку поздравну поруку, а након тога приказује „А- Унесите лозинку“, ау другом реду Б - Промени лозинку “. Сада корисник може одабрати свој избор притиском на тастере А и Б на тастатури.
Ако корисник жели да отвори капију, треба да притисне „А“ на тастатури и тада ће систем тражити лозинку. Подразумевана лозинка је „1234“. Сада корисник мора да унесе лозинку и након што ће овај систем проверити лозинку, да ли је важећа или не:
1. Ако корисник унесе исправну лозинку, систем ће отворити капију.
2. Ако корисник унесе погрешну лозинку, систем ће послати наредбу звучнику да се огласи звучним сигналом и на ЛЦД-у приказује „Приступ одбијен“.
Сада претпоставимо да корисник жели да промени лозинку, онда треба да притисне „Б“ на тастатури и тада ће се од корисника тражити „Тренутна лозинка“ или „Тренутна лозинка“. Сада корисник треба да унесе тренутну лозинку, а затим систем провери исправност и изврши један од задатих задатака.
1. Ако корисник унесе исправну лозинку, систем ће затражити „Нова лозинка“ и сада корисник може променити лозинку уношењем нове лозинке.
2. А ако корисник унесе погрешну лозинку, систем ће покренути зујалицу и на ЛЦД-у ће се приказати „Погрешна лозинка:
Сада корисник треба да понови цео поступак поново да би променио лозинку.
У основи, отварање и затварање капије није ништа друго него окретање мотора у смеру кретања казаљки на сату и у смеру супротном од казаљке на сату да бисте отворили и затворили врата. За мали пројекат можете једноставно додати једносмерни мотор за отварање и затварање врата. Такође можемо да користимо серво или корачни мотор, али морамо у складу са тим да променимо кодекс.
Даље можете да користите одговарајућу електронску браву за врата (лако доступну на мрежи) уместо ЦД колица. Има електро магнет који држи врата закључанима када кроз браву не пролази струја (отворени круг), а када кроз њега прође нека струја, брава се откључа и врата се могу отворити. Код ће бити промењен у складу са тим, проверите и овај заједнички преглед пројекта: Ардуино РФИД Лоцк врата
Објашњење програмирања:
Програмирање је много слично Ардуину. Функција Ардуино користи класе, али овде смо урадили овај код, користећи програмирање ц, без класа. Такође смо инсталирали вирингПи библиотеку за ГПИО.
Сада пре свега морамо укључити потребне библиотеке, а затим дефинисати игле за ЛЦД, зујалицу, ЛЕД и мотор.
#инцлуде
Након тога дефинишите игле за ред и колоне тастатуре и дефинишите низ за чување бројева лозинке и тастатуре.
цхар пасс; цхар пасс1 = {'1', '2', '3', '4'}; инт н = 0; ред цхар = {21, 14, 13, 12}; цхар цол = {22, 23, 24, 25}; цхар нум = {{'1', '2', '3', 'А'}, {'4', '5', '6', 'Б'}, {'7', '8', ' 9 ',' Ц '}, {' * ',' 0 ',' # ',' Д '}};
Након ње написали смо неке функције за управљање ЛЦД-ом:
Функција празнина лцдцмд се користи за слање команде на ЛЦД и воид писање функција се користи за слање података на ЛЦД.
Функција воид принт се користи за слање низа на ЛЦД.
воид принт (цхар * стр) {вхиле (* стр) {врите (* стр); стр ++; }}
Функција воид сетКурсор се користи за подешавање положаја курсора на ЛЦД-у.
воид сетЦурсор (инт к, инт и) {инт сет = 0; иф (и == 0) сет = 128 + к; иф (и == 1) сет = 192 + к; лцдцмд (сет); }
Функција воид цлеар () користи се за брисање ЛЦД-а, а воид зујалица () се користи за звучни сигнал.
Функција воид гате_опен (), воид гате_стоп () и воид гате_цлосе () користе се за управљање капијом (ЦД колица)
воид гате_опен () {дигиталВрите (м1, ЛОВ); дигиталВрите (м2, ВИСОКО); кашњење (2000); } воид гате_стоп () {дигиталВрите (м1, ЛОВ); дигиталВрите (м2, ЛОВ); кашњење (2000); } воид гате_цлосе () {дигиталВрите (м1, ХИГХ); дигиталВрите (м2, ЛОВ); кашњење (2000); }
Дата функција се користи за иницијализацију ЛЦД-а у 4-битном режиму.
воид бегин (инт к, инт и) {лцдцмд (0к02); лцдцмд (0к28); лцдцмд (0к06); лцдцмд (0к0е); лцдцмд (0к01); }
Дата воид функција тастатуре () користи се за повезивање модула тастатуре са Распберри Пи помоћу „кратке методе“.
воид тастатура () {инт и, ј; инт к = 0, к = 0; кашњење (2000); вхиле (к <4) {фор (и = 0; и <4; и ++) {дигиталВрите (цол, ЛОВ); за (ј = 0; ј <4; ј ++) {иф (дигиталРеад (ред) == 0) {сетЦурсор (к, 1);…………………
Проверите све функције у потпуном коду испод, код је једноставан и сам по себи разумљив.