vineri, 16 iunie 2017
joi, 15 ianuarie 2015
duminică, 11 ianuarie 2015
duminică, 4 ianuarie 2015
PCB photoresist method
I tested my new box for the production of PCB (printed circuit board)
I used photo-resistive laminates (http://www.bungard.de)
My exposure box (unfinished)
I used a homemade arduino.
It has a menu for setting exposure time and a Start button
It has a menu for setting exposure time and a Start button
luni, 1 decembrie 2014
Double Arduino with Motor driver
Gcode for CNC:
(Generated bottom outlines, bottom drill, )
(Unit of measure: mm)
(Metric Mode)
G21
(Absolute Coordinates)
G90
G00 X0.0000 Y0.0000
M03
G04 P3.000000
G00 Z4.0000
G00 X-56.8232 Y19.5310
G01 Z-0.3000 F127.00
G01 X-56.3610 Y19.9932 F254.00
G01 X-56.3610 Y20.6468
G01 X-56.8232 Y21.1090
G01 X-57.4847 Y21.1090
G01 X-57.7044 Y21.2358
G01 X-58.0987 Y21.6302
G01 X-58.3141 Y21.8456
G01 X-59.7959 Y21.8456
G01 X-60.4668 Y21.1746
[...]
G82 X-6.3500 Y55.9200
G00 Z12.7000
M05
M02
vineri, 19 iulie 2013
my graduation project
No! I have not disappeared! I worked on the graduation project. Watch the video!
Thanks to all my teachers!
I'll come back soon with new examples
luni, 25 februarie 2013
Arduino i2c - Testing an Automatic Control System
2 Arduino connected through i2c
Slave Arduino reads data from phototransistor and send them to Arduino Master
This change PWM command so that the engine has run 4 rotations per second as set.
sâmbătă, 23 februarie 2013
duminică, 6 ianuarie 2013
C# communicate with Arduino Part.3
I made a C # application to control two servos via USB with Arduino.
When you pull the slider bar, the value is sent to the Arduino, which represent the positions of the servo.
Each servo has his own bar.
C# code :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
namespace SERIAL_ANALOG_WRITE
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void bara1_ValueChanged(object sender, EventArgs e)
{
val_bara1.Text = Convert.ToString(bara1.Value);
transmite1();
}
[... do you want the rest of the code???? ...]
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
}
}
}
Arduino code :
#include <Servo.h>
int v, v1, v2, v3, v4;
Servo servo1;
Servo servo2;
void setup()
{
servo1.attach(9);
servo2.attach(10);
Serial.begin(9600);
}
void loop()
{
if (Serial.available()>0)
{
[... bla-bla-bla...]
}
delay(10);
}
C# communicate with Arduino Part.2
I tried to command a servo, via usb, from C # application to an Arduino.
When you pull the slider bar, the value is sent to the Arduino, which represent the positions of the servo.
C# code:
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace SERIAL_ANALOG_WRITE
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void bara_ValueChanged(object sender, EventArgs e)
{
[ do you want the rest of the code???? ]
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
}
}
}
luni, 31 decembrie 2012
My present project, C# interfacing with Arduino
Bidirectional serial communication between C # and Arduino.
Analog and digital communication, both at the same time.
I built the PCB around ATMEGA8.
I used a 16x2 LCD to check sent / received data.
I/O:
2 digital outputs (2 LEDs),
1 PWM output (1 DC motor),
2 digital inputs (2 switches),
2 analog inputs (1 potentiometer and 1 phototransistor).
Watch video:
C# communicate with Arduino Part.1
We have 3 buttons that help turn on / off 3 LED.
The first push of the green button turns ON green LED, the second push of the green buttonturns OFF green LED. Is the same for the rest of the buttons.
C# code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace SERIAL_DIGITAL_WRITE
{
public partial class Form1 : Form
{
int green=0;
int blue=0;
int red=0;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1.Open();
if (green==0)
{
serialPort1.Write("1");
green = 1;
}
else if (green == 1)
{
serialPort1.Write("2");
green = 0;
}
serialPort1.Close();
}
private void button2_Click(object sender, EventArgs e)
{
serialPort1.Open();
if (blue == 0)
{
serialPort1.Write("3");
blue = 1;
}
else if (blue == 1)
{
serialPort1.Write("4");
blue = 0;
}
serialPort1.Close();
}
private void button3_Click(object sender, EventArgs e)
{
serialPort1.Open();
if (red == 0)
{
serialPort1.Write("5");
red = 1;
}
else if (red == 1)
{
serialPort1.Write("6");
red = 0;
}
serialPort1.Close();
}
}
}
Arduino code:
///----------------------------------------///
/// by gabimincu 31.12.2012 ///
/// testing serial digital write ///
/// gabimincu@gmail.com ///
/// www.robot-fun.blogspot.com ///
///----------------------------------------///
int green = 4; // using pin 4 for the GREEN LED
int blue = 3; // using pin 4 for the BLUE LED
int red = 2; // using pin 4 for the RED LED
int i;
int data = 222;
void setup()
{
Serial.begin(9600); // Opens serial port, sets data rate to 9600 bps
pinMode(green, OUTPUT); // sets pin as output for green led
pinMode(blue, OUTPUT); // sets pin as output for blue led
pinMode(red, OUTPUT); // sets pin as output for red led
for (i=0;i<5;i++) // it shows that programs works
{
digitalWrite(green,HIGH);
delay(44);
digitalWrite(blue,HIGH);
delay(44);
digitalWrite(red,HIGH);
delay(44);
digitalWrite(green,LOW);
delay(44);
digitalWrite(blue,LOW);
delay(44);
digitalWrite(red,LOW);
delay(44);
}
}
void loop()
{
if (Serial.available() > 0)
{
data=Serial.read();
switch(data)
{
case '1':
digitalWrite(green, HIGH); // set the GREEN LED on
break;
case '2':
digitalWrite(green,LOW); // set the GREEN LED off
break;
case '3':
digitalWrite(blue, HIGH); // set the BLUE LED on
break;
case '4':
digitalWrite(blue,LOW); // set the BLUE LED off
break;
case '5':
digitalWrite(red, HIGH); // set the RED LED on
break;
case '6':
digitalWrite(red,LOW); // set the RED LED off
break;
}
}
}
Next time I will try to illustrate analog read from C# application.
sâmbătă, 29 decembrie 2012
marți, 27 noiembrie 2012
marți, 19 iunie 2012
sâmbătă, 12 mai 2012
Ultrasound Measurement Device - part.1
Work in progress...
The objective of this work is to design and manufacture a machine to measure distances using an ultrasonic sensor. Because sound speed variation with temperature, will be implemented and a temperature sensor, which will increase measurement accuracy.
The objective of this work is to design and manufacture a machine to measure distances using an ultrasonic sensor. Because sound speed variation with temperature, will be implemented and a temperature sensor, which will increase measurement accuracy.
The schematics:
The PCB:
The components:
IC1 – ATMEGA8,
IC2 – LM7805,
D1 – 1N4004,
C6,C7 – 47uF,
C2,C3 – 22pF,
C1,C4,C5,C8,C9,C12 – 100nF,
R1,R4 – 10K,
R2 – 330R,
R3 – 220R,
R7 – 1K,
Trimmer 10K,
Q1 – 16MHz,
L1,L2 – Led,
Code i used for testing:
///----------------------------------------///
/// by gabimincu 10.05.2012 ///
/// masurarea distantelor cu ultrasunete ///
/// gabimincu@gmail.com ///
/// www.robot-fun.blogspot.com ///
///----------------------------------------///
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int pingPin = 7; // pin trig senzor
const int inPin = 9; // pin echo senzor
int t=0;
int i;
float tempc = 0,temp; //variabile temperatura
int d;
float durata,cm; //variabile distanta
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(8,INPUT);
}
void loop()
{
afisare();
Do you want the rest of the code?
Next step: construction of box
marți, 17 aprilie 2012
Abonați-vă la:
Postări (Atom)









.jpg)



















.png)









