Attiny85-shiftlcd riktning upptäckt (2 / 3 steg)
Steg 2: programvara
Än själva koden är bara ytterligare behovet LiquidCrystal595.h biblioteket som du kan ladda ner och installera till din arduino IDE. Det finns flera källor.
Det finns några olika sätt att läsa koden till Attiny85 mikrokontroller men i detta instructable Arduino som ISP metod användes.
Jag har sett i några publikationer att en 10uF kondensatorn behövdes men för mig var det inte. För att spara dig själv lite krångel, måste du ansluta din arduino USB direkt till din dator, kontrollera följande:
Styrelsen: ATtiny
Processor: ATtiny85
Klocka: 1MHz intern (##DO inte välja externa om inte du vet vad du gör ##)
Port: detta kan variera
Programmerare: Arduino som ISP *
* Följ anvisningarna om hur du använder Arduino som ISP. Anslut inte ATtiny85 för programmering tills alla av ovanstående villkor är uppfyllda.
Skiss
#include < LiquidCrystal.h > / / include detta bibliotek
LiquidCrystal595 lcd(0,1,2); datapin, latchpin, clockpin
int pot = A2; Ingående potentiometer
int val; aktuella potten värdet
int föregående; tidigare potten värde
void setup() {
LCD.BEGIN(16,2); 16 tecken, 2 rader
LCD.Clear(); Rensa skärmen
pinMode (potten, indata); förklarar A2 indata
}
void loop() {
Prev = val;
Val = analogRead(pot); Läs potten som värde mappas
Val = karta (val, 0, 1023, 0, 99); kartor i val till 0-99, detta kan vara något intervall du väljer
lcd.setCursor(0,1); 2: a raden längst till vänster
IF(val < Prev) {//CCW riktning
LCD.Print ("<<<<");
} annat lcd.print("---");
lcd.setCursor(6,1); 2: a raden mitten
IF(val==Prev) {//no tur
LCD.Print("stop");
} annat lcd.print("---");
lcd.setCursor(11,1); 2: a raden längst till höger
om (val > föregående) {//CW riktning
LCD.Print (">>>>");
} annat lcd.print("---");
lcd.setCursor(7,0);
LCD.Print(val); skriver ut den mappade val
Delay(10);
LCD.Print(""); inte anta skriva ut vad är inte att
Delay(1);
}