Facebook
From Queen Duck, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 337
  1. #include <SPI.h>
  2. #include <Wire.h>
  3. #include <Adafruit_GFX.h>
  4. #include <Adafruit_SSD1306.h>
  5.  
  6. #define sensor  14
  7. #define SCREEN_WIDTH 128 // OLED display width, in pixels
  8. #define SCREEN_HEIGHT 64 // OLED display height, in pixels
  9. #define OLED_RESET     4 // Reset pin # (or -1 if sharing Arduino reset pin)
  10. Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
  11.  
  12.  
  13. int previous_state = 0;
  14. unsigned long time1, time2, calc;
  15. float to_disp, to_disp_2;
  16.  
  17.  
  18. void setup() {
  19.  
  20.   Serial.begin(9600);
  21.   // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  22.   if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C))  // Address 0x3C for 128x64
  23.     Serial.println("SSD1306 allocation failed");
  24.     for(;;); // Don't proceed, loop forever  
  25.   pinMode(sensor, INPUT);
  26.   display.clearDisplay ();
  27.   display.setTextSize(1);
  28.   display.setTextColor(WHITE);
  29.   display.setCursor(0,0);
  30.   display.println(F("Laser"));
  31.   display.setCursor(12,10);
  32.   display.println(F("Shutter"));
  33.   display.setCursor(24,20);
  34.   display.println(F("Tester"));
  35.   display.setCursor(90,50);
  36.   display.println(F("v. 1.0a"));
  37.   display.display();
  38.   delay(3000);
  39.   display.clearDisplay();
  40.   display.setTextSize(3);
  41.   display.setTextColor(WHITE);
  42.   display.setCursor(20,20);
  43.   display.println(F("Ready..."));
  44.   display.display();
  45. }
  46.  
  47. void wyswietl(float wartosc)
  48. {
  49.   display.clearDisplay();
  50.   if (wartosc <1.0 )
  51.     {
  52.       to_disp_2 = 1.0/wartosc;
  53.       display.setTextSize(2);             // Normal 1:1 pixel scale
  54.       display.setCursor(20,14);
  55.       display.println(F("1"));
  56.       display.drawLine(5,32,42,32, WHITE);
  57.       display.setCursor(25,34);
  58.       display.println(to_disp_2,DEC);
  59.       display.drawLine(50,0,50,64, WHITE);
  60.       display.setCursor(60,24);
  61.       display.println(wartosc,DEC);
  62.       display.setCursor(110,23);
  63.       display.println(F("[s]"));
  64.     }
  65.   else
  66.     {
  67.     display.setCursor(15,20);
  68.     display.println(wartosc,DEC);
  69.     display.setCursor(100,20);
  70.     display.println(F("s"));
  71.     }
  72.   display.display();
  73. }
  74.  
  75.  
  76. void loop() {
  77.  
  78.   int sensorState = digitalRead(sensor);
  79.   if (previous_state == 0 && sensorState == HIGH)
  80.     {
  81.       time1 = millis();
  82.       previous_state = 1;
  83.     }
  84.   else if (previous_state == 1 && sensorState == LOW)
  85.     {
  86.       time2 = millis();
  87.       previous_state = 0;
  88.       calc = time2-time1;
  89.       to_disp = float(calc)/1000;
  90.       wyswietl(to_disp);
  91.     }
  92.    
  93.   delay(10);
  94. }

Replies to Untitled rss

Title Name Language When
Re: Untitled Sweet Octupus text 5 Years ago.