Мазмұны:

Жақсы Raspberry Pi қуат түймесін жасаңыз: 4 қадам
Жақсы Raspberry Pi қуат түймесін жасаңыз: 4 қадам

Бейне: Жақсы Raspberry Pi қуат түймесін жасаңыз: 4 қадам

Бейне: Жақсы Raspberry Pi қуат түймесін жасаңыз: 4 қадам
Бейне: Raspberry Pi Pico-ны PLC-ге қалай айналдыруға болады | Beremiz4Pico 2024, Шілде
Anonim
Image
Image

Таңқурайдың өшіру немесе өшіру түймесін жасау өте оңай. Интернетте мұндай көптеген жобалар бар, ал кейбіреулері Instructables -де, бірақ олардың ешқайсысы (мен көріп тұрмын) сізге Pi -нің жабылуын аяқтағанын айтпайды, сондықтан қуатты тартып алу қауіпсіз. Іс жүзінде олар түймені басу көрінгенін мойындамайды.

Пиді қайта іске қосуға арналған жобалар да бар, бірақ олар сізге визуалды кері байланыс бермейді.

Бірақ мұндай түйме кімге керек? Егер сіз мен сияқты ұялшақ адам болсаңыз немесе тіпті жаңашыл болсаңыз, сіз әрқашан Pi -ге жергілікті түрде немесе желіде кіріп, sudo shutdown -h тере аласыз. Бірақ егер сіз техникалық емес пайдаланушыларға арналған жоба құрсаңыз, бұл болмайды. Рас, сіз әрқашан электр сымын тартып құтыла аласыз, бірақ назар аударыңыз, мен әрқашан дерлік айттым! Барлығының жолы ерте ме, кеш пе таусылады. Менде өткен аптада ғана SD картасы өлді, бірақ мен бұл қуаттың кенеттен жоғалуына байланысты болғанын білмеймін.

Менің жағдайда, менде тірі пианист болмаған кезде, шіркеуде гимндер мен әндерді жазуға және ойнатуға арналған midi секвенсері ретінде қолданылатын Pi -ге қуат түймесін қосу керек болды. Мен әрқашан өшіру пәрменін жаза аламын, бірақ мен жоқ жерде оны өшіруім керек.

Менің мақсатым - сізге басқа да нұсқаулықтар сияқты әдемі 3D басып шығарылған қаптамамен дайын өнімді беру емес. Әркім оны әр түрлі қолданады немесе өз жобасына қосқысы келеді. Мен сізге медиа орталық, IoT құрылғысы немесе басқасы болсын, жобаңызға қосуға болатын технологияны орнатамын.

(Бейнеде мен оны Pi Zero v1.2 мен қайта орнатылған ноутбук экранынан және Қиыр Шығыстан келген контроллерден көрсетемін.)

1 -қадам: Дизайн

Ол қалай жұмыс істейді
Ол қалай жұмыс істейді

Бұл менің қуат түймесі сіз үшін жасайды:

  • Pi жұмыс істеп тұрғанда, жарық диоды үздіксіз жанады. Егер ол қолмен өшірілсе, светодиод қуатты ажырату қауіпсіз болған кезде ғана сөнеді.
  • Жұмыс кезінде түймені кемінде бір секунд басып тұрсаңыз, өшіру басталады және жарықдиод әр секунд сайын төрттен бір рет жыпылықтайды.
  • Өшіру күйінен (егер қуат өшірілмесе), түймені басу оның жүктелуін бастайды және жарықдиодты әр секунд сайын төрттен бір секунд жыпылықтайды. (Ssh және vnc сияқты барлық қызметтер іске қосылғанша біраз уақыт кетуі мүмкін.)

Компоненттер өте арзан. Сізге бар керегі:

  • ATTiny85 (Arduino үйлесімді чип)
  • 3 резистор: 2 x 330Ω және 1 x 10kΩ
  • 1 жарық диоды - жасыл немесе көк түс ұсынамын, бірақ бұл сіздің таңдауыңыз
  • нан тақтасы мен секіргіш сымдар, немесе таспа тақтасы, немесе сіз оны қалайсыз.

2 -қадам: Бұл қалай жұмыс істейді

Барлық Pi қуат түймелері сияқты, бұл GPIO түйреуішін Pi күйінде жұмыс істейтін көмекші бағдарламаға өшіру туралы сұраныс беру үшін төмен күйге түсіреді. Мен GPIO4 (PIN 7) қолдандым, бірақ сіз кез келген басқа түйреуішті қолдана аласыз.

Pi өшіруді аяқтағанын айтудың жалғыз жолы - TxD pin 8 көру, содан кейін ол төмендейді. Бұл әдепкі бойынша қосылған сериялық консольге байланысты. Шын мәнінде, TxD сериялық консоль ретінде қолданылған кезде үнемі жоғары және төмен түседі, бірақ ол бір уақытта 30 мС -тан аспайды, тіпті ең баяу жылдамдықта. Оны әлі де сериялық консоль үшін қолдануға болады, өйткені біз оны пассивті түрде қараймыз.

Қайта жүктеу үшін бізге SCL1 (5 -штырь) қысқаша төмен тартыңыз. Бұл түйреуішті кез келген I2C құрылғылары қолданады (оның ішінде менің midi интерфейсі бар), бірақ жүктеуді бастағаннан кейін біз оны жалғыз қалдырамыз.

Күрделіліктің көп бөлігі ATTiny85 -ке жүктелетін Arduino эскизінде. Бұл «мемлекеттік машинаны» жүзеге асырады - кез келген мәселені кодтаудың өте пайдалы және қуатты әдісі. Кір жуғыш машина дәл осылай жұмыс істейді. Штаттар жуу циклінің кезеңдерін білдіреді және олардың әрқайсысы машинаның сол кезде не істеуі керектігін анықтайды (қозғалтқыштар немесе сорғылар, клапандар ашылуы немесе жабылуы) және сенсордың қандай кірістері (температура, су деңгейі, таймерлер) келесі күйге қашан көшу керектігін және келесі күйді таңдауды анықтау.

Қол эскизі - бұл күйдің барлық ауысуларын көрсететін күй диаграммасының алғашқы жобасы. Бұл сізге өз күйлеріңізді және күйлерге ауысуды қалай жоспарлауға болатынын көрсету үшін ғана - мен отладтауды бастағанға дейін дәл болмауы мүмкін.

Біздің жағдайда бізде ӨШІРУ, ЖҮКТЕУ СҰРАУЫ, ЖҮКТЕУ, ЖҮГІРУ, ӨШІРУ СҰРАУЫ және ӨШІРУ деп атаған 6 мемлекет бар. (ӨШІРУДЕН кейін ол ӨШІРУЛІ күйге ауысады.) Бұл эскиздегі түсініктемелермен анықталады, және олардың әрқайсысы үшін не істеу керектігін және қандай оқиғалар оны басқа күйге көшіретінін айтады.

Pi -де жұмыс істейтін көмекші бағдарлама көптеген өшіру түймелеріне қарағанда біршама күрделі. Ол GPIO түйреуішіндегі ұзақ төмен импульске өшіруді бастау арқылы жауап береді, бірақ ол қысқа импульске GPIO түйреуішін төмен түсіріп жауап береді. Осылайша ATTiny85 жұмыс істеп тұрғанын айта алады, сондықтан ЖҮКТЕУДЕН ЖҰМЫС күйіне ауысады.

3 -қадам: демонстрациялық прототип құру

Демо прототипін құру
Демо прототипін құру
Демо прототипін құру
Демо прототипін құру
Демо прототипін құру
Демо прототипін құру

Демонстрациялық мақсатта сіз оны дәнекерленген тақтада көрсетілгендей прототиптей аласыз, бірақ мен сізге схеманы ұсындым, осылайша сіз өзіңіздің макетіңізді таспалы тақтаны немесе реттелетін ПХД көмегімен жасай аласыз, мүмкін кеңірек жобаның бөлігі.

4 -қадам: ATTiny85 бағдарламалау

Бұл қадамға Arduino эскизі мен көмекші бағдарламасы бекітілген. Arduino эскиздер қалтасында PiPwr қалтасын жасаңыз және оған PiPwr.ino файлын көшіріңіз. Arduino IDE -ді іске қосу арқылы сіз оны эскиз кітабынан таба аласыз.

ATTiny85 бағдарламалаудың бірнеше әдістері бар. Егер сізде жүктеуші орнатылған болса, бағасы бірнеше фунт болатын ATTiny85 тақтасын пайдалануға болады. Бұл компьютерге USB порты арқылы қосылады. Мен гидиотты қолдандым, ол негізінен бірдей, бірақ прототиптік алаңы бар.

Arduino IDE -де Файл - Параметрлер астынан қосыңыз

digistump.com/package_digistump_index.json

Қосымша тақта менеджерінің URL мекенжайларына.

Құралдар - тақта бөлімінде сіз енді Digispark -тың бірнеше нұсқасын көресіз. Digispark таңдаңыз (Әдепкі - 16,5 МГц).

Егер сіздің ATTiny85 -те жүктеуші жоқ болса (немесе сіз білмесеңіз), онда сіз бірнеше фунтқа AVR ISP бағдарламашысын ала аласыз. Немесе сіз Arduino Uno немесе арзан Pro Mini немесе Nano бағдарламашысын пайдалана аласыз. Нұсқаулықтар үшін Google «arduino as isp attiny85» (тырнақшасыз).

Егер сіз эскизді өзгерткіңіз келсе, сіз оған толық түсініктеме бересіз және оны орындау оңай деп ойлайсыз. Жөндеу үшін Arduino Pro Mini немесе Nano пайдалану әлдеқайда оңай. Сериялық мониторды қолдану арқылы өтетін қадамдарды көру үшін serial.begin () параметрін Setup -та және циклдегі басып шығару мәлімдемелерінде қалдырыңыз. Дереккөзде Uno, Pro Mini немесе Nano үшін қосалқы пин анықтамалары бар.

Raspberry Pi -де shutdown_helper.py файлын/etc/local/bin қалтасына көшіріп, оны пәрменмен орындалатын етіп орнатыңыз.

sudo chmod +x /usr/local/bin/shutdown_helper.py

Енді /etc/rc.local файлын сүйікті редактормен өңдеңіз. (Мұны түбір ретінде жасау керек.) Соңғы жолдың алдында (0 шығу) жолды енгізіңіз

nohup /usr/local/bin/shutdown_helper.py &

Қайта жүктеңіз, көмекші бағдарлама автоматты түрде басталады.

Ұсынылған: