Pic ile birden fazla işlem yapma

Emir youtube da Stanford Universitesi nin Walter Lewin tarafından verilen Fizik dersleri var,
böyle güzel bir anlatım yoktur,
sürekli uygulama ile anlatıyor,
fiziğin Cem Yılmaz ı.
İngilizce olarak izlemeni öneririm.

Bu arada elektroniğin temeli zaten fizik,
en iyi matematikçilerde zaten fizikçiler,
principia mathematica kimin.

Bol qubitler.
 
Şu istediğim programlamayı bir türlü beceremedim üstadım. Çok basit bir şey ama ben yeni başladığım için yapamıyorum. Galiba dallandırma konusuyla alakalı iyice araştırsam iyi olacak
 
biliyorum onları baya eylenceliydi adam dalga geçerek en ağır ve anlaması zor konuları anlatıyor Stephen Hawking in Allah rahmet eylesin bir belgeselini izledim oradan merak sardım işe 13 yaşımda falan çok karmaşıkdı ama bayada o yaşta anlıyordum favorim TedEx konuşmaları şu muhasebe işini bir bitireyim düzgün bir işe gireyim sonrasında atölyemi kuracağım sonra parayı bulursam bu devirde zor ama üniversitede fizik bölümü okumayı düşünüyorum Veritasium diye bir kanal var youtubede çok güzen anlatımı var adamın öneririm
Birde Kerbal space program adında bir oyun var ama ne oyun bee araştır istersen çok güzel bir oyun
 
Son düzenleme:
@bagztov hangi mcu(donanım), hangi ortam, hangi derleyiciyi (yazılım) kullanıyorsun,
bunları bilmeden halihazırda yazdığın kodu görmeden pek yardımcı olamayız.

@Emirgkts Veritasium bende var,
Richard Feynman o zaman,
misal "computer heuristics lecture" dersi.
 

Compiler olarak CCS C kullanıyorum. pic16F84A ile isiste simülasyon yapmaya çalışıyorum.

Kod şöyle:

A0 pini giriş pini. (Buton bağlı)
B0 pini çıkış pini. (LED bağlı)

While(1)
{
if(input(pin_a)==1)
{
output_high(pin_b0);
delay_ms(5000);
output_low(pin_b0);
}
}

şimdi kod şöyle çalışıyor. Ben butona basınca led 5 saniye yanıyor sonra sönüyor. Buraya kadarher şey normal ama ben 5 saniyelik süre içinde butona bir daha basarsam tekrar ledi 5 saniye yakma komutuna geri dönsün istiyorum. Yani 5 saniye içinde basarsam süre resetlensin ama basmazsam 5 saniye yansın sonra sönsün istiyorum.
Goto komutlarıyla falan denedim ama yapamadım bir türlü.
 
int16 k=5000;

While(1)
{
if(input(pin_a)==1)
{
output_high(pin_b0);
k=0;
}

delay_ms(1);
if(k==5000) output_low(pin_b0);
if(k<5000) k++;
}
 
int16 k=5000;

While(1)
{
if(input(pin_a)==1)
{
output_high(pin_b0);
k=0;
}

delay_ms(1);
if(k==5000) output_low(pin_b0);
if(k<5000) k++;
}

programın işleyişi oldu sanırım. Süre dolmadan kesik kesik bastığım sürece led sönmüyor. Fakat ledin tek sefer bastığımdaki süresi çok kısaydı sizin yazdığınız delay_ms(1); komutundaki değeri 50 yaptım şimdi oldu. Sanırım hiçbir sorun yok uğraşıp yardımcı olduğunuz için çok teşekkür ederim
 
Delay 5000 gibi çok uzun beklemeler işlemciyi boşuna kullanmaya sebep olur. 1 orda abartılı tabi ama mantığı göstermek için yaptım. Bu şekilde yapılırsa işlemci hem bekler hem aynı zamanda başka işler de yapabilir.

Tabi daha iyisi interrupt ve timerlari kullanmak
 
Şu an çok yeniyim daha 2 gün falan oldu sanırım ama bu programa ihtiyacım vardı siz de yardımcı oldunuz. İhtiyacım olan programı elde ettiğime göre derslere başlayabilirim YouTube'da güzel kaynaklar var. Öğrenmeye çalışacağım. Tekrardan teşekkür ederim ilgilendiğiniz için.
 
timer veya değişken ekleyip mesala butona birdaha basılırsan bütün işlemleri sonlandırıp yaniden komuta başlata bilirsin yani reset tuşuna basmak gibi olur kod DEĞİŞKEN ADANA
[/CODE]#include <Wire.h>

#include <SoftwareSerial.h>



double angle_rad = PI/180.0;

double angle_deg = 180.0/PI;

double adana;



void setup(){

pinMode(A0+0,INPUT);

pinMode(9,OUTPUT);

}



void loop(){

if(((analogRead(A0+0))==(1023))){

adana += 1;

}

if(((adana)==(1))){

digitalWrite(9,1);

_delay(5);

digitalWrite(9,0);

if(((adana)==(2))){

adana = 1;

digitalWrite(9,0);

}

}

_loop();

}



void _delay(float seconds){

long endTime = millis() + seconds * 1000;

while(millis() < endTime)_loop();

}



void _loop(){

}


/adana merkez patlıyo [/CODE]
herkes çıkış digital 9 girş analog 0
Analogdan buton okumak kanser ediyor önermem pull down direnci cart curt emn mi dersin kafayı yedim kablonun iç direnci yüzünden 1023 tamamlanmıyor ve triglemiyor bu arada kod fixlendi
Kaptan olmuyo kafayı yiyecem dijitalle cillop gibi oluyor ama nalet olası analog kafayı yedi
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…