#define

#define
Kütüphanede tanımlanan CS pininin 10 olarak değiştirilmemesi Arduino'nun ethernet modülü ile bağlantı kuramamasına neden olacaktır. "EtherCard.h" dosyasındaki "csPin" değişkenini 10 olarak ayarlamayı unutmayınız. Bu değişikliği nasıl yapabilirim yardımcı olurmusunuz #Arduino
Arduino ile bilgisi olanlar yardımcı olabilir mi?
Biz şimdi aşağıdaki linklerde olan kodları birleştirmeyi başardık fakat amacımız bluetooth kontrollü aracı hcsr-04 yardımı ile engellerden kaçması. Kodları birleştirdik ancak biz bluetootha bağlanana kadar motorlar boşta dönüyor.. Biz bluetootha bağlanana kadar motorların dönmemesini nasıl sağlarız bir türlü çözemedim.
kullandığımı kodlar:
bluetooth kontrol kodu;
http://lezzetlirobottarifleri.com/video/cep-telefonu-kontrollu-arac
hcsr-04;
http://lezzetlirobottarifleri.com/video/arduino-ile-engelden-kacan-robot-v1-00
bizim yazdığımız kod ise burada;
#include
SoftwareSerial bt_iletisim(6, 7);
#define echoPin 2 //Ultrasonik sensörün echo pini Arduino'nun 12.pinine
#define trigPin 3 //Ultrasonik sensörün trig pini Arduino'nun 13.pinine tanımlandı.
#define sol_ileri 8
#define sol_geri 9
#define sol_hiz 10
#define sag_ileri 13
#define sag_geri 12
#define sag_hiz 11
long sure, uzaklik; //süre ve uzaklık diye iki değişken tanımlıyoruz.
int motorlar_hiz = 255;
byte son_islem;
void setup()
{
// ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
// bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(sol_ileri, OUTPUT);
pinMode(sag_ileri, OUTPUT);
pinMode(sol_geri, OUTPUT);
pinMode(sag_geri, OUTPUT);
pinMode(sol_hiz, OUTPUT);
pinMode(sag_hiz, OUTPUT);
Serial.begin(9600);
bt_iletisim.begin(9600);
}
void loop(){
{
if (bt_iletisim.available())
{
char data = bt_iletisim.read();
Serial.println(data);
if (data == '1')
{
dur();
delay(10);
ileri();
son_islem = 1;
}
else if (data == '2')
{
dur();
delay(10);
geri();
son_islem = 2;
}
else if (data == '3')
{
dur();
delay(10);
sol();
son_islem = 3;
}
else if (data == '4')
{
dur();
delay(10);
sag();
son_islem = 4;
}
else if (data == '6')
{
dur();
}
else if (data == '0')
{
motorlar_hiz = motorlar_hiz + 25;
if (motorlar_hiz > 255)
{
motorlar_hiz = 255;
}
Serial.print("motorlar hiz= ");
Serial.println(motorlar_hiz);
son_isleme_devam_et();
}
else if (data == '5')
{
motorlar_hiz = motorlar_hiz - 25;
if (motorlar_hiz < 0)
{
motorlar_hiz = 0;
}
Serial.print("motorlar hiz= ");
Serial.println(motorlar_hiz);
son_isleme_devam_et();
}
}
}
digitalWrite(trigPin, LOW); //sensör pasif hale getirildi
delayMicroseconds(5);
digitalWrite(trigPin, HIGH); //Sensore ses dalgasının üretmesi için emir verildi
delayMicroseconds(10);
digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi
sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor
Serial.println(uzaklik);
if (uzaklik < 15) // Uzaklık 15'den küçük ise,
{
geri(); // 150 ms geri git
delay(150);
sag(); // 250 ms sağa dön
delay(250);
}
}
void ileri()
{
digitalWrite(sol_ileri, 1);
digitalWrite(sag_ileri, 1);
digitalWrite(sol_geri, 0);
digitalWrite(sag_geri, 0);
analogWrite(sol_hiz, motorlar_hiz);
analogWrite(sag_hiz, motorlar_hiz);
}
void geri()
{
digitalWrite(sol_ileri, 0);
digitalWrite(sag_ileri, 0);
digitalWrite(sol_geri, 1);
digitalWrite(sag_geri, 1);
analogWrite(sol_hiz, motorlar_hiz);
analogWrite(sag_hiz, motorlar_hiz);
}
void sol()
{
digitalWrite(sol_ileri, 1);
digitalWrite(sag_ileri, 0);
digitalWrite(sol_geri, 0);
digitalWrite(sag_geri, 1);
analogWrite(sol_hiz, motorlar_hiz);
analogWrite(sag_hiz, motorlar_hiz);
}
void sag()
{
digitalWrite(sol_ileri, 0);
digitalWrite(sag_ileri, 1);
digitalWrite(sol_geri, 1);
digitalWrite(sag_geri, 0);
analogWrite(sol_hiz, motorlar_hiz);
analogWrite(sag_hiz, motorlar_hiz);
}
void dur()
{
digitalWrite(sol_ileri, 0);
digitalWrite(sag_ileri, 0);
digitalWrite(sol_geri, 0);
digitalWrite(sag_geri, 0);
analogWrite(sol_hiz, 0);
analogWrite(sag_hiz, 0);
}
void son_isleme_devam_et()
{
if (son_islem == 1)
{
ileri();
}
else if (son_islem == 2)
{
geri();
}
else if (son_islem == 3)
{
sol();
}
else if (son_islem == 4)
{
sag();
}
}
#akış #TeknoYardım
#Arduio ile BC-05 kullanan oldu mu ?
Konu basit kurgusu basit ama arduino öğrenmek isteyenler için çok iyi bir çalışma koddaki neden ve nasıl yapıldılar üzerinde düşünülürse çok eğitici olur yeni başlıyanlara
#define analogPin A1 //Our pin for measuring
#define chargePin 3 //Pin for charging the cap
#define dischargePin 7 //Pin for discharging the cap
#define button 5 //Our button read pin
#define resistorValue 220.0F //Our charge resistor value. The f is there to tell the compiler it's a float
unsigned long startTime; //Used for
unsigned long elapsedTime; //measuring cap charge time
float microFarads; //Here we store the meausred value
float nanoFarads; //If it's small we convert it to nF
void setup(){
pinMode(chargePin, OUTPUT);/*
This sets the internal impendence of the chargePin to low. What this means
is that the current will come to less resistance when passing trough the
pin, wich will enable us to source(charge the cap) or sink(discharge the
cap) with current up to 40mA. If we set the pinMode to input, we enable
high impendence mode and the current will be bearly able to pass trough
the pin, we use it to "open" the ciruit (alltough the current will still
flow trough the pins, the equivalent wouldnt be an open circut, reather
a very big value resistor).
*/
digitalWrite(chargePin, LOW); //In LOW state it doesnt discharge the cap
pinMode(button, INPUT_PULLUP); /*We use INPUT_PULLUP when we have a button connected to the
pin, but without a external pullup resistor. We must have a either pull-up or pull-down
resistor to keep the pins from "floating", a state where pins will catch surrounding ele-
ctromagnetic fields, or get parasitic capactinance from sorrounding pins. MCU's have allready
built in pull up resostors we only need to connect the switch between the pin and ground.
*/
Serial.begin(9600); //Start the serial communication
}
void loop(){
if(!digitalRead(button)){ //When we press the button
digitalWrite(chargePin, HIGH); //This charges the capacitor
startTime = millis(); //The time when the cap starts to charge
while(analogRead(analogPin) 1){ //If the value is in uF
Serial.print((long)microFarads); //Print the stored value
Serial.println(" microFarads");
}
else{ //If smaller, we convert it to mF
nanoFarads = microFarads * 1000.0;
Serial.print((long)nanoFarads);
Serial.println(" nanoFarads");
}
digitalWrite(chargePin, LOW);//We do not charge the cap anymore
pinMode(dischargePin, OUTPUT); //Now we use
digitalWrite(dischargePin, LOW); //this pin for discharging
while(analogRead(analogPin) > 0); //Do nothing until the cap is discharged
pinMode(dischargePin, INPUT); //This "blocks" the discharge pin, as it is no longer needed
delay(150); //Delay so there is enough time to lift the finger from the button
}
}
L298N motor sürücü kullanan oldu mu ? Olduysa yardım.
#Arduino #TeknoYardım
#ti #launchpad #msp430 #programlama #kulucka #termostat #teknoyardım #akış
Merhaba arkadaşlar,
Kuluçka makinesi yapmaya karar verdim. Malzemeleri yarın alacağım. Tamamen hobi amaçlı ve tek seferde en fazla 15 yumurta çıkartmayı planlıyorum. Gerekli araştırmalarımı yaptım. Kafamda planı oluşturdum.
Sizlere danışmak istediğim konu ise şu;
Dijital termostat almak yerine, termostatı kendim yapmayı planlıyorum. Elimde Launchpad MSP430 var. Bir adet röle ve bir de sıcaklık sensörü ile rahatlıkla yapabileceğimi düşünüyorum. Sadece sıcaklık değerini okuyacak, eğer 37,5'den küçükse röle pini HIGH, 37,7'den büyük ise LOW olacak. Bunu biliyorum fakat proglamlama bilgim çok az. Yani bu söylediğimi nasıl kodlarım bilmiyorum. Bu konuda yardımcı olabilirseniz sevinirim.
Arduino hakkında yardımcı olabilecek bi hayır sever varmı ?
"iş" is undefined.
Selam vermeden de gitmiyor çok ince.