Përmbajtje:

Komplot me intensitet të lehtë duke përdorur Arduino dhe Bibliotekën Arduino të Python: 5 hapa
Komplot me intensitet të lehtë duke përdorur Arduino dhe Bibliotekën Arduino të Python: 5 hapa

Video: Komplot me intensitet të lehtë duke përdorur Arduino dhe Bibliotekën Arduino të Python: 5 hapa

Video: Komplot me intensitet të lehtë duke përdorur Arduino dhe Bibliotekën Arduino të Python: 5 hapa
Video: Контрольная лампа переменного тока с диммером Arduino AC 2024, Nëntor
Anonim
Komplot me intensitet të lehtë duke përdorur Bibliotekën Master Arduino dhe Python të Arduino
Komplot me intensitet të lehtë duke përdorur Bibliotekën Master Arduino dhe Python të Arduino

Arduino duke qenë një mjet ekonomik por shumë efikas dhe funksional, programimi i tij në Embedded C e bën procesin e bërjes së projekteve të lodhshme! Moduli Arduino_Master i Python e thjeshton këtë dhe na lejon të kryejmë llogaritjet, të heqim vlerat e mbeturinave dhe të vizatojmë një grafik për një paraqitje vizuale të të dhënave.

Nëse nuk dini ende për këtë modul, instalojeni duke përdorur komandën pip install Arduino_Master

Mos u shqetësoni nëse nuk dini si ta përdorni këtë modul, vizitoni këtë lidhje => Arduino_Master

Sidoqoftë, kodi për këtë projekt do të jetë gjithmonë i disponueshëm në këtë udhëzues.

Furnizimet

Për këtë projekt, do t'ju duhet sa vijon:

  1. Një Arduino
  2. Një rezistencë e varur nga drita (LDR) dhe
  3. Python 3 është instaluar në kompjuterin tuaj.

Hapi 1: Ndërtimi i qarkut tuaj:

Ndërtimi i qarkut tuaj
Ndërtimi i qarkut tuaj

Ne do të përdorim pinin A1 të Arduino për të marrë të dhëna hyrëse. Ju gjithashtu mund të përdorni kunjat 5V dhe GND të Arduino në vend të Baterisë. Bëni lidhjen si më poshtë:

  1. Lidhni një skaj të LDR me terminalin pozitiv të një baterie 5V ose me pinin 5V të Arduino.
  2. Lidhni skajin tjetër të LDR paralelisht me pin A1 dhe terminalin negativ të baterisë ose pin GND të Arduino.
  3. Përdorni një rezistencë për t'u siguruar që e gjithë rryma të mos rrjedhë në GND, gjë që do t'ju rezultojë në marrjen e një sinjali mjaft të fortë për të ndjerë në terminalin A1 të Arduino. (Unë jam duke përdorur një rezistencë prej 10k Ohm).

Hapi 2: Programimi i Arduino -s tuaj:

Moduli Arduino_Master përdor Serial Monitor të Arduino për të dërguar dhe marrë të dhëna. Avantazhi i përdorimit të këtij moduli është, pasi të programoni Arduino -n tuaj, mund ta ndryshoni programin python vetëm për projekte të ndryshme pasi programimi në python është relativisht më i lehtë!

Kodi:

// Ndryshorja LDR_1 përdoret për të treguar pinin A1 të Arduino.

int LDR_1 = A1;

// Të dhënat e marra nga A1 do të ruhen në LDR_Value_1.

noton LDR_Vlera_1;

String input;

void setup ()

{pinMode (LDR_1, INPUT); // LDR_1 është vendosur si një pin INPUT. Serial.filloj (9600); // Baudrati i komunikimit është vendosur në 9600.}

lak void ()

{if (Serial.available ()> 0) // nëse ndonjë input është i disponueshëm në monitorin serik atëherë vazhdoni. {input = Serial.readString (); // Lexoni hyrjen si një varg. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5 /1023) është faktori i konvertimit për të marrë vlerën në volt. Serial.println (LDR_Value_1); // Nëse hyrja është e barabartë me "DATA", atëherë lexoni hyrjen nga LDR_1 dhe printojeni në Serial Monitor. } tjetër int i = 0; // nëse hyrja nuk është e barabartë me "DATA", mos bëni asgjë! }

}

Hapi 3: Programimi i Python për të grafikuar të dhënat nga Arduino:

Secila LDR do të kishte vlerat e veta të rezistencës dhe ne duhet të mbajmë mend se jo për komponentët elektronikë nuk janë kurrë identikë në funksionim. Kështu së pari duhet të gjejmë tensionin në intensitete të ndryshme të dritës.

Ngarko programin e mëposhtëm në python IDE dhe drejtoje atë:

Bëni këtë për intensitete të ndryshme të dritës dhe duke përdorur grafikun nxirrni një përfundim thoni për shembull nëse intensiteti është më i vogël se 1, dhoma është shumë e errët. Për intensitetin midis 1 dhe 2, dhoma është shumë e errët. Për intensitet më të madh se 2, drita ndizet.

# Importimi i modulit Arduino_Master

nga importi Arduino_Master *

# mbledhjen e të dhënave

të dhëna = filtër (ardata (8, shtrydh = E gabuar, dinamike = E vërtetë, msg = "DATA", rreshta = 30), lloji i pritshëm = 'num', limit = [0, 5])

# limiti është vendosur në 5 pasi ne po përdorim një bateri 5V.

# Komplotimi i vlerave

Grafiku (të dhëna, stl = 'sfondi i errët', etiketa = 'Intensiteti i dritës')

Hapi 4: Programi përfundimtar për të kontrolluar intensitetin e dritës në një dhomë

Pasi të arrini në një përfundim nga të dhënat që keni marrë, ngarkoni programin e mëposhtëm dhe sigurohuni që të ndryshoni kufijtë sipas përfundimit tuaj.

# Importimi i modulit Arduino_Master

nga Arduino_Master import # grumbullimi i të dhënave të dhënave = filtër (ardata (8, shtrydhje = E gabuar, dinamike = E vërtetë, msg = "DATA", rreshta = 50), lloji i pritshëm = 'num', limit = [0, 5]) # klasifikimi i të dhënave bazuar në përfundimin info = për i në rang (len (të dhëna)): intensiteti = të dhëna nëse intensiteti 1 dhe intensiteti = 2: info.append ('Light ON') # Hartimi i grafikut. compGraph (të dhëna, info, stl = 'errësirë_fondi', label1 = 'Intensitet i dritës', etiketë2 = 'Gjendje')

Hapi 5: Rezultati:

Rezultati
Rezultati

Programi do të zgjasë një ose dy minuta për të ekzekutuar pasi po lexoni 50 vlera të menjëhershme nga Arduino.

Nëse doni të shpejtoni procesin, provoni të ndryshoni parametrin e linjave të funksionit të të dhënave. Por mbani mend se sa më pak vëzhgime, aq më e ulët do të ishte cilësia e të dhënave.

Shënim: Nëse grafiku i plotë në figurën e mësipërme nuk është i dukshëm, referojuni grafikut sipër seksionit Hyrje.

Recommended: