Projekat bi trebao sljedece da radi:
Ucita temepraturu da DS12B20 i da je ispise na LED Matrix. Preko keypad moze da se podesi zeljena temperatura,i mogu da se pali gase releji. Zavisnosti koja je temperatura releji ce se automacki paliti i gasiti ali mogu i preko keypad da se pale i gase.
Hardware je Raspberry pi 2 i gore navedene komponente.
problem 1 koji sam naletio je printf:
moze li mi neko reci zasto ovde ne radi printf?
nece da mi ispise ni ca ovo printf("starting" ) to bi trebalo da izbaciva milion puta... jer je u while
Rijesenje problema 1:
Remember to include a terminating "\n" in your printf – stdout doesn't flush until it encounters one by default!!!!
Code:
// gcc hallo.c -o hallo -I/usr/local/include -L/usr/local/lib -lwiringPi
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
void relay_on(int pin0_out);
void relay_off(int pin0_out);
int relay_1 = 0;
int relay_2 = 0;
int relay_3 = 0;
int main (void)
{
printf("Starting")
int pin8_in = 8; //rpi 3
int pin0_out = 0; //rpi 11
//Starting Setup
if(wiringPiSetup() == -1)
exit(1);
// pin 11 is outputt
pinMode(pin0_out,OUTPUT);
// pin 3 is inputt
pinMode(pin8_in,INPUT);
while(1)
{
if(digitalRead(pin8_in) == 1) //ucitavanje da li je taster pritisnut ili ne
{
relay_on(pin0_out);
if( relay_1 == 0)
{
printf("relay is ON\n");
relay_1 = 1;
relay_2 = 0;
}
//Wait 50 ms
delay(500);
}
else {
relay_off(pin0_out);
if( relay_2 == 0)
{
printf("relay is OFF\n");
relay_2 = 1;
relay_1 = 0;
}
//Wait 50 ms
delay(500);
}
}
return 0;
}
void relay_on(int pin0_out)
{ digitalWrite(pin0_out,1);
}
void relay_off(int pin0_out)
{ digitalWrite(pin0_out,0);
}
// gcc hallo.c -o hallo -I/usr/local/include -L/usr/local/lib -lwiringPi
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
void relay_on(int pin0_out);
void relay_off(int pin0_out);
int relay_1 = 0;
int relay_2 = 0;
int relay_3 = 0;
int main (void)
{
printf("Starting")
int pin8_in = 8; //rpi 3
int pin0_out = 0; //rpi 11
//Starting Setup
if(wiringPiSetup() == -1)
exit(1);
// pin 11 is outputt
pinMode(pin0_out,OUTPUT);
// pin 3 is inputt
pinMode(pin8_in,INPUT);
while(1)
{
if(digitalRead(pin8_in) == 1) //ucitavanje da li je taster pritisnut ili ne
{
relay_on(pin0_out);
if( relay_1 == 0)
{
printf("relay is ON\n");
relay_1 = 1;
relay_2 = 0;
}
//Wait 50 ms
delay(500);
}
else {
relay_off(pin0_out);
if( relay_2 == 0)
{
printf("relay is OFF\n");
relay_2 = 1;
relay_1 = 0;
}
//Wait 50 ms
delay(500);
}
}
return 0;
}
void relay_on(int pin0_out)
{ digitalWrite(pin0_out,1);
}
void relay_off(int pin0_out)
{ digitalWrite(pin0_out,0);
}
[Ovu poruku je menjao osmania dana 27.02.2015. u 09:20 GMT+1]
[Ovu poruku je menjao osmania dana 27.02.2015. u 13:26 GMT+1]
[Ovu poruku je menjao osmania dana 27.02.2015. u 13:27 GMT+1]