Stefan Postat Decembrie 26, 2023 Partajează Postat Decembrie 26, 2023 Dacă nu e nimic conectat la A0 valoarea citită de la ADC nu trebuia să fie așa apropiată de zero. Încercați să definiți alt pin analogic in loc de A0. Link spre comentariu
aureliu67 Postat Ianuarie 1, 2024 Autor Partajează Postat Ianuarie 1, 2024 (editat) O sa va rog sa-mi spuneti daca am conectat corect senzorii. Am conectat " const int analogPin1 = PA1; // Change this to the pin you have connected the first sensor to const int analogPin2 = PA2; // Change this to the pin you have connected the second sensor to" Si imi arata la fel. Mai trebuie sa Pun PA0 si PA 2 sa verific. Dar deocamdata vreau sa verificati montajul meu daca este corect. Alimentarea cu 3,3v am luat-o de la placuta Blue Pill, pinul respectiv. Editat Ianuarie 1, 2024 de aureliu67 Link spre comentariu
Stefan Postat Ianuarie 1, 2024 Partajează Postat Ianuarie 1, 2024 @aureliu67 schema nu este greșita deși nu îmi dau seama de ce a fost necesar un rezistor in plus. In momentul acesta ce se întâmpla? Prima oara puteți testa intrările analogice cu un simplu fir sau printr-un rezistor de 1...10k conectat pe rând la GND si după la Vcc, valoarea citita in terminal trebuie sa fie apropiata de zero când intrarea este conectata la GND si 1023 când este la Vcc. L.E: Acum imi dau seama ca ceva este diferit la versiunea mea de Arduino sau mai bine zis la bibliotecile pentru STM32. Am căutat ce rezoluție are ADC-ul de la un STM32F103C8T6 si se pare ca este pe 12 biti (4096 valori) deci valoarea maxima trebuie sa fie 4095. Înțeleg ca implicit la mine ADC-ul este setat pe 10 biti dar cu funcția aceasta se poate schimba fără bătăi de cap. Link spre comentariu
aureliu67 Postat Ianuarie 1, 2024 Autor Partajează Postat Ianuarie 1, 2024 O sa folosesc alts plscuta sa refac circuitul. Am gresit undeva eu. De regula de 2 ori aceiasi gresala (mecanica sau din neatentie) nu se intampla. Multumesc, Acum cel putin sunt sigur ca montajul nu este gresit Link spre comentariu
aureliu67 Postat Ianuarie 1, 2024 Autor Partajează Postat Ianuarie 1, 2024 Ati avut dreptate. Fara nici un fir conectat la placuta am valori (la alta placuta).sa vedem ce spune dupa ce ii lipesf senzorii. Link spre comentariu
aureliu67 Postat Ianuarie 1, 2024 Autor Partajează Postat Ianuarie 1, 2024 Acum raspunde la lumina insa e ceva extrem de ciudat. Senzorul de la A0 are o fluctuatie foarte mare, iar la intuneric se apropie de 0 (5-8). A1 in schimb variaza mult mai putin si chiar la intuneric arata valori de peste 1500.. Aici este senzor 1 la lumina jar s 2 la intuneric Aici este senzor 2 la lumina iar senzor 1 la intuneric Link spre comentariu
Stefan Postat Ianuarie 2, 2024 Partajează Postat Ianuarie 2, 2024 In primul rând trebuie sa va asigurați ca fotorezistoarele sunt in condiții bune de funcționare, asta presupun ca știți cum se poate face cu un simplu ohmmetru / multimetru. Daca ați respectat schema postata de Dvs. mai sus, deși exista si alte variante, valorile citite de la ADC trebui sa fie astfel: - fotorezistor la întuneric -> val. ADC apropiat de zero -> tensiunea măsurata la intrarea analogica corespunzătoare apropiata de 0V (cativa mV) - fotorezistor iluminat puternic -> val. ADC apropiat 4095 (de fapt 3723 din cauza rez. de 1K) -> tensiunea măsurata la intrarea analogica corespunzătoare apropiată de 3.3V (de fapt mai puțin de 3V din cauza rez. de 1K si daca presupunem ca fotorezistorul are rezistenta aproape de zero) Verificare intrări analogice folosind doua potențiometre. Link spre comentariu
aureliu67 Postat Ianuarie 2, 2024 Autor Partajează Postat Ianuarie 2, 2024 Chiar cu potentiometrul nu m-am dat seama sa verific. Fotorezistoarele sunt toate noi Iar PA1 niciodata nu scade mai putin de 1300 Incerc acum cu potentiometrul Link spre comentariu
aureliu67 Postat Ianuarie 3, 2024 Autor Partajează Postat Ianuarie 3, 2024 Am verificat LDR urile. La lumina unul 200om si altul 320 om. La intuneric 2mom ambele. Deci diferenta ar trebui sa fie destul de mica intre datele citite Link spre comentariu
Stefan Postat Ianuarie 3, 2024 Partajează Postat Ianuarie 3, 2024 In acest caz fotorezistoarele sunt in regula. Rămâne sa verificați intrările analogice prin metodele enumerate mai sus si schema, comportamentul descris nu corespunde cu schema postata. Link spre comentariu
aureliu67 Postat Ianuarie 3, 2024 Autor Partajează Postat Ianuarie 3, 2024 (editat) Aici aveti valorile fara senzori. doar cu cate un fir lipit de 5-10 cm lipit de A0 si A1 Alta cred ca este problema A1 Editat Ianuarie 3, 2024 de aureliu67 Link spre comentariu
aureliu67 Postat Ianuarie 3, 2024 Autor Partajează Postat Ianuarie 3, 2024 rezultatele testelor arata ca un port nu functioneaza Link spre comentariu
aureliu67 Postat Ianuarie 3, 2024 Autor Partajează Postat Ianuarie 3, 2024 Avem cam acelasi lucru si in cazul primului montaj. Deci concluzia este ca ceva nu e bine in ambele placute sau nu cunoastem ceva. AOLEU!! am vazut acum in program ca am incercat eu sa caut cauza si in loc de A0 am setat A2 intrarea.. Nu am refacut inapoi programuldiseara incerc din nou. Link spre comentariu
Stefan Postat Ianuarie 3, 2024 Partajează Postat Ianuarie 3, 2024 Postați si codul folosit dar exact cum li aveți acum, este mult prea ciudat ca din doua plăcute ambele sa fie cu probleme pe intrările analogice. In Arduino la Tools > Board > Boards manager dați in câmpul de căutate "STM32" si va rog sa-mi spuneți ce versiune va apare. După dați la Sketch > Export compiled Binary si postați aici fișierul .bin generat lângă fișierul .ino, Când am posibilitatea o sa-l încarc la mine pe plăcută sa vedem daca nu cumva problema este din codul generat. Link spre comentariu
aureliu67 Postat Ianuarie 3, 2024 Autor Partajează Postat Ianuarie 3, 2024 Acum A2 Merge bine (la primul montaj) sa vedem la al doilea // Include the necessary libraries #include <Arduino.h> // Define the analog pins for reading const int analogPin1 = PA1; // Change this to the correct pin number for the first sensor const int analogPin2 = PA2; // Change this to the correct pin number for the second sensor void setup() { // Start serial communication at a specific baud rate Serial.begin(9600); while (!Serial); // STM32 does not need pinMode for analogRead } void loop() { // Read the analog value from the first pin int value1 = analogRead(analogPin1); delay(300); // Read the analog value from the second pin int value2 = analogRead(analogPin2); delay(300); // Print the values to the Serial Monitor Serial.print("Sensor 1 Value: "); Serial.print(value1); delay(300); Serial.print("\tSensor 2 Value: "); Serial.println(value2); // A delay to avoid overwhelming the Serial Monitor delay(1000); } Scuze, este gresala mea! Am uitat ca orice modificare, la compilare se salveaza automat in fisierul sursa.. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum