Solder

Alat Solder

Definisi solder adalah “material logam yang mempunyai titik lebur yang relatif lebih rendah daripada material logam yang akan disambung “. Dengan kata lain, solder dipanaskan sampai meleleh, kemudian membeku dan melekat di permukaan papan circuit secara bersamaan. Menyolder bisa juga seperti mengelem dengan logam cair, tetapi tidak seperti pengelasan dimana logam dasar sebenarnya mencair bersamaan. Solder sering digunakan dalam keterampilan seperti pekerjaan listrik dan elektronik.

Alat pemanas solder.

Hal pertama yang Anda butuhkan adalah pemanas solder, yaitu berupa alat yang mempunyai sumber panas dari daya listrik yang dapat digunakan untuk melelehkan solder. Dalam perakitan elektronika pemanas solder biasanya mempunyai temperatur  panas sebesar 90 sampai dengan 150 derajat Celsius dengan kebutuhkan daya listrik pada kisaran 15W  s/d 30W .  Jika digunakan pemanas yang lebih tinggi atau dengan watt yang lebih tinggi, dapat berisiko merusak komponen maupun papan circuit. Jika Anda berniat untuk solder komponen berat dan kawat tebal, maka Anda dapat menggunakan watt yang lebih tinggi (40W  ke atas).

Sketch My First Robot

// Compact, a small Arduino (Uno) robot
// 2 micro motors 100:1 and small wheels,
// one HXT900 micro servo, one Sharp IR sensor,
//
// Arduino pinout:
//
// Shield  Funct Arduino  ATmega328      Arduino Funct Shield
//                       +-----\/----+
//          Reset       1| PC6   PC5 |28  D19 A5  SCL  
//          Rx    D0    2| PD0   PC4 |27  D18 A4  SDA  
//          Tx    D1    3| PD1   PC3 |26  D17 A3        
//          Int0  D2    4| PD2   PC2 |25  D16 A2        
//          Int1  D3    5| PD3   PC1 |24  D15 A1        
//      M1B       D4    6| PD4   PC0 |23  D14 A0        IR sensor
//                      7| VCC   GND |22  
//                      8| GND  AREF |21  
//          Xtal        9| PB6  AVCC |20  
//          Xtal       10| PB7   PB5 |19  D13      SCK  LED      
//      M1A OC0B  D5   11| PD5   PB4 |18  D12      MISO Pan servo
//      M2A OC0A  D6   12| PD6   PB3 |17  D11 OC2A MOSI       
//      M2B       D7   13| PD7   PB2 |16  D10 OC1B      
//                D8   14| PB0   PB1 |15  D 9 OC1A      
//                       +-----------+
//

#include <Servo.h>

//Inputs/outputs
#define Motor_1_PWM   3 // digital pin 5    // Right Motor
#define Motor_1_Dir   4 // digital pin 4
#define Motor_2_PWM   5 // digital pin 6   // Left Motor
#define Motor_2_Dir   6 // digital pin 7

#define IR_Pin  14 // digital pin 14 (analog pin 0)
#define PanPin  12
#define LedPin  13

#define SR 1 //Sharp Short Range sensor
#define MR 2 //Sharp Medium Range sensor
#define LR 3 //Sharp Long Range sensor

#define center 90

//Variables
byte dir=0;
byte speed1=250; //250
byte speed2=255; //255
int turn90=600;  //110
int turn45=300;   //55
int straight=500;
int stopTime=200;
int IRdistance=0;
int treshold=20; //20cm min distance

Servo Pan; 

//-----------------------------------------------------------------------------

void setup() {
  // set motor pins as output and LOW so the motors are breaked
  pinMode(Motor_1_PWM, OUTPUT);
  pinMode(Motor_1_Dir, OUTPUT);
  pinMode(Motor_2_PWM, OUTPUT);
  pinMode(Motor_2_Dir, OUTPUT);
  Stop();

  Pan.attach(PanPin);
  Pan.write(center); //90
  StepDelay();

  pinMode(LedPin, OUTPUT);
  digitalWrite(LedPin, LOW);  

  Serial.begin (19200);
  Serial.println("start");

  Forward();
} 

void loop(){
  Drive();
  //square(); //use this function to adjust the timings for turns
                 //and to make sure the robot is driving in straight lines
}

void square(){
  Forward();
  delay(straight);
  Stop();
  delay(stopTime);
  Right();
  delay(turn90);
  Stop();
  delay(stopTime);
  Forward();
  delay(straight);
  Stop();
  delay(stopTime);
  Right();
  delay(turn90);
  Stop();
  delay(stopTime);
  Forward();
  delay(straight);
  Stop();
  delay(stopTime);
  Right();
  delay(turn90);
  Stop();
  delay(stopTime);
  Forward();
  delay(straight);
  Stop();
  delay(stopTime);
  Right();
  delay(turn90);
  Stop();
  delay(stopTime);
}

//--------------------------

void Drive(){
  IRdistance=Read_Sharp_Sensor(MR, IR_Pin);
  Serial.print("IRdistance ");
  Serial.println(IRdistance);
  if (IRdistance<10){
    Stop();
    StepDelay();
    TurnAround();
  }
  if (IRdistance<treshold){
    Stop();
    StepDelay();
    Avoid();
    Forward();
  }
  delay(50);
}

void TurnAround(){
    Reverse();
    Pan.write(center);
    StepDelay();
    Stop();
    Left();
    delay(turn90);
    delay(turn90);
    Stop();
    StepDelay();
    Forward();
}

void Avoid(){
  int prev=0;
  dir=2;
  for (byte i=0; i<5; i++){
    Pan.write(i*45);
    StepDelay();
    StepDelay();
    IRdistance=Read_Sharp_Sensor(MR, IR_Pin);
    if (IRdistance>prev){
      dir=i;
      prev=IRdistance;
    }
  }
  Pan.write(center);
  StepDelay();
  switch (dir){
    case 0:
      Right();
      delay(turn90);
      Stop();
      StepDelay();
      break;
    case 1:
      Right();
      delay(turn90); //turn45
      Stop();
      StepDelay();
      break;
    case 2:
      Forward();
      break;
    case 3:
      Left();
      delay(turn90); //turn45
      Stop();
      StepDelay();
      break;
    case 4:
      Left();
      delay(turn90);
      Stop();
      StepDelay();
      break;
  }
  delay(500);
}  

// Read Sensors

int Read_Sharp_Sensor(byte model, byte pin) {
  int value = 0;
  value = analogRead(pin);
  switch (model) {
    case SR: //short range, aka GP2D120 (4-30cm)
      return (2914/(value+5))-1;
      break;
    case MR: //medium range, aka GP2D12 (10-80cm)
      return 5*1384.4*pow(value,-.9988); //I had to multiply by 5, different sensor
      break;
    case LR: //long range, aka GP2Y0A02YK (20-150cm)
      return 11441*pow(value,-.9792);
      break;
  }
}

void StepDelay() {
    for (byte t=0; t<10; t++){
      delay(20);
    }
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

void Forward(){
  digitalWrite(Motor_1_Dir, LOW); // forward
  digitalWrite(Motor_2_Dir, LOW); // forward
  analogWrite(Motor_1_PWM, speed1); // 
  analogWrite(Motor_2_PWM, speed2); //
  return;
}

void Reverse(){
  digitalWrite(Motor_1_Dir, HIGH); // reverse
  digitalWrite(Motor_2_Dir, HIGH); // reverse
  analogWrite(Motor_1_PWM, 255-speed1); // 
  analogWrite(Motor_2_PWM, 255-speed2); //
  return;
}

void Right(){
  digitalWrite(Motor_1_Dir, HIGH); // reverse
  digitalWrite(Motor_2_Dir, LOW); // forward
  analogWrite(Motor_1_PWM, 255-speed1); // 
  analogWrite(Motor_2_PWM, speed2); //
  return;
}

void Left(){
  digitalWrite(Motor_1_Dir, LOW); // forward
  digitalWrite(Motor_2_Dir, HIGH); // reverse
  analogWrite(Motor_1_PWM, speed1); // 
  analogWrite(Motor_2_PWM, 255-speed2); //
  return;
}

void Stop()
{
  digitalWrite(Motor_1_PWM, LOW);
  digitalWrite(Motor_1_Dir, LOW);
  digitalWrite(Motor_2_PWM, LOW);
  digitalWrite(Motor_2_Dir, LOW);
  return;
}

Download Software Arduino Release 0022

Software Open-source Arduino release 0022 lingkup pengembang berbasis Java Processing dan  avr-gcc, dan perangkat lunak open source lainnya, dipakai untuk mudahkan menulis kode program dan meng-upload ke board Arduino  i / o. Yang dapat berjalan pada platform berbasis sistem Windows, Mac OS X, dan Linux.

Dapat di download disini untuk Window, Mac OS X,  Linux32 dan Linux64

Arduino UNO

Overview

Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital  dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.

Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.

Tampak depan Arduino Uno

Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam serangkaian board USB Arduino, dan sebagai model referensi  untuk platform Arduino, untuk perbandingan dengan versi sebelumnya, lihat indeks board Arduino.

Summary

Microcontroller ATmega328
Operasi dengan daya 5V Voltage
Input Tegangan (disarankan) 7-12V
Input Tegangan (batas) 6-20V
Digital I / O Pins 14 (dimana 6 memberikan output PWM)
Analog Input Pin 6
DC Lancar per I / O Pin 40 mA
Saat 3.3V Pin 50 mA DC
Flash Memory 32 KB (ATmega328) yang 0,5 KB digunakan oleh bootloader
SRAM   2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed ​16 MHz

Skematis & Desain Referensi
EAGLE file: Arduino-uno-referensi-design.zip
Skema: Arduino-uno-schematic.pdf

Daya

Uno Arduino dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal (otomatis).

Eksternal (non-USB) daya dapat berasal baik dari AC-ke adaptor-DC  atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam Gnd dan Vin pin header dari konektor POWER.

Kisaran kebutuhan daya yang disarankan untuk board Uno adalah7 sampai dengan 12 volt, jika diberi daya kurang dari 7 volt kemungkinan pin 5v Uno dapat beroperasi tetapi tidak stabil kemudian jikadiberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat merusak board Uno.

Pin listrik adalah sebagai berikut:

VIN. Tegangan masukan kepada board Arduino ketika itu menggunakan sumber daya eksternal (sebagai pengganti dari 5 volt  koneksi USB atau sumber daya lainnya).

5V. Catu daya digunakan untuk daya mikrokontroler dan komponen lainnya.

3v3. Sebuah pasokan 3,3 volt dihasilkan oleh regulator on-board.

GND. Ground pin.

Memori

ATmega328 memiliki 32 KB (dengan 0,5 KB digunakan untuk bootloader),  2 KB dari SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis dengan EEPROM liberary).

Input dan Output

Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode (), digitalWrite (), dan digitalRead (), beroperasi dengan daya 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki internal pull-up resistor (secara default terputus) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus:

Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial ATmega8U2 USB-to-TTL.

Eksternal menyela: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan nilai. Lihat (attachInterrupt) fungsi untuk rincian lebih lanjut.

PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi analogWrite ().

SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan SPI library.

LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai HIGH, LED on, ketika pin bernilai  LOW, LED off.

Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang masing-masing menyediakan 10 bit dengan resolusi (yaitu 1024 nilai yang berbeda). Selain itu, beberapa pin memiliki fungsi khusus:

I2C: A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi menggunakan perpustakaan Wire.

Aref. Tegangan referensi (0 sampai 5V saja) untuk input analog. Digunakan dengan fungsi analogReference ().

Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.

Lihat juga mapping  pin Arduino dan port ATmega328.

Komunikasi

Uno Arduino memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya. ATmega328 menyediakan UART TTL (5V) untuk komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah ATmega8U2 sebagai saluran komunikasi serial melalui USB dan sebagai port virtual com  untuk perangkat lunak pada komputer. Firmware ‘8 U2 menggunakan driver USB standar COM, dan tidak ada driver eksternal yang diperlukan. Namun, pada Windows diperlukan, sebuah file inf. Perangkat lunak Arduino terdapat monitor serial yang memungkinkan digunakan memonitor data tekstual sederhana yang akan dikirim ke atau dari board Arduino. LED RX dan TX  di papan tulis akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dengan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1).

Sebuah SoftwareSerial library memungkinkan untuk berkomunikasi secara serial pada salah satu pin digital pada board Uno’s.

ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan penggunaan bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi SPI, menggunakan perpustakaan SPI.

Pemrograman

Uno Arduino dapat diprogram dengan menggunakan software Arduino (download). Pilih “Arduino Uno dari menu> Peralatan Board (sesuai dengan mikrokontroler). Untuk lebih rinci dapat lihat referensi dan tutorial.


Apa Itu Arduino?

Arduino adalah platform prototyping berbasis open-source elektronik  yang mudah digunakan (fleksibel) baik dari perangkat keras (hardware) maupun perangkat lunaknya (software). Arduino ditujukan bagi para seniman, desainer, penggemar, dan siapapun yang tertarik dalam menciptakan objek interaktif didalam lingkungan pengembang.

Arduino Board

Arduino mempunyai input yang dapat  menerima input dari berbagai sensor dan outputnya sebagai pengendali seperti  lampu, motor, dan aktuator lainnya. Arduino board mikrokontroler dapat diprogram menggunakan bahasa pemrograman Arduino (berdasarkan Wiring) dan dalam lingkup pengembang berdasarkan Processing. Arduino dapat bekerja mandiri atau dapat juga berkomunikasi dengan perangkat keras yang lain seperti komputer melalui perangkat  lunak  (misalnya Flash, Pengolahan, MaxMSP).

Arduino Board dapat dibuat/dirangkai sendiri atau membeli preassembled, kemudian perangkat lunak dapat didownload secara gratis. Referensi desain hardware (CAD file) Arduino Board berada di bawah lisensi open-source sehingga Anda bebas membuat atau membeli menyesuaikan dengan kebutuhan Anda.

Beberapa link yang dapat anda kunjungi

home page Arduino ada disini, download software ada disini, dan forum Arduino ada disini

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!