Sadržaj:
Video: ATTiny-RAT, ATTINY napajani mini svjetlosni sljedbenik: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Zdravo raja, prošlo je dosta vremena od kada sam objavio svoju posljednju instrukciju. Pa, mnoge stvari mi se trenutno vrte po glavi, ali uspio sam dokumentirati svoje "prve korake" sa čipovima ATTiny serije u ovom kratkom uputstvu za vas.
Naručio sam neke uzorke ATTINY85 samo zato što sam ih želio testirati:-) (svi vole testirati stvari, zar ne?) Nakon toga počeo sam crtati neke ideje u svoju bilježnicu. Da budem iskren, prvo što sam učinio je treptanje LED diode, što je kao i uvijek dobar početak za provjeru funkcionira li vaše postavljanje/lanac alata. Također sam isprobao zapisnik o temperaturi i vlažnosti s DHT22 i SoftwareSerial. To je bilo lukavo jer su DHT biblioteke uglavnom namijenjene taktu od 16 MHz (ako planirate učiniti nešto slično, provjerite kako unaprijed podesiti interni sat). Ali odlučio sam da vam pokažem nešto što je, pa, samo smiješnije. BTW: Postavio sam jedan od mojih crteža za vas, nije Rembrandtov, ali će vam pokazati kako sam ovu (zaista) glupu ideju dobio na komad papira: -P.
Koristio sam samo stvari koje sam ležao kako bih ovaj projekt učinio što jeftinijim (za mene). Rezultat ove male avanture je lijepi mali "svjetlosni robot" za oko 10-15 $ (3 $ za mene:-P)
Dakle, ako ste i sami zainteresirani za ATTINY, pročitajte dalje.
BTW: oprostite na lošem engleskom (nisam izvorni govornik)
Korak 1: Započnite s ATTiny & Tools & Materials
Šta će vam trebati za početak:
- ATTiny85 čip
- Arduino UNO ili slično
-abreadboard s nekom džamperskom žicom ili ATTINY programatorom ili sami napravite štitnik za programer za Arduino (provjerite priložene slike, postoji shema sa avdweb.nl). Napravio sam i ovaj i zaista sam zadovoljan s njim. Jedina izmjena koju sam napravio je da sam dodao utičnicu za ATTinyx4 seriju (pogledajte sliku i dijagrame iscrtavanja).
- Arduino IDE (nabavite ga ovdje)
- hardverske datoteke za ArduinoIDE (preuzmite ih i instalirajte)
Info-veza do igralištadirektna veza do github datoteka koje sam koristio
- učitajte skicu Arduina kao ISP -a na UNO (ovo će biti vaš programer)
- slijedite ovo uputstvo (https://highlowtech.org/) ili ovo uputstvo (autor ardutronix) i isprobajte skicu "treptanja" (izmijenite PIN broj. upotrijebite sliku ATTINY kao referencu! trebat će vam unaprijed utisnuta LED dioda ATTINY i otpornik od ~ 220Ohm za to)
Napravite malu ploču za postavljanje kako biste provjerili sve. Ako ste sve učinili kako treba, LED će treptati i spremni ste za rad
ALATI
- lemilica- malo lemljenja- mala žica za rezanje- dremel ili drugi rotacijski alat (samo za rezanje PCB-a)- malo vrućeg ljepila- pinceta- žice
MATERIJALI
- prototipiranje PCB-a (~ 4cmx6cm će to učiniti)- 2x LDR- 5x 10k otpornik (2x za LDR-ove i 2x za tranzistore BE, 1x LED)- 1x 330Ohm otpornik (1x NEOPIXELS)- 2x LDR-1x LED (boja vaše izbor, umjesto kotačića)- 3x NEOPIXEL WS2812- 2x tranzistor (BD137 ili slično)- 2x dioda (1N4001 ili slično)- 2x mikromotor (npr. iz Hubsanovog mikro kvadrokoptera)- 1x ATTINY85 + opcionalno (preporučeno) 8PIN IC utičnica- 1x 1s LIPO (koristio sam 140Ah iz starog RC-helikoptera)- neki pinheaders/utičnice- skupljajuća cijev (LDR kućište)
Nastavimo s izgradnjom hardvera …
Korak 2: Hardver
Ako pogledate sheme koje sam priložio, postavljanje hardvera je prilično jednostavno. Dakle, ako znate čitati sheme i koristiti lemilicu, to je pola trika. Pogledajte i fotografije, dodao sam vam neke bilješke.
Ne dajem plan za rezanje PCB -a, imate slobodu da napravite vlastiti dizajn (budite kreativni i pokažite nam svoje Sitne botove). Na vama je i postavljanje svih elektroničkih komponenti. Neki savjeti sa moje strane:
Pokušajte precizno poravnati motore (pazite na kut!) Koristimo samo osovinu motora umjesto kotača. (ovo će trošiti manje energije) Preporučujem da postavite motore ispod baterije (težina) i da koristite LDR -ove sprijeda (pod kutom od 45 °) uparene sa LED diodom (pokušavam koristiti ovu kombinaciju za izbjegavanje prepreka, dalje potrebni su testovi).
Nadalje, preporučujem da napravite mali prekidač za uključivanje/isključivanje kako se baterija ne bi tako lako izgubila.
Ako imate nešto nejasno ili imate pitanja, samo me pitajte. Neće učiniti puno senasa da naprave tezu od ovog malog projekta.
Korak 3: Softver
Prvo preuzmite i instalirajte ADAFRUIT Neopixel Library
Evo mog koda s nekim većim opisima (dodao sam i datoteku skice). Nisam komentirao svaki korak jer mislim da nije potrebno.
Prenesite skicu na svoj ATTiny85 i zabavite se s novom igračkom
Ideje za funkciju "osobnosti" + možda su primjeri kodova dobrodošli:-)
Ako imate pitanja, slobodno pitajte.
Nadam se da ste uživali u mom kratkom uputstvu i malom putovanju u svijet ATTINY -a.
/* ATTINY85-Rata jednostavan robot koji prati ATTINY85 sa svjetlom. Verzija 2.0, autor Auer Markus */
#include
#include
// motori
#define LMOTOR 0 #define RMOTOR 1 // LED diode #define PIXELPIN 2 #define NUMPIXEL 3 // LDRs #define LLDR A2 #define RLDR A3
// otherint emo = 0; float calib; boolean emostate; longmillis; // definiramo NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
void setup ()
{// upscale clock inače ćete naići na neke vremenske probleme (neopixel lib je napisan za 16MHz) #if definirano (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif
// PINMODE pinMode (LMOTOR, OUTPUT); pinMode (RMOTOR, OUTPUT); pinMode (LLDR, INPUT); pinMode (LLDR, INPUT); // inicijaliziranje piksela PIXEL.begin (); PIXEL.show (); kašnjenje (500); // startsequence za (int i = 0; i
void loop ()
{if (lightfollow () == 1) {left (); } else if (lightfollow () == 2) {right (); } else if (lightfollow () == 0) {forward (); } emocija (); }
int lightfollow () {
int treshold = 14; int rezultat = 0; float left = 0; lebdi desno = 0; int uzorci = 1; // čita LDR za (int j = 0; j <uzorci; j ++) {
lijevo = lijevo + analogno čitanje (LLDR); desno = desno + (analogno čitanje (RLDR)*kalibracija);
}
// izračunati rezultat (iz kojeg smjera dolazi svjetlost?)
if ((lijevo/uzorci)> ((desno/uzorci)+prag)) {rezultat = 2;}
inače if ((lijevo/uzorci) <((desno/uzorci) -prag)) {rezultat = 1;}
else {rezultat = 0;}
povratni rezultat; } void forward () {// Proslijedi analogWrite (LMOTOR, 230); analogWrite (RMOTOR, 230); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
void left () {
// LIJEVO 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 (); }
void right () {
// DESNO analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
// ovo je za daljnje eksperimente, pokušavajući ovom dati malo osobnosti:-) testiram što bih mogao učiniti, ali još nema dobrih ideja.
void emotion () {int emotimer = 2500; int duration = random (250, 750); if (millis () - oldmillis> emotimer) {oldmillis = millis (); emo = slučajno (1, 4); } if (millis () - oldmillis> trajanje) {emostate =! emostate; } if (emostate == true) {switch (emo) {case 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show (); break; slučaj 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.show (); break; slučaj 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.show (); break; zadano: PIXEL.setPixelColor (1, PIXEL. Color (nasumično (0, 255), nasumično (0, 255), nasumično (0, 255))); PIXEL.show (); break; }} else {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show (); }}
Preporučuje se:
Sljedbenik linije na Tinkercadu: 3 koraka
Line Follower na Tinkercad-u: A-Line Follower Robot, kao što ime sugerira, je automatizirano vođeno vozilo koje slijedi vizualnu liniju ugrađenu na pod ili strop. Obično je vizualna linija put kojim ide robot za praćenje linija i to će biti crna linija na kojoj
Arduino napajani multimetar: 8 koraka (sa slikama)
Arduino napajani multimetar: U ovom ćete projektu izgraditi voltmetar i ohmmetar pomoću funkcije digitalRead na Arduinu. Moći ćete očitati gotovo svaku milisekundu, mnogo preciznije od tipičnog multimetra. Konačno, podacima se može pristupiti putem
EWON Raspberry Pi napajani kućni robot: 7 koraka (sa slikama)
EWON Raspberry Pi Powered Home Robot: Nedavno sam se zaokupio gledajući mnogo Netflixovih serija zbog trenutne situacije, nadam se da ste svi na sigurnom, i vidio sam da je izašla peta sezona Black Mirrora. Antologijska serija koja se vrti oko grupe ličnog života ljudi
Jednostavan sljedbenik linije pomoću Arduina: 5 koraka
Jednostavan sljedbenik linija pomoću Arduina: Arduino robot sljedbenik linija U ovom vodiču ćemo raspravljati o radu robota koji slijedi Arduino, koji će slijediti crnu liniju u bijeloj pozadini i ispravno skrenuti kad god dosegne krivulje na svom putu. Arduino Line Follower Co
Laki robot: Svjetlosni sljedbenik: 4 koraka
Laki robot: Svjetlosni sljedbenik: Bez programiranja ili mikročipova! Roboti, nešto najstrašnije što postoji, posebno kada ga može napraviti veliki broj ljudi! Ovaj robot sam dobio od prijatelja na poklon. hvala Rudolf.U svakom slučaju, ovaj robot koristi 2 otpornika ovisna o svjetlu kako bi osjetio svjetlo i