Med en I2C LCD på Attiny85
Med en LCD-skärm på ett litet chip som en attiny85 inte är riktigt så hårt och tills nyligen jag inte ens tänka det motiverat en instructable, men jag har fått frågor om det, så jag kan också utveckla processen.
Med attiny baserat att endast ha ett max på 6 pins tillgänglig, det är självklart att det direkt inte kan kontrollera alla stiften av standard Hitachi LCD
Lite över ett år sedan, jag beskrivs hur du lägger till en LCD-skärm till en Attiny eller andra chip, med endast 2 stift. Denna krets har använt en HC164 SKIFT register, men som I2C moduler för LCD är extremt billigt och även LCD med en modul redan på plats också är smuts billigt, man kan också använda I2C på Attiny85.
I2C
Attiny85 kan simulera I2C på PB2 (stift 7) (SCL) och PB0 (pin 5) (SDA). "Tråd" biblioteket som används för att läsa och skriva byte från och till I2C-porten på arduino fungerar inte på attiny. Den behöver TinyWireM biblioteket att agera som en ledar-I2C
Bibliotek
Standardbiblioteket för Arduino kan inte användas för I2C på Attiny eftersom det ett samtal till "Wire.h" och att man är inte kompatibel med Attiny.
'NewLCD' biblioteket från Francisco Malpartida är min favorit bibliotek, men också att man misslyckas med I2C för Attiny eftersom det gör ett anrop till Wire biblioteket. En ändring till göra den arbeta med Attiny85 kan hittas här.
"Bro Hogan" biblioteket men fungerar. Det är i grunden samma bibliotek som standard arduino LCD biblioteket, men det är modifierad för att känna igen Attiny85 och Attiny2313 och sedan gör ett anrop till "TinyWireM" istället för "Tråd".
Adafruit ger också en libray som fungerar med Attiny85 och som beskrivs i en annan instructable. Jag kommer att använda Bro Hogan biblioteket här.
Att undvika problem
De flesta problem som kan uppstå är relaterade till IDE att bli förvirrade när det gäller bibliotek. Om du använder Arduino LCD-standardbiblioteket, ersätta bästa den genom Bro Hogan biblioteket. Om du använder Malpartidas biblioteket och vill hålla det (som det är ett bra bibliotek), flytta den ur vägen. Ta hela mappen och flytta det mappen sketchbook/bibliotek. Kontrollera att du har TinyWireM biblioteket installerat och se till att dina bibliotek är uppdaterade.
Om av någon anledning du inte kan eller vill inte flytta det Malpartida biblioteket ur vägen, antingen byta namn på LiquidCrystal_I2C.h och LiquidCrystal_I2C.cpp modulerna i biblioteket, eller lägga BroHogan LiquidCrystal_I2C.h och LiquidCrystal_I2C.cpp filer i katalogen skiss (och ändra anropet fraktfartygens i parentes).
Programmering av Attiny
Jag antar att du vet hur man gör. Ändå kör jag du genom några fallgropar:
Bränna bootloader!!! Jag är nog säga saker de flesta redan vet men du skulle bli förvånad hur många som inte vet.
Nu uppenbarligen finns det ingen bootloader för attiny85, men processen att bränna bootloader anger säkringarna av den attiny från fabriksläget, till det läge du vill använda den i. Så, förutsätta att du använder Arduino som ISP:
Ladda upp programmet ISP till din Arduino,
sätta attiny i din program sköld
Gå till "Verktyg-Board" -> Välj "Attiny"
Gå till "Verktyg-Processor" -> Välj Attiny85
Gå till "Verktyg-klocka" -> Välj 8 Mhz (eller 1 om du föredrar)
Gå till "Verktyg-Burn bootloader"
gjort.
Sedan ladda upp programmet (se nästa steg) till IDE
Gå till 'Skiss-Upload använder programmerare'
gjort
"Hej, min IDE säger det finns uppdateringar för några bibliotek"
Nyare versioner av IDE kommer berätta för dig när det finns uppdateringar för några av dina bibliotek och ofta, flytande kristaller biblioteket föreslås också för en uppdatering. Inte om du har Bro Hogan biblioteket, det kommer att ersättas av exempelvis YW robot biblioteket, medan Malpartida biblioteket kommer förmodligen att helt tas bort.
Ansluta LCD.
I2C-modul har 4 anslutningar: Vcc, SCL, SDA, marken.
de ansluter följande till Attiny:
Attiny85 <> - LCD
VCC (pin8) <> - Vcc
SCL (pin7) <> - SCL
SDA (pin5) <> - SDA
GND (pin4) <> - GND