Πίνακας περιεχομένων:

ARDUINO ENERGY METER: 10 βήματα (με εικόνες)
ARDUINO ENERGY METER: 10 βήματα (με εικόνες)

Βίντεο: ARDUINO ENERGY METER: 10 βήματα (με εικόνες)

Βίντεο: ARDUINO ENERGY METER: 10 βήματα (με εικόνες)
Βίντεο: How to use up to 10 push button switch with 1 Arduino input pin ANPB-V1 2024, Ιούλιος
Anonim
Image
Image
ARDUINO ENERGY METER
ARDUINO ENERGY METER
ARDUINO ENERGY METER
ARDUINO ENERGY METER

[Παίξε το βίντεο]

Ανήκω σε ένα χωριό της Οντίσα της Ινδίας όπου η συχνή διακοπή ρεύματος είναι πολύ συχνή. Εμποδίζει τη ζωή του καθενός. Κατά τη διάρκεια των παιδικών μου χρόνων, η συνέχιση των σπουδών μετά το σούρουπο ήταν μια πραγματική πρόκληση. Λόγω αυτού του προβλήματος σχεδίασα ένα ηλιακό σύστημα για το σπίτι μου σε πειραματική βάση. Χρησιμοποίησα ένα ηλιακό πάνελ 10 Watt, 6V για φωτισμό λίγων φωτεινών LED. Μετά από πολλές δυσκολίες το έργο ήταν επιτυχές. Τότε αποφάσισα να παρακολουθήσω την τάση, το ρεύμα, την ισχύ και την ενέργεια που εμπλέκονται στο σύστημα. Αυτό έφερε την ιδέα του σχεδιασμού ενός ΜΕΤΡΟΥ ΕΝΕΡΓΕΙΑΣ. Χρησιμοποίησα το ARDUINO ως την καρδιά αυτού του έργου επειδή είναι πολύ εύκολο να γράψω κώδικα στο IDE του και υπάρχουν τεράστιοι αριθμοί βιβλιοθήκης ανοιχτού κώδικα που διατίθενται στο διαδίκτυο και μπορούν να χρησιμοποιηθούν σύμφωνα με το απαίτηση. Έχω πειραματιστεί το έργο για πολύ μικρό ονομαστικό (10Watt) ηλιακό σύστημα, αλλά αυτό μπορεί εύκολα να τροποποιηθεί ώστε να χρησιμοποιηθεί για σύστημα υψηλότερης βαθμολογίας.

Μπορείτε να βρείτε όλα τα έργα μου στη διεύθυνση:

Χαρακτηριστικό: Παρακολούθηση ενέργειας από οθόνη 1. LCD 2. μέσω διαδικτύου (Xively upload) 3. Καταγραφή δεδομένων σε κάρτα SD

Μπορείτε να δείτε τον νέο μου εκπαιδευτικό ARDUINO MPPT SOLAR CHARGE CONTROLLER (Έκδοση-3.0)

Μπορείτε επίσης να δείτε τις άλλες οδηγίες μου

ARDUINO SOLAR CHARGE CONTROLLER (Έκδοση 2.0)

ARDUINO SOLAR CHARGE CONTROLLER (Έκδοση-1)

Βήμα 1: Απαιτούμενα μέρη:

Απαιτούμενα μέρη
Απαιτούμενα μέρη

1. ARDUINO UNO (Amazon) 2. ARDUINO ETHERNET SHIELD (Amazon)

3. LCD ΧΑΡΑΚΤΗΡΑΣ 16x2 (Amazon)

4. ACS 712 CURRENT SENSOR (Amazon) 4. ΑΝΤΙΣΤΑΣΕΙΣ (10k, 330ohm) (Amazon) 5. 10Κ ΠΟΤΕΝΣΙΟΜΕΤΡΟ (Amazon) 6. JUMPER WIRES (Amazon) 7. ETHERNET CABLE (Amazon) 8. ΠΙΝΑΚΑΣ REΩΜΙΟΥ (Amazon)

Βήμα 2: Δύναμη και Ενέργεια

Ισχύς: Η ισχύς είναι προϊόν τάσης (volt) και ρεύματος (Amp) P = VxI Μονάδα ισχύος είναι Watt ή KWΕνεργία: Η ενέργεια είναι προϊόν ισχύος (watt) και χρόνος (ώρα) E = Pxt Η μονάδα ενέργειας είναι Watt Hour ή Kilowatt Ourρα (kWh) Από τον παραπάνω τύπο είναι σαφές ότι για τη μέτρηση της ενέργειας χρειαζόμαστε τρεις παραμέτρους 1. Τάση 2. Ρεύμα 3. Χρόνος

Βήμα 3: Μέτρηση τάσης

Μέτρηση Τάσης
Μέτρηση Τάσης
Μέτρηση Τάσης
Μέτρηση Τάσης
Μέτρηση Τάσης
Μέτρηση Τάσης

Η τάση μετριέται με τη βοήθεια κυκλώματος διαχωριστή τάσης. Καθώς η τάση εισόδου του αναλογικού πείρου ARDUINO περιορίζεται στα 5V, σχεδίασα το διαχωριστή τάσης με τέτοιο τρόπο ώστε η τάση εξόδου από αυτό να είναι μικρότερη από 5V. Η μπαταρία μου χρησιμοποιείται για την αποθήκευση η ισχύς από τον ηλιακό πίνακα είναι 6v, 5,5Ah. Έτσι πρέπει να εγκαταλείψω αυτό το 6,5v σε τάση χαμηλότερη από 5V. Χρησιμοποίησα R1 = 10k και R2 = 10K. Η τιμή των R1 και R2 μπορεί να είναι χαμηλότερη, αλλά το πρόβλημα είναι ότι όταν η αντίσταση είναι χαμηλή υψηλότερη ροή ρεύματος διαμέσου αυτής ως αποτέλεσμα μεγάλη ποσότητα ισχύος (P = I^2R) διαχέεται με τη μορφή θερμότητας. Έτσι, μπορεί να επιλεγεί διαφορετική τιμή αντίστασης, αλλά πρέπει να ληφθεί μέριμνα για την ελαχιστοποίηση της απώλειας ισχύος στην αντίσταση. Vout = R2/(R1+R2)*Vbat Vbat = 6,5 όταν είναι πλήρως φορτισμένο R1 = 10k και R2 = 10k Vout = 10/(10+10)*6,5 = 3,25v που είναι χαμηλότερο από 5v και είναι κατάλληλο για αναλογικό pin ARDUINO ΣΗΜΕΙΩΣΗ I έχουν δείξει μπαταρία 9 Volt στο κύκλωμα γυμνού πίνακα είναι μόνο για παράδειγμα για να συνδέσετε τα καλώδια. Αλλά η πραγματική μπαταρία που χρησιμοποίησα είναι μπαταρία μολύβδου 6 Volt, 5,5Ah. Βαθμονόμηση τάσης: Όταν η μπαταρία φορτιστεί πλήρως (6,5v) θα πάρουμε a Vout = 3,25v και χαμηλότερη τιμή για άλλη χαμηλότερη τάση μπαταρίας. Το AEDUINO ADC μετατρέπει το αναλογικό σήμα στην αντίστοιχη ψηφιακή προσέγγιση. Όταν η τάση της μπαταρίας είναι 6,5v, πήρα 3,25v από το διαχωριστή τάσης και δείγμα1 = 696 σε σειριακή οθόνη, όπου το δείγμα 1 είναι η τιμή ADC αντιστοιχεί σε 3,25vΓια καλύτερη κατανόηση, επισυνάπτω την προσομοίωση σε πραγματικό χρόνο κατά 123D. 3.25v ισοδύναμο με 696 1 είναι ισοδύναμο με 3.25/696 = 4.669mv Vout = (4.669*δείγμα 1)/1000 volt Πραγματική τάση μπαταρίας = (2*Vout) volt VARDUINO ΚΩΔΙΚΟΣ: // λήψη 150 δειγμάτων από το διαχωριστή τάσης με ένα διάστημα 2 δευτερολέπτων και κατόπιν υπολογίστε κατά μέσο όρο τα δεδομένα δειγμάτων που συλλέχθηκαν για (int i = 0; i <150; i ++) {sample1 = sample1+analogRead (A2); // διαβάστε την τάση από την καθυστέρηση του κυκλώματος διαχωριστή (2). } sample1 = sample1/150; τάση = 4.669*2*δείγμα1/1000.

Βήμα 4: Τρέχουσα μέτρηση

Τρέχουσα Μέτρηση
Τρέχουσα Μέτρηση
Τρέχουσα Μέτρηση
Τρέχουσα Μέτρηση

