
Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39




Γεια σας παιδιά, έχει περάσει πολύς καιρός από τότε που δημοσίευσα το τελευταίο μου εκπαιδευτικό. Λοιπόν, υπάρχουν πολλά πράγματα στο μυαλό μου αυτή τη στιγμή, αλλά κατάφερα να τεκμηριώσω τα "πρώτα μου βήματα" με τα τσιπ της σειράς ATTiny σε αυτό το σύντομο οδηγό για εσάς.
Παρήγγειλα μερικά δείγματα ATTINY85 μόνο και μόνο επειδή ήθελα να τα δοκιμάσω:-) (σε όλους αρέσει να δοκιμάζουν πράγματα, σωστά;). Μετά από αυτό άρχισα να σχεδιάζω μερικές ιδέες στο σημειωματάριό μου. Για να είμαι ειλικρινής, το πρώτο πράγμα που έκανα ήταν να αναβοσβήνει ένα LED που είναι όπως πάντα μια καλή αρχή για να ελέγξετε αν η εγκατάσταση/αλυσίδα εργαλείων σας λειτουργεί. Δοκίμασα επίσης έναν καταγραφέα θερμοκρασίας και υγρασίας με DHT22 και SoftwareSerial. Αυτό ήταν ένα δύσκολο γιατί οι βιβλιοθήκες DHT είναι κυρίως για ρολόι 16Mhz (αν σκοπεύετε να κάνετε κάτι τέτοιο, ελέγξτε πώς να κάνετε προεπιλογή του εσωτερικού ρολογιού). Αποφάσισα όμως να σας δείξω κάτι που είναι, πιο αστείο. -Π.
Χρησιμοποίησα μόνο πράγματα που είχα για να κρατήσω αυτό το έργο όσο το δυνατόν πιο φθηνό (για μένα). Το αποτέλεσμα αυτής της μικρής περιπέτειας είναι ένα ωραίο μικρό "ρομπότ που ακολουθεί το φως" για περίπου 10-15 $ (3 $ για μένα:-P)
Αν λοιπόν ενδιαφέρεστε για το ATTINY μόνοι σας διαβάστε περισσότερα.
BTW: συγνώμη για τα κακά μου αγγλικά (δεν είμαι φυσικός ομιλητής)
Βήμα 1: Ξεκινώντας με ATTiny & Εργαλεία & Υλικά




Τι θα χρειαστείτε για να ξεκινήσετε:
- ένα τσιπ ATTiny85
- ένα Arduino UNO ή παρόμοιο
-abreadboard με κάποιο jumper-wire ή έναν προγραμματιστή ATTINY ή φτιάξτε μόνοι σας έναν προγραμματιστή-ασπίδα για το Arduino (ελέγξτε τις συνημμένες εικόνες, υπάρχει ένα σχηματικό σχέδιο από το avdweb.nl). Έκανα επίσης αυτό και είμαι πολύ ευχαριστημένος με αυτό η μόνη τροποποίηση που έκανα ήταν ότι πρόσθεσα μια πρίζα για τη σειρά ATTinyx4 (ανατρέξτε στην εικόνα και τα διαγράμματα pinout).
- το Arduino IDE (πάρτε το εδώ)
- τα αρχεία υλικού για το ArduinoIDE (κατεβάστε και εγκαταστήστε τα)
Σύνδεσμος πληροφοριών προς την παιδική χαρά απευθείας σύνδεσμος προς τα αρχεία github που χρησιμοποίησα
- φορτώστε το Arduino ως ISP σκίτσο στο UNO (αυτός θα είναι ο προγραμματιστής σας)
- ακολουθήστε αυτήν την οδηγία (https://highlowtech.org/) ή αυτήν την οδηγία (από ardutronix) και δοκιμάστε το σκίτσο "κλείσιμο" (τροποποιήστε τον αριθμό PIN. χρησιμοποιήστε την εικόνα ATTINY ως αναφορά! θα χρειαστείτε το προθερμασμένο ATTINY ένα LED και μια αντίσταση O 220Ohm για αυτό)
Κάντε μια μικρή διάταξη για να ελέγξετε τα πάντα. Εάν τα έχετε κάνει όλα σωστά, το LED θα αναβοσβήνει και είστε έτοιμοι να πάτε
ΕΡΓΑΛΕΙΑ
- Συγκολλητικό σίδερο- κάποιο συγκολλητικό- ένας μικρός κοπτήρας- ένα ντέρμελ ή άλλο περιστροφικό εργαλείο (μόνο για το κόψιμο του PCB!)- μερικές καυτές κόλλες- τσιμπιδάκια- σύρματα
ΥΛΙΚΑ
- πρωτότυπο PCB (~ 4cmx6cm θα το κάνει)- 2x LDR- 5x 10k Resistor (2x για τα LDR και 2x για τα τρανζίστορ BE, 1x LED)- 1x 330Ohm Resistor (1x NEOPIXELS)- 2x LDR- 1x LED (χρώμα του δικού σας επιλογή, αντί του τροχού τροχού)- 3x NEOPIXEL WS2812- 2x τρανζίστορ (BD137 ή παρόμοιο)- 2x δίοδος (1N4001 ή παρόμοιο)- 2x μικροκινητήρας (π.χ. από μικρο-τετρακόπτερο Hubsan)- 1x ATTINY85 + προαιρετικό (συνιστάται) 8PIN IC Socket- 1x 1s LIPO (χρησιμοποίησα 140Ah από ένα παλιό ελικόπτερο RC)- μερικές κεφαλές/πρίζες- shrinktube (περίβλημα LDR)
Ας προχωρήσουμε στην κατασκευή του υλικού…
Βήμα 2: Υλικό



Αν ρίξετε μια ματιά στα σχήματα που επισυνάπτω, η ρύθμιση του υλικού είναι αρκετά απλή. Έτσι, αν είστε σε θέση να διαβάσετε σχηματικά και να χρησιμοποιήσετε κολλητήρι, αυτό είναι το μισό κόλπο. Επίσης, ρίξτε μια ματιά στις φωτογραφίες, πρόσθεσα μερικές σημειώσεις για εσάς.
Δεν παρέχω ένα σχέδιο για την κοπή του PCB, έχετε την ελευθερία να κάνετε το δικό σας σχέδιο (να είστε δημιουργικοί και να μας δείξετε τα Tiny Bots σας). Η τοποθέτηση όλων των ηλεκτρονικών εξαρτημάτων εξαρτάται επίσης από εσάς. Μερικές συμβουλές από την πλευρά μου:
Προσπαθήστε να ευθυγραμμίσετε με ακρίβεια τους κινητήρες (προσέξτε τη γωνία!) Χρησιμοποιούμε μόνο τον άξονα του κινητήρα αντί για τροχούς. (αυτό θα καταναλώσει λιγότερη ενέργεια) Συνιστώ να τοποθετήσετε τους κινητήρες κάτω από την μπαταρία (βάρος) και να χρησιμοποιήσετε τα LDR μπροστά (με γωνία 45 °) σε συνδυασμό με LED (προσπαθώ να χρησιμοποιήσω αυτόν τον συνδυασμό για αποφυγή εμποδίων, περαιτέρω χρειάζονται δοκιμές).
Επιπλέον, προτείνω να κάνετε λίγο βραχυκυκλωτήρα ενεργοποίησης/απενεργοποίησης, ώστε η μπαταρία να μην χαθεί τόσο εύκολα.
Εάν υπάρχει κάτι ασαφές ή εάν έχετε ερωτήσεις, απλώς ρωτήστε με. Δεν θα κάνει πολλά γηρατειά να κάνουν μια διατριβή από αυτό το μικρό έργο.
Βήμα 3: Λογισμικό


Κατεβάστε και εγκαταστήστε το ADAFRUIT Neopixel Library
Εδώ είναι ο κωδικός μου με μερικές σημαντικές περιγραφές (πρόσθεσα επίσης το αρχείο σκίτσου). Δεν σχολίασα κάθε βήμα γιατί πιστεύω ότι δεν είναι απαραίτητο.
Ανεβάστε το σκίτσο στο ATTiny85 και διασκεδάστε με το νέο σας παιχνίδι
Ιδέες για τη λειτουργία "προσωπικότητα" + ίσως τα παραδείγματα κώδικα είναι πολύ ευπρόσδεκτα:-)
Εάν υπάρχουν ερωτήσεις, μη διστάσετε να τις ρωτήσετε.
Ελπίζω να απολαύσατε το σύντομο διδακτικό μου και το μικρό ταξίδι στον κόσμο των ATTINY.
/* ATTINY85-Rata απλό ρομπότ που τροφοδοτείται με φως ATTINY85. Έκδοση 2.0, από Auer Markus */
#περιλαμβάνω
#περιλαμβάνω
// κινητήρες
#define LMOTOR 0 #define RMOTOR 1 // LEDs #define PIXELPIN 2 #define NUMPIXEL 3 // LDRs #define LLDR A2 #define RLDR A3
// otherint emo = 0; float calib? boolean emostate? μακριά oldmillis? // καθορισμός NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
void setup ()
{// upscale ρολόι αλλιώς θα αντιμετωπίσετε κάποια χρονικά προβλήματα (το lib neopixel γράφεται για 16MHz) #εάν οριστεί (_AVR_ATtiny85_) εάν (F_CPU == 16000000) clock_prescale_set (clock_div_1)? #τέλος εαν
// PINMODE pinMode (LMOTOR, OUTPUT); pinMode (RMOTOR, OUTPUT); pinMode (LLDR, INPUT); pinMode (LLDR, INPUT); // αρχικοποίηση εικονοστοιχείων PIXEL.begin (); PIXEL.show (); καθυστέρηση (500)? // startsequence για (int i = 0; i
κενός βρόχος ()
{if (lightfollow () == 1) {left (); } else if (lightfollow () == 2) {δεξιά (); } else if (lightfollow () == 0) {εμπρός (); } συναισθημα(); }
int lightfollow () {
int κατώφλι = 14; int αποτέλεσμα = 0; επιπλέουν αριστερά = 0; επιπλέουν δεξιά = 0; int δείγματα = 1; // διαβάστε LDR για (int j = 0; j <δείγματα; j ++) {
αριστερά = αριστερά + analogRead (LLDR); δεξιά = δεξιά + (analogRead (RLDR)*calib);
}
// Υπολογίστε το αποτέλεσμα (από ποια κατεύθυνση προέρχεται το φως;)
εάν ((αριστερά/δείγματα)> ((δεξιά/δείγματα)+κατώφλι)) {αποτέλεσμα = 2;}
αλλιώς εάν ((αριστερά/δείγματα) <((δεξιά/δείγματα) -κατώφλι)) {αποτέλεσμα = 1;}
else {result = 0;}
αποτέλεσμα επιστροφής? } void forward () {// Forward analogWrite (LMOTOR, 230); analogWrite (RMOTOR, 230); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
κενό αριστερά () {
// ΑΡΙΣΤΕΡΑ analogWrite (LMOTOR, 150); analogWrite (RMOTOR, 255); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); //PIXEL.setPixelColor(1, PIXEL. Color (75, 0, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 100, 0)); PIXEL.show (); }
άκυρο δικαίωμα () {
// RIGHT analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
// αυτό είναι για περαιτέρω πειράματα, προσπαθώντας να δώσω σε αυτόν μια μικρή προσωπικότητα:-) Δοκιμάζω τι θα μπορούσε να κάνει, αλλά δεν υπάρχουν ακόμα καλές ιδέες.
κενό συναίσθημα () {int emotimer = 2500; int διάρκεια = τυχαία (250, 750); if (millis () - oldmillis> emotimer) {oldmillis = millis (); emo = τυχαίο (1, 4); } if (millis () - oldmillis> διάρκεια) {emostate =! emostate; } if (emostate == true) {switch (emo) {case 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show (); Διακοπή; θήκη 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.show (); Διακοπή; θήκη 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.show (); Διακοπή; προεπιλογή: PIXEL.setPixelColor (1, PIXEL. Color (τυχαία (0, 255), τυχαία (0, 255), τυχαία (0, 255))); PIXEL.show (); Διακοπή; }} else {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show (); }}
Συνιστάται:
Retro Arcade - (Full Size Powered by Raspberry Pi): 8 βήματα

Retro Arcade - (Full Size Powered by Raspberry Pi): Αρχικά ήθελα να σας ευχαριστήσω που ρίξατε μια ματιά στον οδηγό κατασκευής για αυτό το σύστημα Retro Arcade. Παίρνω ένα παλαιότερο κουτί arcade και το τοποθετώ σε ένα αυτόνομο ντουλάπι με οθόνη ευρείας οθόνης 24 ιντσών. Οι μετρήσεις σε αυτόν τον οδηγό είναι δύσκολο να σας δώσουν
Ξύλινη οθόνη παιχνιδιών LED Powered by Raspberry Pi Zero: 11 βήματα (με εικόνες)

Ξύλινη οθόνη παιχνιδιών LED Powered by Raspberry Pi Zero: Αυτό το έργο υλοποιεί μια οθόνη LED βασισμένη σε WS2812 20x10 pixel με μέγεθος 78x35 cm, η οποία μπορεί εύκολα να εγκατασταθεί στο σαλόνι για να παίξει ρετρό παιχνίδια. Η πρώτη έκδοση αυτού του πίνακα χτίστηκε το 2016 και ανακατασκευάστηκε από πολλούς άλλους ανθρώπους. Αυτός ο έμπειρος
Muscle Powered Flappy Bird: 9 βήματα (με εικόνες)

Muscle Powered Flappy Bird: rememberσως θυμάστε όταν το Flappy Bird ξεσήκωσε τον κόσμο, τελικά έγινε τόσο δημοφιλές, ο δημιουργός το αφαίρεσε από τα καταστήματα εφαρμογών για να αποφύγει την ανεπιθύμητη δημοσιότητα. Αυτό είναι το Flappy Bird όπως δεν το έχετε ξαναδεί. συνδυάζοντας μερικά από τα ράφια
RC Powered Electric Toy Car: 10 Βήματα (με Εικόνες)

RC Powered Electric Toy Car: Από: Peter Tran 10ELT1Αυτό το σεμινάριο περιγράφει λεπτομερώς τη θεωρία, το σχεδιασμό, την κατασκευή και τη δοκιμή ενός ηλεκτρικού παιχνιδιού με τηλεχειριστήριο (RC) που χρησιμοποιεί τα τσιπ IC HT12E/D. Τα σεμινάρια περιγράφουν λεπτομερώς τα τρία στάδια του σχεδιασμού του αυτοκινήτου: Συνδεδεμένο καλώδιο Infrar
Ποντίκι DIY Lipo Powered: 6 βήματα

DIY Lipo Powered Mouse: Σε αυτό το έργο Modify it θα τροποποιήσουμε το ασύρματο ποντίκι που λειτουργεί με μπαταρία aa και θα μετατραπεί σε ασύρματο ποντίκι με δυνατότητα φόρτισης usb. Θέλω να κάνω αυτό το έργο επειδή η μπαταρία aa δεν διαρκεί πολύ για μένα. Και εξαντλείται γρήγορα η μπαταρία του. Επιλέγω λοιπόν το