Rabu, 13 Maret 2019

Program Arduino dengan Sensor LDR dan Ultrasonik menggunakan Komunikasi CAN BUS

Program Slave

#include <mcp_can.h>        //menggunakan library MCP untuk CAN bus
#include <SPI.h>            //menggunakan library untuk sambungan SPI

//potensio for adjusting value
int Ping = 7;
int PingValue = 0;
int PingxValue = 0;

int potensioensio = A0;
int potensioensioValue = 0;
int potensioensioxValue = 0;

int ldr = A1;
int ldrValue = 0;
int ldrxValue = 0;

char data_input;
int PING = 2;
int potensio = 3;
int LDR = 6;

int button_1;
int button_2;
int button_3;

const int SPI_CS_PIN = 10;                //pin SPI pada Shield v1.0
MCP_CAN CAN(SPI_CS_PIN);                  // Set CS pin

void setup()
{
  Serial.begin(115200);                   // menyesuaikan baudrate menjadi 115200
  // init can bus, baudrate: 100k
  if (CAN.begin(CAN_500KBPS) == CAN_OK) Serial.print("can init ok!!\r\n");  // init can bus : baudrate = 500k
  else Serial.print("Can init fail!!\r\n");

  pinMode(Ping, INPUT);
  pinMode(potensio, INPUT);
  pinMode(ldr, INPUT);
}

//Some sample CAN messages
unsigned char msg1[8] = {0, 1, 2, 3, 4, 5, 6, 7};                         //deklarasi array msg1
unsigned char msg2[8] = {0xFF, 0x01, 0x10, 0x0A, 0x00, 0x00, 0x00, 0x00}; //deklarasi array msg2
unsigned char msg3[4] = {0xFF, 0x01, 0x10, 0x0A};                         //deklarasi array msg3

void loop()
{
  data_input = Serial.read();
  button_1 = digitalRead(Ping);
  button_2 = digitalRead(potensio);
  button_3 = digitalRead(ldr);
  // establish variables for duration of the Ping, and the distance result
  // in inches and centimeters:
  long duration, inches, cm;
  // The Ping))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:

  pinMode(Ping, OUTPUT);
  digitalWrite(Ping, LOW);
  delayMicroseconds(2);
  digitalWrite(Ping, HIGH);
  delayMicroseconds(5);
  digitalWrite(Ping, LOW);
  // The same pin is used to read the signal from the Ping))): a HIGH pulse
  // whose duration is the time (in microseconds) from the sending of the Ping
  // to the reception of its echo off of an object.
  pinMode(Ping, INPUT);
  duration = pulseIn(Ping, HIGH);
  // convert the time into a distance
  cm = microsecondsToCentimeters(duration);
  potensioensioValue = analogRead(potensioensio);
  potensioensioxValue = potensioensioValue / 4;                          //membagi nilai sensor dengan 4 lalu menjadikannya nilai cantxvalue
  ldrValue = analogRead(ldr);
  ldrxValue = ldrValue / 4;                          //membagi nilai sensor dengan 4 lalu menjadikannya nilai cantxvalue

  Serial.print("Nilai Ping(CM): ");                          //mencetak "cantxValue: "
  Serial.print(cm);                              //mencetak nilai cantxValue
  Serial.print("\tNilai potensioensio: ");                          //mencetak "cantxValue: "
  Serial.print(potensioensioxValue);                              //mencetak nilai cantxValue
  Serial.print("  \t");
  Serial.print("Nilai ldr: ");                          //mencetak "cantxValue: "
  Serial.print(ldrxValue);                              //mencetak nilai cantxValue
  Serial.println();
  delay(100);
    //Create data packet for CAN message
    unsigned char canMsg[3] = {cm, potensioensioxValue , ldrxValue};
    // send data:  id = 0x123, standrad frame, data len = 3, stmp: data buf
    CAN.sendMsgBuf(0x07B, 0, 3, canMsg); //mengirim data
    //ID CAN Bus di set menjadi 0x07B
    //frame standar
    //ukuran array len = 3
    //data array dari canMsg
    delay(50);                       // send data per 100ms
}

long microsecondsToCentimeters(long microseconds) {
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The Ping travels out and back, so to find the distance of the object we
  // take half of the distance travelled.
  return microseconds / 29 / 2;
}

Program Master

#include <mcp_can.h>               //menggunakan library MCP untuk CAN bus
#include <SPI.h>                   //menggunakan library untuk sambungan SPI
#include <LiquidCrystal.h>         //menggunakan library LiquidCrystal untuk LCD
#include <stdio.h>
#define INT8U unsigned char
#define INT32U unsigned char

char data_input;
int code;
INT8U Flag_Recv = 0;          //deklarasi Flag_recv = 0 dengan tipe data unsigned int 8
INT8U len = 0;                //deklarasi len = 0 dengan tipe data unsigned int 8
INT8U buf[8];                 //deklarasi buf = 0 dengan tipe data unsigned int 8
INT32U canId = 0x000;         //deklarasi canId = 0 dengan tipe data unsigned int 32
char str[20];

const int SPI_CS_PIN = 10;                //pin SPI pada Shield v1.0
MCP_CAN CAN(SPI_CS_PIN);                  // Set CS pin

void setup()
{

    CAN.begin(CAN_500KBPS);                   // init can bus : baudrate = 100k
    attachInterrupt(0, MCP2515_ISR, FALLING); // start interrupt
    Serial.begin(115200);                     // menyesuaikan baudrate menjadi 115200
}

void MCP2515_ISR()
{
     Flag_Recv = 1; //deklarasi nilai flag receiver
}

void loop()
{
     if(Flag_Recv)                   // check if data was recieved
     {
      Flag_Recv = 0;                // clear flag
      CAN.readMsgBuf(&len, buf);    // read data,  len: data length, buf: data buf
      canId = CAN.getCanId();       //mendapatkan id can bus
      //Print data to the serial console
      //and the LCD display
      Serial.println("PING    POT     LDR");
      //This loops through each byte of data and prints it
      for(int i = 0; i<len; i++)    // menampilkan data lalu data setelahnya dibaris selanjutnya
      {
        Serial.print(buf[i]);Serial.print("\t");    //mencetak nilai buf                     
      }
      Serial.println();
      delay(100);                                    //tunda waktu selama 50 milisekon
      }

}

Senin, 05 Desember 2016

contoh Proposal USAHA TEMPAT PENSIL DARI KALENG SUSU BEKAS

USAHA TEMPAT PENSIL DARI KALENG SUSU BEKAS







Disusun oleh : Nama Anda
Kelas : Kelas Anda



BAB I
LATAR BELAKANG USAHA
A.    Latar Belakang
            Kami membuat Tempat Pensil dari Kaleng Susu Bekas dilatar belakangi oleh :
-          Murah
-          Efektivitas tempat
-          Tidak bahaya bagi anak-anak
-          Dll

B.     Visi Usaha
Menjadikan usaha Tempat Pensil sebagai usaha kecil menengah yang diminati masyarakat serta agar mendapatkan keuntungan yang maksimal.

C.     Misi Usaha
- Menggunakan alat yang ramah lingkungan
- Mendistribusi dengan harga yang terjangkau

D.    Informasi Usaha
Usaha Tempat Pensil ini bisa diorder secara online dan khusus area Batam free ongkos kirim.



BAB II
TUJUAN DAN MANFAAT USAHA
A.    Tujuan Usaha
Adapun beberapa tujuan dalam usaha Tempat Pensil ini adalah :
-          Meningkatkan taraf hidup menjadi lebih baik untuk memperoleh keuntungan.
-          Untuk menerapkan jiwa berwirausaha
-          Memanfaatkan sampah dari lingkungan sekitar

B.     Manfaat Usaha
Adapun manfaat dari usaha Tempat Pensil bagi Pemilik :
-          Meningkatkan pendapatan dan memperoleh keuntungan.
Adapun manfaat dari usaha Tempat Pensil bagi Masyarakat :
-          Mampu memenuhi kebutuhan dan selera konsumen
-          Menciptakan lapangan pekerjaan








BAB III
PERENCANAAN OPERASIONAL
A.    Lokasi Usaha
Usaha ini berlokasi di Kampung Baru Indosat RT/RW 04/06, Sekupang, Batam

B.     Struktur Organisasi
Pimpinan Perusahaan  : Nama
Pemasaran                   : Anda
Produksi                      : Nama Anda

C.     Peralatan dan Bahan Produksi
Alat :                                                                           Harga
Gunting                                                                       3.000
Lem                                                                             5.000

Bahan :                                                                       
Kain Flanel                                                                  8.000
Kaleng susu bekas                                                      

D.    Proses Produksi
1.      Siapkan Kain flanel dan gunting sesuai ukuran kaleng, lebihkan 3-5 Cm untuk menutup kedalam bagian kaleng.
2.      Rekatkan kain flannel dengan lem
3.      Hiasi kaleng dengan sisa kain flannel
4.      Barang (Tempat Pensil) siap dijual

E.     Kapasitas Produksi
Biasanya perhari bisa memproduksi 3 barang jadi dengan jam kerja 09.00 – 15.00


BAB IV
PERENCANAAN PEMASARAN
A.    Pangsa Pasar  
Pangsa pasar untuk usaha Tempat Pensil bisa Lokal dan Nasioanl. Dari kalangan masyarakat bawah hingga atas bisa menjadi target pasar, dengan pangsa pasar yang luas itu maka peluang bisnis juga terbuka lebar. Target pasar adalah masyarakat yang suka menghias suasana rumahnya dengan hal kecil yang berupa Tempat Pensil.

B.     Strategi Pemasaran
Berikut ini uraian mengenai rencana strategi pemasaran pesaing yang terdiridari bauran pemasaran product,price, promotion,place (4P) :
1.Product  (produk) :
Produk Tempat Pensil dikemas oleh kardus yang diberi label atas nama brand nya.
2  Price (harga) :
Tempat Pensil bisa dijual per satuan barang dengan harga Rp. 25.000/barang.
3.Promotion (promosi) :
Media online : twitter, facebook, instagram, dan bbm







BAB IV
PERENCANAAN KEUANGAN
A.    Biaya Investasi Awal
16.000/ per Kaleng

B.     Biaya  Produksi
a) Biaya Tetap
Peralatan         = Rp. 8.000
Bahan              = Rp. 8.000
Jumlah = Rp. 16.000
Perhari di x 3   = Rp 48.000/hari

b) Biaya variable
Bahan baku     = Rp. 24.000/ hari

c) Total Cost   = Rp. 72.000/hari

C.     Proyeksi Rugi/Laba
Harga jual Rp 25.000 dengan harga awal Rp 16.000 sehingga Laba yang didapatkan
Rp 25.000 – Rp 16.000 = Rp 9.000
Jika perharinya diproduksi 3 barang jadi Laba perhari adalah

Rp 75.000 – Rp 48.000 = Rp 27.000/hari