Stap 2: Software
Dan de code zelf is de enige extra behoefte de LiquidCrystal595.h-bibliotheek die u kunt downloaden en installeren op je arduino IDE. Er zijn verschillende bronnen.
Er zijn een paar verschillende manieren voor het laden van de code voor de Attiny85 microcontroller, maar in dit instructable de Arduino als ISP methode werd gebruikt.
Ik heb gezien in het aantal publicaties dat een condensator 10uF nodig was, maar voor mij was het niet. Om jezelf te redden wat gedoe, zorg dat je arduino USB rechtstreeks aansluiten op uw computer, dubbel te controleren het volgende:
Bestuur: ATtiny
Processor: ATtiny85
Klok: 1MHz interne (##DO niet Selecteer externe tenzij je weet wat je doet ##)
Poort: dit kan variëren
Programmeur: Arduino als ISP *
* Volg aanwijzingen over het gebruik van de Arduino als ISP. Geen verbinding maken met de ATtiny85 voor het programmeren van totdat aan alle bovenstaande voorwaarden wordt voldaan.
Schets
#include <LiquidCrystal.h> // include this library LiquidCrystal595 lcd(0,1,2); // datapin, latchpin, clockpin int pot = A2; //Input potentiometer int val; //current pot value int prev; //previous pot value void setup() { lcd.begin(16,2); // 16 characters, 2 rows lcd.clear(); // clear screen pinMode(pot, INPUT); //declares A2 an INPUT } void loop() { prev = val; val = analogRead(pot); //read the pot as value to be mapped val = map(val, 0, 1023, 0, 99); //maps the val to 0-99, this could be any range you choose lcd.setCursor(0,1); //2nd row far left if(val < prev) { //CCW direction lcd.print("<<<<"); }else lcd.print("----"); lcd.setCursor(6,1); //2nd row middle if(val==prev) { //no turn lcd.print("STOP"); } else lcd.print("----"); lcd.setCursor(11,1); //2nd row far right if (val > prev) { //CW direction lcd.print(">>>>"); } else lcd.print("----"); lcd.setCursor(7,0); lcd.print(val); //prints the mapped val delay(10); lcd.print(" "); //doesnt print what isnt suppose to delay(1); }