Zmienna ujemna i dodatnia - przemek - 11-08-2018
Witam.
Mam pytanie czy mógłby mi ktoś podpowiedzieć jak zrobić zmienną którą da się zwiększać i zmniejszać dwoma przyciskami? Będę bardo wdzięczny.
RE: Zmienna ujemna i dodatnia - Robson Kerman - 11-08-2018
if (digitalRead(przycisk1)==LOW) ++zmienna;
if (digitalRead(przycisk2)==LOW) --zmienna;
RE: Zmienna ujemna i dodatnia - przemek - 11-08-2018
(11-08-2018, 21:32)Robson Kerman napisał(a): if (digitalRead(przycisk1)==LOW) ++zmienna;
if (digitalRead(przycisk2)==LOW) --zmienna;
mógłbym jeszcze prosić o kod na stożenie takiej zmiennej? Gdyż mam taki sam, ale nie idzie mi stworzyć odpowiedniej zmiennej.Jeszcze mam jedno pytanie jak taką zmienną umieścić na ekranie
RE: Zmienna ujemna i dodatnia - -adamek - 11-08-2018
int zmienna;
"Jeszcze mam jedno pytanie jak taką zmienną umieścić na ekranie" Ekranie czego terminala, wyświetlacza?
RE: Zmienna ujemna i dodatnia - przemek - 11-08-2018
(11-08-2018, 21:56)-adamek napisał(a): int zmienna;
"Jeszcze mam jedno pytanie jak taką zmienną umieścić na ekranie" Ekranie czego terminala, wyświetlacza?
Chodzi mi o wyświetlacz/ekranik 16x2. Wiem że int to zmienna ale w programie wyświetla mi się ,, zmienna was not declared in this scope ''
RE: Zmienna ujemna i dodatnia - -adamek - 11-08-2018
To pokaż program , nie zadeklarowana
RE: Zmienna ujemna i dodatnia - przemek - 11-08-2018
(11-08-2018, 22:06)-adamek napisał(a): To pokaż program , nie zadeklarowana
program jest mocno pokręcony i nie dokończony ale spoko
Kod: const int przyciskD1 = A5;
const int przyciskD2 = A3;
const int przyciskA1 = A4;
const int przyciskA2 = A2;
byte gora[8] = {
0b00100,
0b01110,
0b11111,
0b00100,
0b00100,
0b00100,
0b00100,
0b00100
};
byte dol[8] = {
0b00100,
0b00100,
0b00100,
0b00100,
0b00100,
0b11111,
0b01110,
0b00100
};
#include <LiquidCrystal.h>
#define ADCPIN 1
#define ADCPIN2 0
LiquidCrystal lcd(12,11,5,4,3,2);
double temperature = 0; //Initialize variable to hold temperature
double temperatureg = 0;
void setup()
{
analogReference(INTERNAL);
lcd.createChar(1, dol);
lcd.createChar(0, gora);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write(byte(0));
lcd.setCursor(1,0);
lcd.print("TEMP");
lcd.setCursor(0,1);
lcd.write((byte)1);
lcd.print("TEMP");
pinMode(przyciskD1,INPUT);
pinMode(przyciskD2,INPUT);
pinMode(przyciskA1,INPUT);
pinMode(przyciskA2,INPUT);
}
void loop()
{
for(int gu = 0 ; gu < 200; ){}
for(int du = 0 ; du < 200; ){}
if(analogRead(przyciskD1)HIGH)
{ ++du;};
if(analogRead(przyciskD2)HIGH)
{ ++gu;};
if(analogRead(przyciskA1)HIGH)
{ --du;};
if(analogRead(przyciskA2)HIGH)
{ --gu;} ;
if(temperature<du)
{digitalWrite(6,LOW)}
if(temperatyreg>gu)
{digitalWrite(6,HIGH)}
temperature = analogRead(ADCPIN);
temperatureg = analogRead(ADCPIN2);
//Calculate Temperature from ADC value
//Note that we use mV for Vref
//Vin = ADCresult*Vref/(2^10)
//Temp(C) = Vin/(10) = ADCresult*Vref/(1024*10)
temperature = temperature*1100/(1024*10);
temperatureg = temperature*1100/(1024*10);
lcd.setCursor(6,0);
lcd.print(temperatureg);
lcd.print(int gu );
lcd.setCursor(6,1);
lcd.print(temperature);
delay(1000);
}
RE: Zmienna ujemna i dodatnia - -adamek - 11-08-2018
Kod: const int przyciskD1 = A5;
const int przyciskD2 = A3;
const int przyciskA1 = A4;
const int przyciskA2 = A2;
byte gora[8] = {
0b00100,
0b01110,
0b11111,
0b00100,
0b00100,
0b00100,
0b00100,
0b00100
};
byte dol[8] = {
0b00100,
0b00100,
0b00100,
0b00100,
0b00100,
0b11111,
0b01110,
0b00100
};
#include <LiquidCrystal.h>
#define ADCPIN 1
#define ADCPIN2 0
LiquidCrystal lcd(12,11,5,4,3,2);
double temperature = 0; //Initialize variable to hold temperature
double temperatureg = 0;
int du,gu;
void setup()
{
analogReference(INTERNAL);
lcd.createChar(1, dol);
lcd.createChar(0, gora);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write(byte(0));
lcd.setCursor(1,0);
lcd.print("TEMP");
lcd.setCursor(0,1);
lcd.write((byte)1);
lcd.print("TEMP");
pinMode(przyciskD1,INPUT);
pinMode(przyciskD2,INPUT);
pinMode(przyciskA1,INPUT);
pinMode(przyciskA2,INPUT);
}
void loop()
{
for(int gu = 0 ; gu < 200; ){}
for(int du = 0 ; du < 200; ){}
if(analogRead(przyciskD1)==HIGH)
{ ++du;};
if(analogRead(przyciskD2)==HIGH)
{ ++gu;};
if(analogRead(przyciskA1)==HIGH)
{ --du;};
if(analogRead(przyciskA2)==HIGH)
{ --gu;} ;
if(temperature<du)
{digitalWrite(6,LOW);}
if(temperatureg>gu)
{digitalWrite(6,HIGH);}
temperature = analogRead(ADCPIN);
temperatureg = analogRead(ADCPIN2);
//Calculate Temperature from ADC value
//Note that we use mV for Vref
//Vin = ADCresult*Vref/(2^10)
//Temp(C) = Vin/(10) = ADCresult*Vref/(1024*10)
temperature = temperature*1100/(1024*10);
temperatureg = temperature*1100/(1024*10);
lcd.setCursor(6,0);
lcd.print(temperatureg);
lcd.print( gu );
lcd.setCursor(6,1);
lcd.print(temperature);
delay(1000);
}
Nie wnikając w działanie kompiluje się
RE: Zmienna ujemna i dodatnia - kaczakat - 11-08-2018
Takie podejście zaprowadzi Cię na manowce, ilość posiadanych informacji zawsze jest mniejsza niż możliwa do posiadania, ale trzeba to trzymać na przyzwoitym poziomie. Wato poczytać kursy, to forum bo w wielu są linki do książek o C/C++ zupełnie darmowych, tak jak np. ten kurs: https://forbot.pl/blog/kurs-arduino-srodowisko-jak-zaczac-programowac-id936 .
RE: Zmienna ujemna i dodatnia - przemek - 11-08-2018
(11-08-2018, 22:24)-adamek napisał(a): const int przyciskD1 = A5;
const int przyciskD2 = A3;
const int przyciskA1 = A4;
const int przyciskA2 = A2;
byte gora[8] = {
0b00100,
0b01110,
0b11111,
0b00100,
0b00100,
0b00100,
0b00100,
0b00100
};
byte dol[8] = {
0b00100,
0b00100,
0b00100,
0b00100,
0b00100,
0b11111,
0b01110,
0b00100
};
int up,down;
#include <LiquidCrystal.h>
#define ADCPIN 1
#define ADCPIN2 0
LiquidCrystal lcd(12,11,5,4,3,2);
double temperature = 0;
double temperatureg = 0;
void setup()
{
analogReference(INTERNAL);
lcd.createChar(1, dol);
lcd.createChar(0, gora);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write(byte(0));
lcd.setCursor(1,0);
lcd.print("TEMP");
lcd.setCursor(0,1);
lcd.write((byte)1);
lcd.print("TEMP");
pinMode(przyciskD1,INPUT);
pinMode(przyciskD2,INPUT);
pinMode(przyciskA1,INPUT);
pinMode(przyciskA2,INPUT);
}
void loop()
{
for(int up = 0 ; up < 200; ){}
for(int down = 0 ; down < 200; ){}
if(digitalRead(przyciskD1)HIGH)
{ ++down;};
if(digitalRead(przyciskD2)HIGH)
{ ++up;};
if(digitalRead(przyciskA1)HIGH)
{ --down;};
if(digitalRead(przyciskA2)HIGH)
{ --up;} ;
if(temperature<down)
{digitalWrite(6,LOW);
}
if(temperatureg>up);
{digitalWrite(6,HIGH);
}
temperature = analogRead(ADCPIN);
temperatureg = analogRead(ADCPIN2);
temperature = temperature*1100/(1024*10);
temperatureg = temperature*1100/(1024*10);
lcd.setCursor(6,0);
lcd.print(temperatureg);
lcd.print(up);
lcd.setCursor(6,1);
lcd.print(temperature);
lcd.print(down);
delay(1000);
} oto poprawny kod.Macie może pojęcie dlaczego wyskakuje mi błąd kompilacji?
ps. jest poprawiony na bardziej zrozumiały.
|