Stránka 1 z 1

Dotaz začátečníka

Napsal: 01 bře 2020, 20:12
od maav
S Arduinem začíná a proto omluvte moji otázku.
Snažím se připojit k Wemosu relé. Při testování jsem došel k tomu, že mi digitál reaguje takto:

Spustím jednoduchý skrip:

Kód: Vybrat vše

void setup() {
    // inicializujte sériovou komunikaci na 9600 bitech za sekundu:
    Serial.begin(9600);
}
void loop() {
// přečtu vstup A0:
digitalWrite(3, LOW);
    int sensorValue = analogRead(A0);
    // Převede analogový vstup (od 0 do 1023) na napětí (0 - 5V):
    float voltage = sensorValue * (5.0 / 1023.0);
    // Odešle přečtenou hodnotu:
    Serial.println(voltage);
//    delay(10);
}
Po připojení A0 na 5V a poté na 3,3V ploter vykreslí pěknou křivku:
v1.jpg
Jestliže nastavím D3 na LOW (0) a připojím na A0 pak vykreslí toto:
v2.jpg
Jestliže nastavím D3 na HIGH (1) a připojím na A0 pak vykreslí toto:
v3.jpg
Mohu se prosím zeptat proč je signál tak rozkmitaný?
Děkuji

Re: Dotaz začátečníka

Napsal: 01 bře 2020, 20:44
od jankop
Řekl bych, že buď tam nedáváš správnou logickou úroveň ( máš I/O ve třetím stavu, respektive jako input) nebo měříš jinde, než si myslíš. Chybu děláš určitě. Už vzhledem k tomu, že cpeš do Wemosu 5V, když je na 3,3V. To se klidně už mohl odebrat do křemíkového nebe...
Tak to napětí beru zpět, Wemos má na vstupu ADC dělič.

Re: Dotaz začátečníka

Napsal: 01 bře 2020, 21:01
od maav
OK. Děkuji.
Před čtením A0 nastavuji D3. Mělo by to tam snad být.
Co s tím?

Re: Dotaz začátečníka

Napsal: 01 bře 2020, 22:07
od jankop
Zkus třeba tohle, je docela možné, že bez pinMode výstup nenastavíš.

Kód: Vybrat vše

int sensorValue;
float voltage;
void setup() {
  // inicializujte sériovou komunikaci na 9600 bitech za sekundu:
  Serial.begin(9600);
  pinMode(D3, OUTPUT);
}
void loop() {
  // přečtu vstup A0:
  digitalWrite(D3, LOW);
  sensorValue = analogRead(A0);
  // Převede analogový vstup (od 0 do 1023) na napětí (0 - 5V):
  voltage = (float)sensorValue * (5.0 / 1023.0);
  // Odešle přečtenou hodnotu:
  Serial.println(voltage);
  //    delay(10);
}

Re: Dotaz začátečníka

Napsal: 02 bře 2020, 11:31
od maav
Děkuji.
Toto zdá se funguje.