Για την τρέχουσα μέτρηση χρησιμοποίησα έναν αισθητήρα ρεύματος Hall Effect ACS 712 (20 A). Υπάρχουν διαφορετικοί αισθητήρες ACS712 εύρους ρεύματος που διατίθενται στην αγορά, οπότε επιλέξτε σύμφωνα με τις απαιτήσεις σας. Στο διάγραμμα της σανίδας ψωμιού έχω δείξει το LED ως φορτίο αλλά το πραγματικό φορτίο είναι διαφορετικό. ΑΡΧΗ ΕΡΓΑΣΙΑΣ: Το φαινόμενο Hall είναι η παραγωγή διαφοράς τάσης (τάση Hall) σε έναν ηλεκτρικό αγωγό, εγκάρσια σε ηλεκτρικό ρεύμα στον αγωγό και μαγνητικό πεδίο κάθετο στο ρεύμα. Για να μάθετε περισσότερα για τον αισθητήρα Hall Effect κάντε κλικ εδώ VCC/2 = 5v/2 = 2.5VCalibration: Η αναλογική ανάγνωση παράγει μια τιμή 0-1023, που ισοδυναμεί με 0v έως 5v Άρα Αναλογική ανάγνωση 1 = (5/1024) V = 4.89mv Value = (4.89*Analog Read value)/ 1000 V Αλλά σύμφωνα με τα φύλλα δεδομένων η μετατόπιση είναι 2,5V (Όταν το μηδέν ρεύμα θα λάβετε 2,5V από την έξοδο του αισθητήρα) Πραγματική τιμή = (τιμή-2,5) V Ρεύμα σε ενισχυτή = πραγματική τιμή*10ARDUINO ΚΩΔΙΚΟΣ: // λήψη 150 δειγμάτων από αισθητήρες με διάστημα 2 δευτερολέπτων και στη συνέχεια μέση τιμή των δειγμάτων που συλλέχθηκαν για (int i = 0; i <150; i ++) {sample2+= analogRead (A3); // διαβάστε το ρεύμα από καθυστέρηση αισθητήρα (2). } sample2 = sample2/150; val = (5,0*δείγμα2)/1024,0; actualval = val-2,5; // η τάση μετατόπισης είναι 2,5v αμπέρ = πραγματική τιμή*10;

Βήμα 5: Μέτρηση χρόνου

Για τη μέτρηση του χρόνου δεν χρειάζεται εξωτερικό υλικό, καθώς το ίδιο το ARDUINO διαθέτει ενσωματωμένο χρονοδιακόπτη. Η συνάρτηση millis () επιστρέφει τον αριθμό των χιλιοστών του δευτερολέπτου από τότε που ο πίνακας Arduino άρχισε να τρέχει το τρέχον πρόγραμμα. ΚΩΔΙΚΟΣ ΑΡΔΟΥΝΙΟΥ: long milisec = millis (); // υπολογίστε το χρόνο σε χιλιοστά του δευτερολέπτου πολύ χρόνο = milisec/1000; // μετατροπή χιλιοστών του δευτερολέπτου σε δευτερόλεπτα

Βήμα 6: Πώς υπολογίζει η ARDUINO τη δύναμη και την ενέργεια

totamps = totamps+ενισχυτές? // Υπολογίστε συνολικούς ενισχυτές avgamps = totamps/time? // μέσος ενισχυτής amphr = (avgamps*χρόνος)/3600; // amp-ώρα watt = τάση*αμπέρ; // ισχύς = τάση*τρέχουσα ενέργεια = (watt*χρόνος)/3600; Το Watt-sec μετατρέπεται ξανά σε Watt-Hr διαιρώντας 1 ώρα (3600sec) // ενέργεια = (watt*χρόνος)/(1000*3600). για ανάγνωση σε kWh

Βήμα 7: Οπτική έξοδος

Οπτική έξοδος
Οπτική έξοδος

Όλα τα αποτελέσματα μπορούν να απεικονιστούν στη σειριακή οθόνη ή χρησιμοποιώντας LCD. Χρησιμοποίησα LCD χαρακτήρα 16x2 για να εμφανίσω όλα τα αποτελέσματα που είχαμε στα προηγούμενα βήματα. Για σχήματα δείτε το κύκλωμα της σανίδας ψωμιού που φαίνεται παραπάνω. Συνδέστε την οθόνη LCD με το ARDUINO όπως φαίνεται παρακάτω: LCD -> Arduino 1. VSS -> Arduino GND 2. VDD - > Arduino + 5v 3. VO -> Arduino GND pin + Resistor or Potentiometer 4. RS -> Arduino pin 8 5. RW -> Arduino pin 7 6. E -> Arduino pin 6 7. D0 -> Arduino -Not Connected 8. D1 -> Arduino -Δεν είναι συνδεδεμένο 9. D2 -> Arduino -Δεν είναι συνδεδεμένο 10. D3 -> Arduino -Δεν είναι συνδεδεμένο 11. D4 -> Arduino pin 5 12. D5 -> Arduino pin 4 13. D6 -> Arduino pin 3 14. D7 -> καρφίτσα Arduino 2 15. A -> Arduino Pin 13 + Resistor (Ισχύς οπίσθιου φωτισμού) 16. K -> Arduino GND (Γείος οπίσθιου φωτισμού) ΚΩΔΙΚΟΣ ARDUINO: Για σειριακή οθόνη:

Serial.print ("VOLTAGE:"); Serial.print (τάση); Serial.println ("Volt"); Serial.print ("CURRENT:"); Serial.print (ενισχυτές); Serial.println ("Ενισχυτές"); Serial.print ("POWER:"); Serial.print (watt); Serial.println ("Watt"); Serial.print ("ΚΑΤΑΝΑΛΩΣΗ ΕΝΕΡΓΕΙΑΣ:"); Serial.print (ενέργεια)? Serial.println ("Watt-Hour"); Serial.println (""); // εκτυπώστε τα επόμενα σύνολα παραμέτρων μετά από καθυστέρηση κενής γραμμής (2000). Για LCD: Για οθόνη LCD πρέπει πρώτα να εισαγάγετε τη βιβλιοθήκη "LiquidCrystal" στον κώδικα. Για να μάθετε περισσότερα για τη βιβλιοθήκη LequidCrystal κάντε κλικ εδώ Για φροντιστήριο LCD clickhere Ο ακόλουθος κώδικας είναι μια μορφή για να εμφανίζεται στην οθόνη LCD ολόκληρος ο υπολογισμός ισχύος και ενέργειας #include lcd (8, 7, 6, 5, 4, 3, 2); int backLight = 9; void setup () {pinMode (backLight, OUTPUT); // ορίστε το pin 9 ως έξοδο analogWrite (backLight, 150); // ελέγχει την ένταση του οπίσθιου φωτισμού 0-254 lcd.begin (16, 2). // στήλες, σειρές. μέγεθος οθόνης lcd.clear (); // καθαρίστε την οθόνη} void loop () {lcd.setCursor (16, 1); // ορίστε τον κέρσορα έξω από το πλήθος οθόνης lcd.print (""); // εκτύπωση καθυστέρησης κενού χαρακτήρα (600). ////////////////////////////////////////// Ισχύς και ενέργεια εκτύπωσης σε LCD/ ////////////////////////////////////////////////cc.setCursor (1, 0); // ορίστε τον κέρσορα στην 1η στήλη και την 1η σειρά lcd.print (watt); lcd.print ("W"); lcd.print (τάση); lcd.print ("V"); lcd.setCursor (1, 1); // ορίστε τον κέρσορα στην 1η στήλη και στη δεύτερη σειρά lcd.print (ενέργεια). lcd.print ("WH"); lcd.print (ενισχυτές) lcd.print ("A"); }

Βήμα 8: Μεταφόρτωση δεδομένων στο Xively.com

Μεταφόρτωση δεδομένων στο Xively.com
Μεταφόρτωση δεδομένων στο Xively.com
Μεταφόρτωση δεδομένων στο Xively.com
Μεταφόρτωση δεδομένων στο Xively.com
Μεταφόρτωση δεδομένων στο Xively.com
Μεταφόρτωση δεδομένων στο Xively.com

Ανατρέξτε στα παραπάνω στιγμιότυπα οθόνης για καλύτερη κατανόηση. Για μεταφόρτωση δεδομένων στο xively.com, πρέπει να κατεβάσετε πρώτα την ακόλουθη βιβλιοθήκη HttpClient: κάντε κλικ εδώXively: κάντε κλικ εδώ SPI: Εισαγωγή από arduino IDE (σκίτσο -> Εισαγωγή βιβλιοθήκης…..) Ethernet: Εισαγωγή από arduino IDE ((σκίτσο -> Εισαγωγή βιβλιοθήκης …..) Άνοιγμα λογαριασμού με https://xively.com (πρώην pachube.com και cosm.com) Εγγραφή για δωρεάν λογαριασμό προγραμματιστή στη διεύθυνση

Επιλέξτε όνομα χρήστη, κωδικό πρόσβασης, ορίστε τη διεύθυνση και τη ζώνη ώρας κλπ. Θα λάβετε ένα email επιβεβαίωσης

στη συνέχεια, κάντε κλικ στον σύνδεσμο ενεργοποίησης για να ενεργοποιήσετε τον λογαριασμό σας. Αφού ανοίξετε με επιτυχία τον λογαριασμό, θα προωθηθείτε στη σελίδα συσκευών ανάπτυξης

  • Κάντε κλικ στο πλαίσιο +Προσθήκη συσκευής
  • Δώστε ένα όνομα στη συσκευή σας και περιγραφή (π.χ. ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΕΝΕΡΓΕΙΑΣ) ·
  • Επιλέξτε ιδιωτικά ή δημόσια δεδομένα (επιλέγω ιδιωτικά) ·
  • Κάντε κλικ στην Προσθήκη συσκευής

Μετά την προσθήκη της συσκευής μεταφέρεστε σε μια νέα σελίδα όπου υπάρχουν πολλές σημαντικές πληροφορίες

  • Αναγνωριστικό προϊόντος, μυστικό προϊόντος, σειριακός αριθμός, κωδικός ενεργοποίησης ·
  • Feed ID, FeedURL, API End Point (Το Feed ID χρησιμοποιείται στον κωδικό ARDUINO)
  • Προσθήκη καναλιών (IChoose ENERGY και POWER, αλλά μπορείτε να επιλέξετε ανάλογα με την επιλογή σας) Δώστε μονάδα και σύμβολο για την παράμετρο ·
  • Προσθέστε την τοποθεσία σας ·
  • Κλειδιά API (χρησιμοποιούνται σε κωδικό ARDUINO, αποφύγετε να μοιραστείτε αυτόν τον αριθμό) ·
  • Ενεργοποιεί (σελίδα aweb ping όταν συνέβη ένα συμβάν, όπως όταν η κατανάλωση ενέργειας υπερβαίνει ένα ορισμένο όριο)

Βήμα 9: Xively και κωδικός ARDUINO

Εδώ επισυνάπτω τον πλήρη κώδικα (έκδοση beta) για τον μετρητή ενέργειας εξαιρουμένης της καταγραφής δεδομένων της κάρτας SD, ο οποίος επισυνάπτεται ξεχωριστά στο επόμενο βήμα. / ** Δεδομένα παρακολούθησης ενέργειας μεταφορτώστε στο xively **/ #include #include #include #include #define API_KEY "xxxxxxxx" // Εισαγάγετε το κλειδί Xively API #define FEED_ID xxxxxxxx // Εισαγάγετε το αναγνωριστικό τροφοδοσίας Xively // διεύθυνση MAC για Ethernet ασπίδα byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Αναλογική ακίδα που παρακολουθούμε (0 και 1 χρησιμοποιούνται από την ασπίδα Ethernet) int sensorPin = 2; unsigned long lastConnectionTime = 0; // την τελευταία φορά που συνδεθήκαμε στο Cosm const unsigned long connectionInterval = 15000; // καθυστέρηση μεταξύ της σύνδεσης στο Cosm σε χιλιοστά του δευτερολέπτου // Αρχικοποίηση της βιβλιοθήκης Cosm // Ορισμός της συμβολοσειράς για το αναγνωριστικό δεδομένων δεδομένων ροής αισθητήρα charId = "POWER"; char sensorId2 = "ΕΝΕΡΓΕΙΑ"; XivelyDatastream datastreams = {XivelyDatastream (sensorId, strlen (sensorId), DATASTREAM_FLOAT), XivelyDatastream (sensorId2, strlen (sensorId2), DATASTREAM_FLOAT), DATASTREAM_FLOAT),}; // Τυλίξτε τη ροή δεδομένων σε μια ροή ροής XivelyFeed (FEED_ID, ροές δεδομένων, 2/ * αριθμός ροών δεδομένων */). Πελάτης EthernetClient. XivelyClient xivelyclient (πελάτης). void setup () {Serial.begin (9600); Serial.println ("Αρχικοποίηση δικτύου"); while (Ethernet.begin (mac)! = 1) {Serial.println ("Σφάλμα λήψης διεύθυνσης IP μέσω DHCP, προσπάθεια ξανά …"); καθυστέρηση (15000)? } Serial.println ("Προγραμματισμός δικτύου"); Serial.println (); } void loop () {if (millis () - lastConnectionTime> connectionInterval) {sendData (); // αποστολή δεδομένων στο xively getData (); // διαβάστε το datastream πίσω από το xively lastConnectionTime = millis (); // ενημέρωση χρόνου σύνδεσης, ώστε να περιμένουμε πριν συνδεθούμε ξανά}} void sendData () {int sensor1 = watt; int sensor2 = ενέργεια; datastreams [0].setFloat (αισθητήρας1); // τιμή ισχύος datastreams [1].setFloat (αισθητήρας2); // ενεργειακή αξία Serial.print ("Read power"); Serial.println (datastreams [0].getFloat ()); Serial.print ("Ανάγνωση ενέργειας"); Serial.println (datastreams [1].getFloat ()); Serial.println ("Μεταφόρτωση στο Xively"); int ret = xivelyclient.put (ροή, API_KEY); Serial.print ("Κωδικός επιστροφής PUT:"); Serial.println (ret); Serial.println (); } // λάβετε την τιμή της ροής δεδομένων από το xively, εκτυπώνοντας την τιμή που λάβαμε void getData () {Serial.println ("Ανάγνωση δεδομένων από Xively"); int ret = xivelyclient.get (ροή, API_KEY); Serial.print ("GET return code:"); Serial.println (ret); if (ret> 0) {Serial.print ("Datastream is:"); Serial.println (ροή [0]); Serial.print ("Η τιμή ισχύος είναι:"); Serial.println (ροή [0].getFloat ()); Serial.print ("Datastream is:"); Serial.println (ροή [1]); Serial.print ("Η ενεργειακή αξία είναι:"); Serial.println (ροή [1].getFloat ()); } Serial.println ();

Βήμα 10: Καταγραφή δεδομένων σε κάρτα SD

Για την αποθήκευση δεδομένων σε μια κάρτα SD πρέπει να εισαγάγετε τη βιβλιοθήκη SD Για εκπαιδευτικό πρόγραμμα κάντε κλικ εδώ Για να μάθετε περισσότερα σχετικά με τη βιβλιοθήκη SD κάντε κλικ εδώ Ο κωδικός για την αποθήκευση δεδομένων σε μια κάρτα SD γράφεται ξεχωριστά καθώς δεν έχω επαρκή μνήμη στο ARDUINO UNO μετά εγγραφή κώδικα για οθόνη LCD και μεταφόρτωση δεδομένων xively.com. Αλλά προσπαθώ να βελτιώσω τον κώδικα της έκδοσης beta, έτσι ώστε ένας κωδικός να μπορεί να περιέχει όλες τις δυνατότητες (οθόνη LCD, μεταφόρτωση δεδομένων Xively και αποθήκευση δεδομένων σε κάρτα SD). Ο κώδικας για την καταγραφή δεδομένων επισυνάπτεται παρακάτω. Εάν κάποιος γράψει ένα καλύτερος κώδικας τροποποιώντας τον κωδικό μου, παρακαλώ μοιραστείτε τον μαζί μου. Αυτό είναι το πρώτο μου τεχνικό οδηγό, αν κάποιος βρει κάποιο λάθος σε αυτό, μη διστάσετε να σχολιάσετε.. για να βελτιωθώ. Εάν βρείτε τομείς βελτίωσης σε αυτό το έργο, σχολιάστε ή στείλτε μου μήνυμα, Έτσι το έργο θα είναι πιο ισχυρό. Νομίζω ότι θα είναι χρήσιμο για άλλους καθώς και για μένα.

Διαγωνισμός κυκλωμάτων 123D
Διαγωνισμός κυκλωμάτων 123D
Διαγωνισμός κυκλωμάτων 123D
Διαγωνισμός κυκλωμάτων 123D

Τρίτο βραβείο στον διαγωνισμό 123D Circuits

Συνιστάται: