Arkadaşlar ben bir proje yaptım fakat 3 adet ayrı kod olarak ben Arduino'da biraz yeniyim, bu yüzden süslü parantezleri karıştırıyorum. Kod olarak ben pinleri tanıttım ve Void setup kodunu yazdım ama sıkıntı Void loopta başlıyor. Kodlar:
Mesafe sensörü kodum:
LED ile yaptığı timer (süreler geçince LED'ler otomatik olarak yanıyor):
Sıcaklık sensörüm temperature and humidity sensörü ile ölçüp yazıyı ı2C ekrana veriyor:
Mesafe sensörü kodum:
Kod:
#Define echopin 6.
#Define trigpin 7.
#Define buzzerpin 8.
İnt maximumrange = 60;
İnt minimumrange = 0;
Void setup() {
Pinmode(trigpin, output);
Pinmode(echopin, ınput);
Pinmode(buzzerpin, output);
}
Void loop()
{
İnt olcum = mesafe(maximumrange, minimumrange);
Melodi(olcum*10);
}
İnt mesafe(int maxrange, int minrange)
{
Long duration, distance;
Digitalwrite(trigpin, low);
Delaymicroseconds(2);
Digitalwrite(trigpin, hıgh);
Delaymicroseconds(10);
Digitalwrite(trigpin, low);
Duration = pulseın(echopin, hıgh);
Distance = duration / 58.2;
Delay(50);
İf(distance >= maxrange || distance <= minrange)
Return 0;
Return distance;
}
İnt melodi(int dly)
{
Tone(buzzerpin, 440);
Delay(dly);
Notone(buzzerpin);
Delay(dly);
}
Kod:
İnt analed = 13;
İnt LED3 = 10;
İnt LED1 = 11;
İnt LED2 = 12;
Unsigned long Ti'me;
Void setup(){
Pinmode(led, output);
Pinmode(led1, output);
Pinmode(led2, output);
Pinmode(led3, output);
Serial. Begin(9600);
}
Void loop()
{
Digitalwrite(led, hıgh);
Serial. Print("time: ");
Ti'me = millis();
Serial. Println(time);
Delay(500);
İf (time > 100) {
Serial. Print ("timer has ended ");
Digitalwrite(led3, hıgh);
} Else;
Digitalwrite(analed, low);
Delay (500);
Digitalwrite(led, hıgh);
Serial. Print("time: ");
Ti'me = millis();
Serial. Println(time);
Delay(500);
İf (time > 200) {
Serial. Print ("timer has ended ");
Digitalwrite(led1, hıgh);
} Else;
Digitalwrite(analed, low);
Delay (500);
Digitalwrite(led, hıgh);
Serial. Print("time: ");
Ti'me = millis();
Serial. Println(time);
Delay(500);
İf (time > 300) {
Serial. Print ("timer has ended ");
Digitalwrite(led2, hıgh);
} Else;
Digitalwrite(analed, low);
Delay (500);
}
Kod:
#İnclude <LiquidCrystal_I2C.h>
Liquidcrystal_ı2C LCD(0x27, 16, 2);
Byte degree_symbol[8] =
{
0B00111,
0B00101,
0B00111,
0B00000,
0B00000,
0B00000,
0B00000,
0B00000.
};
İnt gate=11;
Volatile unsigned long duration=0;
Unsigned char i[5];
Unsigned int j[40];
Unsigned char value=0;
Unsigned answer=0;
İnt z=0;
İnt b=1;
Void setup()
{
lcd.init();
lcd.init();
lcd.backlight();
LCD. Print("temp = ");
LCD. Setcursor(0, 1);
LCD. Print("humidity = ");
LCD. Createchar(1, degree_symbol);
LCD. Setcursor(9, 0);
LCD. Write(1);
LCD. Print("c");
LCD. Setcursor(13, 1);
LCD. Print("%");
}
Void loop()
{
Delay(1000);
While(1)
{
Delay(1000);
Pinmode(gate, output);
Digitalwrite(gate, low);
Delay(20);
Digitalwrite(gate, hıgh);
Pinmode(gate, ınput_pullup);
Duration=pulseın(gate, low);
İf(duration <= 84 && duration >= 72)
{
While(1)
{
Duration=pulseın(gate, hıgh);
İf(duration <= 26 && duration >= 20){
Value=0;}
Else if(duration <= 74 && duration >= 65){
Value=1;}
Else if(z==40){
Break;}
İ[z/8]|=value<<(7- (z%8));
J[z]=value;
Z++;
}
}
Answer=i[0]+i[1]+i[2]+i[3];
İf(answer==i[4] && answer!=0)
{
LCD. Setcursor(7, 0);
LCD. Print(i[2]);
LCD. Setcursor(11, 1);
LCD. Print(i[0]);
}
Z=0;
İ[0]=i[1]=i[2]=i[3]=i[4]=0;
}
}
Son düzenleyen: Moderatör: