I2C toetsenblok (3 / 3 stap)

Stap 3: code

De code implementeert het standaard toetsenbord scan routine door te lezen en te schrijven naar de I2C-chip. Het toetsenblok wordt gescand door een kolom te selecteren en dan het lezen van de rijen om te zien welke een van de knoppen wordt gedrukt.

Eerst komt de I2C-chip in schrijfmodus en al de pennen (rijen en kolommen) hoog, met uitzondering van de kolom die we willen scannen zijn ingesteld, deze laag is ingesteld. Na die wij stellen de I2C-chip in de leesmodus en lees de pinnen. Als een van de knoppen op de geselecteerde kolom wordt ingedrukt, verbindt de pin van de rij die is aangesloten op de laag wordt getrokken omdat de knop de rij- en kolomvelden pin. Nu kunnen we de waarde van de knop bepalen, want we de rij en de kolom waarde hebben. Als geen van de rijen laag is, wij de volgende kolom selecteren en nogmaals door te lezen.

De waarde van de knop wordt vervolgens verzonden via I2C en UART naar de uitvoer, in dit geval de 7 segment display (I2C) en een seriële terminal (UART) lopende voort mijn computer.

Gerelateerde Artikelen

Arduino Nano: I2C Matrix toetsenbord met PCF8574/PCF8574A GPIO en Visuino

Arduino Nano: I2C Matrix toetsenbord met PCF8574/PCF8574A GPIO en Visuino

Matrix Keypads behoren tot de eenvoudigste en meest populaire manieren om het toetsenbord gegevens invoeren in de Arduino type micro-controllers. Ik maakte al een Instructable tonen hoe u toetsenbord kunt verbinden met Arduino Nano. Downside is dat o
Telefooncel toetsenblok Breakout

Telefooncel toetsenblok Breakout

Ik kreeg een telefooncel door mijn buurman (hij had de vergadering van de daadwerkelijke telefoon verwijderd) en ik ben niet zeker wat ik wil doen, gewoon nog niet. Maar ik weet dat wat ik doe, zal ik willen kunnen gebruiken van de verschillende dele
Arduino - LCD 1602A I2C - wachtwoord beveiligde deur toegang met Relay - KY-019

Arduino - LCD 1602A I2C - wachtwoord beveiligde deur toegang met Relay - KY-019

Hallo mensen! Vandaag maakte ik een eenvoudige code om te bepalen van een elektrische staking slot met een wachtwoord / toegang Code met behulp van een 1-kanaals Relais. Ik heb geen dergelijke een sluis maar ik blijk gegeven van het met een lamp aang
Intel Edison: Pinlock (toetsenblok)

Intel Edison: Pinlock (toetsenblok)

Wilt u uw dingen vergrendelen?Dan is dit de keuze voor u.U kunt een 1-cijferige pin 9 cijferige pin-code "code"!Ik denk dat het 9 cijferige mooi over reageren is, maar niets ook veilig vandaag is.Bekijk de video om te zien hoe het werk van.Van d
1602 LCD Keypad schild Module met I2C rugzak

1602 LCD Keypad schild Module met I2C rugzak

Ik wilde als onderdeel van een groter project, hebben een LCD-scherm en een toetsenbord voor navigatie van sommige eenvoudige menu's. Ik zal met behulp van veel van de I/O poorten op de Arduino voor andere banen, dus ik een I2C-interface voor het LCD
Raspberry Pi I2C (Python)

Raspberry Pi I2C (Python)

In dit instructable, zal ik uitleggen hoe gebruik I2C op de Pi, met de voorbeelden van de CMPS03 kompas module en ultrasone SRF08 bereik, met behulp van python. Recht door het installeren van de OS, om ervoor te zorgen dat de afhankelijkheden en alle
De ratPhone - 3 G FONA Arduino cellulaire mobiele telefoon met Retro drukknop toetsenblok en Rat vangen App

De ratPhone - 3 G FONA Arduino cellulaire mobiele telefoon met Retro drukknop toetsenblok en Rat vangen App

Never mind de iPhones en Androids. Hier is de ratPhone! Dit is zeker niet een slimme telefoon. Maar het is niet een domme telefoon hetzij. U zal niet zitten kundig voor eindeloze uren afval op Facebook of Twitter, maar het zal helpen u vangen van rat
Raspberry Pi: Met 1 rugzakken $ I2C LCD voor 1602 schermen & knoppen!

Raspberry Pi: Met 1 rugzakken $ I2C LCD voor 1602 schermen & knoppen!

Hallo! Ik ben Arsenijs, ik houd bouwen dingen met Raspberry Pi's en de laatste tijd ik heb gewerkt met teken weergegeven, evenals hun I2C-rugzakken, dus ik heb verzameld enkele hacks die ik je kan laten zien. Vandaag zal ik u vertellen hoe te bespare
Raspberry Pi - HIH6130 I2C vochtigheid & Temperatuur Sensor Python Tutorial

Raspberry Pi - HIH6130 I2C vochtigheid & Temperatuur Sensor Python Tutorial

HIH6130 is een vochtigheid en temperatuursensor met digitale uitgang. Deze sensoren bieden een nauwkeurigheidsniveau van ±4% RH. Met toonaangevende langetermijnstabiliteit, waar temperatuur-gecompenseerd digitale I2C, toonaangevende betrouwbaarheid,
Met behulp van een I2C LCD op Attiny85

Met behulp van een I2C LCD op Attiny85

Met behulp van een LCD-scherm op een kleine chip als een attiny85 niet echt zo hard en tot is recente ik niet eens het gerechtvaardigd een instructable, maar ik heb vragen over, dus ik kan ook ingaan op het proces.Met de attiny gebaseerde slechts met
ATTiny85 verbindt met I2C OLED-display - grote dingen kunnen kleine

ATTiny85 verbindt met I2C OLED-display - grote dingen kunnen kleine

Ik kwam onlangs over een klein OLED-display die ik ook voor een ander project gebruikt. Deze keer dacht ik dat een kleine display kan worden aangestuurd door een kleine processor van [AT]:).De visie is - "Maak een kleine gaming machine"Ook is de
CoPiino loopt kleine I2C OLED display

CoPiino loopt kleine I2C OLED display

Er zijn projecten waar ik vastmaken van een kleine display wilt voor het snel uitzoeken op de huidige status. Een vrij goed voorbeeld is mijn recente project "Controle van de vochtigheid van de CoPiino".Het is briljant om een website met alle re
Magic 8 Ball Esp8266 en I2c LCD-scherm met

Magic 8 Ball Esp8266 en I2c LCD-scherm met

Ik dacht dat het zou een beetje leuk om te maken een Magic 8 Ball met behulp van een Arduino en een i2c LCD-scherm, dus hier zijn sommige instructies op hoe dit te doen.Stap 1: Spullen die je zal nodigVan een soort Arduino (ik gebruik een esp8266 maa
Arduino thermostaat met 2 x DS18b20 i2c 4 x 16 Display, 2 RGB LED's en 3 Relais

Arduino thermostaat met 2 x DS18b20 i2c 4 x 16 Display, 2 RGB LED's en 3 Relais

het doel van het Project is een thermostaat voor mijn 2 Fish Tank met LCD Display RGB LED een Relay te controleren van de kachel in de Tankeen een Cooling Fan [PEVF voor de grote FishtankDelen:Arduino Nano of gelijke2 x RGB LED's of RGB SMD LED of Eé