Sari la conținut
ELFORUM - Forumul electronistilor

Arduino IDE-STM32duino bootloader.


aureliu67

Postări Recomandate

  • Răspunsuri 33
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • aureliu67

    21

  • Stefan

    8

  • nico_2010

    2

  • modoran

    1

Top autori în acest subiect

Imagini postate

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.

Untitled.jpg

Editat de aureliu67
Link spre comentariu

@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

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

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

image.thumb.png.3eeb01ffcf0bc93b3ee0abb1047cad96.png

 

Aici este senzor 2 la lumina iar senzor 1 la intuneric

image.thumb.png.97b01505ac50d57acbfcface40dbaee8.png

 

 

Link spre comentariu

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

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 

image.thumb.png.16427edb59b8c6b1d65db6815503b993.pngA1

Editat de aureliu67
Link spre comentariu

Avem cam acelasi lucru si in cazul primului montaj. Deci concluzia este ca ceva nu e bine in ambele placute sau nu cunoastem ceva.

 

testare port.jpg

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

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

image.thumb.png.54908788cd1b9cd6560f73da977f6c1d.png

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

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări