- Pitong Segment na Ipakita:
- Kinakailangan ang Mga Bahagi:
- Circuit at Paggawa ng Paliwanag:
- Paliwanag sa Programming:
Ang Raspberry Pi ay isang ARM architecture processor based board na dinisenyo para sa mga elektronikong inhinyero at libangan. Ang PI ay isa sa pinaka mapagkakatiwalaang mga platform sa pagbuo ng proyekto doon ngayon. Sa mas mataas na bilis ng processor at 1 GB RAM, maaaring magamit ang PI para sa maraming mga proyekto sa mataas na profile tulad ng pagproseso ng Imahe at IoT.
Para sa paggawa ng alinman sa mga proyekto sa mataas na profile, kailangang maunawaan ng isa ang mga pangunahing pag-andar ng PI. Saklawin namin ang lahat ng mga pangunahing pag-andar ng Raspberry Pi sa mga tutorial na ito. Sa bawat tutorial tatalakayin namin ang isa sa mga pagpapaandar ng PI. Sa pagtatapos ng Seryeng Mga Tutorial sa Raspberry Pi na ito, matututunan mo ang Raspberry Pi at gumawa ng mahusay na mga proyekto sa iyong sarili. Dumaan sa mga tutorial sa ibaba:
- Pagsisimula sa Raspberry Pi
- Pag-configure ng Raspberry Pi
- LED Blinky
- Pagitan ng Button
- Paglikha ng Raspberry Pi PWM
- LCD Interfacing kasama ang Raspberry Pi
- Pagkontrol sa DC Motor
- Pagkontrol sa Stepper Motor
- Interfacing Shift Registro
- Tutorial ng Raspberry Pi ADC
- Pagkontrol ng Servo Motor
- Capacitive Touch Pad
Sa tutorial na ito, gagawin namin ang interface ng pagpapakita ng raspberry Pi 7 segment. Ang pitong mga ipinapakita na Segment ay ang pinakamura para sa isang display unit. Ang isang pares ng mga segment na ito na nakasalansan na magkakasama ay maaaring magamit upang ipakita ang temperatura, counter halaga atbp. Ikonekta namin ang 7 segment na yunit ng pagpapakita sa GPIO ng PI at kontrolin ang mga ito upang maipakita ang mga digit nang naaayon. Pagkatapos nito ay magsusulat kami ng isang programa sa PYTHON para sa pitong segment na pagpapakita hanggang sa bilang mula 0-9 at i-reset ang sarili hanggang sa zero.
Pitong Segment na Ipakita:
Mayroong iba't ibang mga uri at sukat ng 7 Segment Ipinapakita. Saklaw namin ang Pitong Segment na nagtatrabaho nang detalyado dito. Karaniwan mayroong dalawang uri ng 7 Segment, Karaniwang uri ng Anode (Karaniwang Positibo o Karaniwang VCC) at Karaniwang uri ng Cathode (Karaniwang Negatibo o Karaniwang Lupa).
Karaniwang Anode (CA): Sa ito ang lahat ng mga Negatibong terminal (cathode) ng lahat ng 8 LEDs ay konektado magkasama (tingnan ang diagram sa ibaba), na pinangalanan bilang COM. At lahat ng mga positibong terminal ay naiwang nag-iisa.
Karaniwang Cathode (CC): Sa ito ang lahat ng mga positibong terminal (Anode) ng lahat ng 8 LEDs ay konektado magkasama, pinangalanan bilang COM. At lahat ng mga negatibong termal ay naiwang nag-iisa.
Ang mga CC at CA pitong segment na nagpapakita ay napakahusay habang pinagsasama ang maraming mga cell. Sa aming tutorial gagamitin namin ang CC o Karaniwang Cathode Seven Display na Segment.
Na-interfaced na namin ang 7 segment na may 8051, kasama ang Arduino at kasama ang AVR. Gumamit din kami ng 7 segment na pagpapakita sa marami sa aming Mga Proyekto.
Tatalakayin namin nang kaunti tungkol sa Raspberry Pi GPIO bago magpatuloy, Mayroong 40 GPIO output pin sa Raspberry Pi 2. Ngunit sa labas ng 40, 26 na GPIO pin lamang (GPIO2 hanggang GPIO27) ang maaaring mai-program, tingnan ang pigura sa ibaba. Ang ilan sa mga pin na ito ay nagsasagawa ng ilang mga espesyal na pagpapaandar. Na isantabi ang espesyal na GPIO, mayroon kaming natitirang 17 GPIO.
Ang GPIO (pin 1 o 17) + 3.3V signal ay sapat na upang himukin ang 7 Segment Display. Upang magbigay ng kasalukuyang limitasyon, gagamitin namin ang 1KΩ risistor para sa bawat segment tulad ng ipinakita sa Circuit Diagram.
Upang malaman ang higit pa tungkol sa mga GPIO pin at ang kanilang kasalukuyang mga output, dumaan sa: LED Blinking with Raspberry Pi
Kinakailangan ang Mga Bahagi:
Narito ginagamit namin ang Raspberry Pi 2 Model B kasama ang Raspbian Jessie OS. Ang lahat ng pangunahing mga kinakailangan sa Hardware at Software ay dati nang tinalakay, maaari mo itong tingnan sa Panimula ng Raspberry Pi, bukod sa kailangan namin:
- Kumokonekta na mga pin
- Pagpapakita ng karaniwang segment ng Cathode 7 (LT543)
- 1KΩresistor (8 piraso)
- Breadboard
Circuit at Paggawa ng Paliwanag:
Ang mga koneksyon, na ginagawa para sa pagpapakita ng interface ng 7 segment sa Raspberry Pi, ay ibinibigay sa ibaba. Ginamit namin dito ang Karaniwang Cathode 7 Segment:
PIN1 o e ------------------ GPIO21
PIN2 o d ------------------ GPIO20
PIN4 o c ----------------- GPIO16
Ang PIN5 o h o DP ---------- GPIO 12 // ay hindi sapilitan dahil hindi kami gumagamit ng decimal point
PIN6 o b ----------------- GPIO6
PIN7 o isang ----------------- GPIO13
PIN9 o f ----------------- GPIO19
PIN10 o g ---------------- GPIO26
Ang PIN3 o PIN8 ------------- konektado sa Ground
Sa gayon gagamitin namin ang 8 GPIO pin ng PI bilang isang 8bit PORT. Dito ang GPIO13 ay ang LSB (Least Significant Bit) at ang GPIO 12 ay MSB (Most Significant Bit).
Ngayon, kung gusto naming ipakita Numero "1", kailangan namin upang kapangyarihan segment B at C. Upang mapagana ang segment na B at C, kailangan nating i-power ang GPIO6 at GPIO16. Kaya't ang byte para sa pagpapaandar na 'PORT' ay magiging 0b00000110 at ang hex na halaga ng 'PORT' ay magiging 0x06. Sa parehong mga mataas na pin nakakakuha kami ng "1" na ipinapakita.
Isinulat namin ang mga halaga para sa bawat digit upang maipakita at maiimbak ang mga halagang iyon sa isang String of Character na pinangalanang 'DISPLAY' (Suriin ang seksyon ng Code sa ibaba). Pagkatapos ay tinawag namin ang mga halagang iyon isa-isa upang ipakita ang kaukulang digit sa display, gamit ang Function na 'PORT'.
Paliwanag sa Programming:
Kapag ang lahat ay konektado ayon sa diagram ng circuit, maaari nating buksan ang PI upang isulat ang programa sa PYHTON.
Pag-uusapan natin ang ilang mga utos na gagamitin namin sa programa ng PYHTON, Mag-a-import kami ng GPIO file mula sa silid-aklatan, sa ibaba ang pagpapaandar ay nagbibigay-daan sa amin upang mai-program ang mga pin ng GPIO ng PI. Pinapalitan din namin ang pangalan ng "GPIO" sa "IO", kaya sa programa tuwing nais naming mag-refer sa mga GPIO pin gagamitin namin ang salitang 'IO'.
i-import ang RPi.GPIO bilang IO
Minsan, kapag ang mga GPIO pin, na sinusubukan naming gamitin, ay maaaring gumagawa ng ilang iba pang mga pagpapaandar. Sa kasong iyon, makakatanggap kami ng mga babala habang isinasagawa ang programa. Sa ibaba ng utos ay sinasabi sa PI na huwag pansinin ang mga babala at magpatuloy sa programa.
IO.setwarnings (Mali)
Maaari naming i-refer ang mga GPIO pin ng PI, alinman sa pamamagitan ng pin number sa board o ng kanilang function number. Tulad ng 'PIN 29' sa pisara ay 'GPIO5'. Kaya sasabihin namin dito alinman na ilalarawan namin ang pin dito sa pamamagitan ng '29' o '5'.
IO.setmode (IO.BCM)
Nagtatakda kami ng 8 mga GPIO pin bilang mga output pin, para sa Data at Control pin ng LCD.
IO.setup (13, IO.OUT) IO.setup (6, IO.OUT) IO.setup (16, IO.OUT) IO.setup (20, IO.OUT) IO.setup (21, IO.OUT) IO.setup (19, IO.OUT) IO.setup (26, IO.OUT) IO.setup (12, IO.OUT)
Sakaling totoo ang kundisyon sa mga brace, ang mga pahayag sa loob ng loop ay naisasagawa nang isang beses. Kaya't kung ang bit0 ng 8bit na 'pin' ay totoo, ang PIN13 ay magiging TAAS, kung hindi man ay mababa ang PIN13. Mayroon kaming walong mga kundisyon na 'kung iba pa' para sa bit0 hanggang bit7, upang ang naaangkop na LED, sa loob ng 7 segment na display, ay maaaring gawing Mataas o Mababa, upang maipakita ang kaukulang Numero.
kung (pin & 0x01 == 0x01): IO.output (13,1) iba pa: IO.output (13,0)
Ang utos na ito ay nagpapatupad ng loop ng 10 beses, na nadagdagan mula 0 hanggang 9.
para sa x sa saklaw (10):
Ang utos sa ibaba ay ginagamit bilang walang hanggang loop, kasama ang utos na ito ang mga pahayag sa loob ng loop na ito ay patuloy na isasagawa.
Habang ang 1:
Ang lahat ng iba pang mga pag-andar at utos ay ipinaliwanag sa ibaba ng seksyong 'Code' sa tulong ng 'Mga Komento'.
Matapos isulat ang programa at ipatupad ito, ang Raspberry Pi ay nagpapalitaw ng mga kaukulang GPIO upang ipakita ang digit sa 7 Segment Display. Ang programa ay nakasulat para sa display upang mabilang nang tuluy-tuloy mula sa 0-9.