Cuprins:

Temporizator pentru numărătoarea inversă a evenimentelor viitoare: 5 pași
Temporizator pentru numărătoarea inversă a evenimentelor viitoare: 5 pași

Video: Temporizator pentru numărătoarea inversă a evenimentelor viitoare: 5 pași

Video: Temporizator pentru numărătoarea inversă a evenimentelor viitoare: 5 pași
Video: Mastering the Omnipod 5: Pro Tips for Successful Diabetes Management 2024, Iulie
Anonim
Temporizator pentru numărătoarea inversă a evenimentelor viitoare
Temporizator pentru numărătoarea inversă a evenimentelor viitoare
Temporizator pentru numărătoarea inversă a evenimentelor viitoare
Temporizator pentru numărătoarea inversă a evenimentelor viitoare

Prezentare generală: Ceasul cu numărătoare inversă a evenimentelor este similar cu produsele comerciale, cu câteva răsuciri:

a) Citibil de pe ecranul camerei.

b) Imagine de eveniment personalizabilă.

c) Pe măsură ce timpul țintă al evenimentului se numără înapoi, zilele rămase își schimbă culoarea - verde -> galben -> roz -> roșu.

d) Evenimente noi pot fi adăugate prin WiFi

Componente majore: Raspberry Pi și ecran TFT LCD de 5 inch

Nivel de abilități: familiarizat cu configurarea Raspberry Pi, comenzi de bază Linux și programe python și un pic de asamblare hardware.

Pasul 1: Piese și instrumente

Piese și instrumente
Piese și instrumente
Piese și instrumente
Piese și instrumente

Părți:

Raspberry Pi 2 B sau PI 3 B

Elecrow RPA05010R HDMI 5-inch 800x480 TFT LCD Display cu ecran tactil pentru Raspberry Pi B + / 2B / 3B

Stand bicolor acrilic de înaltă calitate pentru LCD Waveshare Raspberry pi 5 inch HDMI

Adaptor USB Wifi nu este necesar pentru PI3

Instrumente:

Alimentare - la 2A

Tastatură și mouse

Monitor HDMI (pentru a facilita editarea și testarea codului)

Pasul 2: Configurați Raspberry Pi, încărcați, testați și personalizați codul Python

Configurați, încărcați, testați și personalizați codul Python Raspberry Pi
Configurați, încărcați, testați și personalizați codul Python Raspberry Pi

Pentru acești pași, atașați Pi la monitorul HDMI de dimensiuni complete.

Pasul 1: Descărcați și ardeți imaginea Raspbian https://www.raspberrypi.org/downloads/raspbian/ și finalizați configurarea inițială.

  1. activați SSH, VNC
  2. conectare automată boot la desktop
  3. setați fusul orar local corect și configurați Wifi

Pasul 2: Din desktopul GUI deschideți o fereastră de terminal și instalați Tkinter cu

sudo apt-get update

sudo apt-get install python-tk

Pasul 3: Instalați git cu această comandă

sudo apt-get install git

Pasul 4: Descărcați și testați codul inițial Python

git clona "https://github.com/e024576/UpcomingEvent.git"

cd Python UpcomingEvent cntDwnSng.py

Rezultatul ar trebui să arate ca imaginea de ecran prezentată …

Pasul 5: Personalizarea codului python pentru evenimentul dvs. Mai întâi deschideți codul python cu nano și apoi derulați de sus în jos pentru a vă familiariza cu acesta.

nano cntDwnSng.py

a) modificați titlul și data evenimentului editând aceste linii de cod

#enter informații despre eveniment aici …

canvas.create_text (400, 20, anchor = 'center', text = 'MSTA Staunton Spring Romp', font = ('Helvetica', '20'), fill = 'white') canvas.create_text (400, 50, anchor = 'centru', text = '12-15 aprilie 2018', font = ('Helvetica', '20'), fill = 'galben')

b) introduceți ora și data efective pe care doriți să le numărați înapoi

# introduceți data și ora țintei evenimentului aici

zi = 12 luni = 04 an = 2018 oră = 9 minute = 00 sec = 0

c) introduceți imaginea pe care doriți să o afișați. Tkinter doar „îmi place” formatul de fișier imagine.gif, așa că am folosit MS Paint pentru a-mi converti originalul-j.webp

photo = Tkinter. PhotoImage (file = './dualsport.gif')

d) redimensionează imaginea. Dimensiunile originale Dualsport-g.webp

# redimensionează imaginea

photo = photo.zoom (3) photo = photo.subsample (2)

Ceea ce a produs o imagine nouă de 548 x 3/2 = 822 lățime și 450 x 3/2 = 675. Ceea ce este prea mare, dar am fost bine cu trunchierea. Rețineți că photo.zoom () & photo.subsample () permit DOAR parametrii valorii întregi.

Cu aceste editări puteți rula din nou codul python pentru a verifica dacă ieșirea corespunde nevoilor dvs.

Notă - aceasta este prima mea utilizare a tkinter-ului, așadar codul meu este probabil Nu este un bun exemplu de bune practici!

Pasul 3: Autostart App Countdown la pornire

Autostart App Countdown la pornire
Autostart App Countdown la pornire

Odată ce sunteți sigur că codul dvs. Python funcționează corect, îl puteți configura pentru a porni când pornește PI. Deoarece programul are nevoie de mediul grafic, iată ce trebuie făcut:

a) Copiați cntDwnSng.py și fișierul dvs. imagine-g.webp

b) Porniți editorul nano cu

sudo nano / etc / xdg / lxsession / LXDE-pi / autostart

c) Adăugați linia de urmărire în partea de jos a fișierului

@sudo / usr / bin / python /home/pi/cntDwnSng.py

d) Ieșiți din nano cu Ctrl-X, apoi Y, apoi apăsați Enter

e) Schimbați permisiunile cu:

sudo chmod + x cntDwnSng.py

f) Dezactivați economisirea ecranului instalând preferința desktop-ului pentru economizorul de ecran cu -

sudo apt-get install xscreensaver

Odată ce acest lucru a fost instalat, puteți găsi aplicația screensaver în opțiunea Preferințe din meniul principal al desktopului GUI. Pentru acest proiect trebuie să dezactivați screensaver-ul.

g) Verificați dacă funcționează:

sudo reboot

Pasul 4: Instalați software-ul pentru driverul de afișare

Pasul 1: Deschideți terminalul și descărcați driverul driverului LCD:

sudo rm -rf LCD-showgit clonă

Pasul 2: Instalați driverul:

chmod -R 755 LCD-showcd LCD-show / sudo./LCD5-show

Pasul 5: Asamblați hardware și adăugați evenimente viitoare

Asamblați hardware și adăugați evenimente viitoare
Asamblați hardware și adăugați evenimente viitoare

Construiți suportul LCD conform acestor instrucțiuni.

Atașați ecranul LCD la Raspberry Pi conform ghidului de utilizare inclus pe ecranul LCD.

Adăugarea de evenimente viitoare

Utilizați ssh sau VNC pentru a vă conecta cu PI prin Wifi, apoi modificați codul python și adăugați un nou fișier-g.webp

ASTA ESTE - DISCURAȚI-VĂ!

Recomandat: