31-12-2020, 11:37
Ocena wątku:
potencjometr+Led
|
31-12-2020, 15:30
AnalogRead(); i zrobić porównanie dla każdej, ADC zwraca 0-1024
Wiec tak w skrócie:
uint16_t XXX = analogRead(pin);
if(XXX >= 100){ // 10 diod czyli 1024/10
// zapal pierwszą diodę
} else{
// zgaś pierwszą
}
if(XXX >=200){
// zapal drugą diodę
}else{
Zgaś drugą
}
itd dla 8 pozostałych
Może być problem że ADC będzie pływać wiec ustabilizować wynik odczytu wiec to mżna tak
#define ADC_stabilizacja = 20
Uint32_t ADC stabilne = 0;
setup(){
}
loop(){
ADC_stabilne = ADC_stabilne*ADC_stabilizacja;
ADC_stabilne = ADC_stabilne+(analogRead(pin));
ADC_stabilne = ADC_stabilne/(ADC_stabilizacja+1);
if(ADC_stabilne >= 100){ // 10 diod czyli 1024/10
// zapal pierwszą diodę
} else{
// zgaś pierwszą
}
itd....
Wiec tak w skrócie:
uint16_t XXX = analogRead(pin);
if(XXX >= 100){ // 10 diod czyli 1024/10
// zapal pierwszą diodę
} else{
// zgaś pierwszą
}
if(XXX >=200){
// zapal drugą diodę
}else{
Zgaś drugą
}
itd dla 8 pozostałych
Może być problem że ADC będzie pływać wiec ustabilizować wynik odczytu wiec to mżna tak
#define ADC_stabilizacja = 20
Uint32_t ADC stabilne = 0;
setup(){
}
loop(){
ADC_stabilne = ADC_stabilne*ADC_stabilizacja;
ADC_stabilne = ADC_stabilne+(analogRead(pin));
ADC_stabilne = ADC_stabilne/(ADC_stabilizacja+1);
if(ADC_stabilne >= 100){ // 10 diod czyli 1024/10
// zapal pierwszą diodę
} else{
// zgaś pierwszą
}
itd....
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą.
Przeglądający: 1 gości