Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!
Hardi Kurnianto
Published

"SSL" Restore the Independence for Disabilities Classmate

My classmates with disabilities can study together in class, I made a stair lift with additional position monitoring to make it easier

IntermediateFull instructions provided18 hours127
"SSL" Restore the Independence for Disabilities Classmate

Things used in this project

Hardware components

DFRobot FireBeetle ESP8266 IoT Microcontroller (Supports Wi-Fi)
×1
DFRobot Microswitch-5A/250V
×1
PG45 500Rpm 25kgfcm 60W 7ppr encoder
×1
IBT-2 H-Bridge
×1
60W PCIe 12V 5A Power Supply
Digilent 60W PCIe 12V 5A Power Supply
×1
Adjustable Stepdown 3A Step Down LM2596S + LED Voltmeter
×1
Gravity:Digital Push Button (Yellow)
DFRobot Gravity:Digital Push Button (Yellow)
×1

Software apps and online services

Arduino IDE
Arduino IDE
Arduino IoT Cloud
Arduino IoT Cloud

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Solder Wire, Lead Free
Solder Wire, Lead Free
10 Pc. Jumper Wire Kit, 20 cm Long
10 Pc. Jumper Wire Kit, 20 cm Long

Story

Read more

Custom parts and enclosures

design_models_2_idq9EQOu8T.png

Schematics

Schematics

Block Diagram System

Code

SSL_Code

Arduino
#include "thingProperties.h"

//inisialisasi Pin
unsigned int forward  = D6;
unsigned int backward = D5;
unsigned int Buttonup = D2;
unsigned int Buttondown = D4;
unsigned int lmswtcup   = D1;
unsigned int lmswtcdown = D3;

void setup() {
  Serial.begin(9600); // Initialize serial and wait for port to open:
  delay(1500); // This delay gives the chance to wait for a Serial Monitor without blocking if none is found
  initProperties(); // Defined in thingProperties.h
  ArduinoCloud.begin(ArduinoIoTPreferredConnection); // Connect to Arduino IoT Cloud
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
  //deklarasi pin mode
  pinMode(forward,    OUTPUT);
  pinMode(backward,   OUTPUT);
  pinMode(Buttonup,   INPUT_PULLUP);
  pinMode(Buttondown, INPUT_PULLUP);
  pinMode(lmswtcup,   INPUT_PULLUP);
  pinMode(lmswtcdown, INPUT_PULLUP);
}

void loop() {
  ArduinoCloud.update();
  onPosisiChange();
  if (buttonup)
  {
    digitalWrite(forward,  HIGH);
    digitalWrite(Backward, LOW);
  }
  if (buttondown)
  {
    digitalWrite(forward,  LOW);
    digitalWrite(Backward, HIGH);
  }
  
}

void onPosisiChange()  {
  int data1 = digitalRead(lmswtcup);
  int data2 = digitalRead(lmswtcdown);
  if (data1 == HIGH && data2 == LOW)
  {Serial.println("I Am on the TOP")}
  if (data2 == HIGH && data1 == LOW)
  {Serial.println("I Am on the Bottom")}
}

void onUpChange()  {
  
}

void onDownChange()  {

}

Credits

Hardi Kurnianto

Hardi Kurnianto

17 projects • 16 followers
Master student at Intelligent Control and Systems Engineering Department

Comments