1. Menampilkan Counter 0 - 9 pada 7-segmen.
Gambar 1. Tampilan Counter 0-9 pada 7-segmen 1 digit
Kode Program:
- int a = 0;
- void setup() {
- for (int i = 0; i < 4; i++) {
- pinMode(i + 8, OUTPUT);
- }
- }
- void loop() {
- digitalWrite(8, bitRead(a, 0));
- digitalWrite(9, bitRead(a, 1));
- digitalWrite(10, bitRead(a, 2));
- digitalWrite(11, bitRead(a, 3));
- a++;
- if (a > 9) a = 0;
- delay(1000);
- }
2. Membaca potensio dan menampilkan nilainya pada 7-segmen 4 digit.
Gambar 2. Tampilan nilai analog Potensio pada 7-segmen 4 digit dan Serial Monitor
Kode Program:
- #include <SevSeg.h>
- SevSeg sevseg;
- void setup() {
- byte numDigits = 4;
- byte digitPins[] = {2, 3, 4, 5};
- byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13};
- bool resistorsOnSegments = false; // 'false' means resistors are on digit pins
- byte hardwareConfig = COMMON_ANODE; // See README.md for options
- bool updateWithDelays = false; // Default 'false' is Recommended
- bool leadingZeros = false; // Use 'true' if you'd like to keep the leading zeros
- bool disableDecPoint = true;
- sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
- updateWithDelays, leadingZeros, disableDecPoint);
- sevseg.setBrightness(90);
- Serial.begin(9600);
- }
- void loop() {
- static unsigned long timer = millis();
- if (millis() - timer >= 100) {
- timer = millis();
- int a = analogRead(A0);
- Serial.println(a);
- sevseg.setNumber(a);
- }
- sevseg.refreshDisplay(); // Must run repeatedly
- }
3. Membaca potensio dan menampilkan nilainya pada LCD I2C.
Gambar 3. Tampilan nilai analog Potensio pada LCD I2C dan Serial Monitor
Kode Program:
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27, 16, 2);
- void setup() {
- Serial.begin(9600);
- lcd.init();
- lcd.clear();
- }
- void loop() {
- int a = analogRead(A0);
- Serial.println(a);
- lcd.print(" ");
- lcd.setCursor(0, 0);
- lcd.print(a);
- delay(100);
- }
4. Membaca potensio dan menampilkan nilainya pada OLED I2C.
Gambar 4. Tampilan nilai analog Potensio pada OLED dan Serial Monitor
Kode Program:
- #include <Wire.h>
- #include <Adafruit_GFX.h>
- #include <Adafruit_SSD1306.h>
- #define SCREEN_WIDTH 128 // OLED display width, in pixels
- #define SCREEN_HEIGHT 64 // OLED display height, in pixels
- Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
- void setup() {
- Serial.begin(9600);
- if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3D)) {
- Serial.println(F("SSD1306 allocation failed"));
- for (;;)
- ;
- }
- display.setTextColor(WHITE);
- }
- void loop() {
- int a = analogRead(A0);
- Serial.println(a);
- display.clearDisplay();
- display.setTextSize(1);
- display.setCursor(0, 0);
- display.print("Nilai Potensio: ");
- display.setTextSize(2);
- display.setCursor(0, 10);
- display.print(a);
- display.display();
- delay(100);
- }
Link download file Proteus dan kode Program no. 1 - 4:
No comments:
Post a Comment