INHOUDSOPGAWE:
Video: ATTiny-RAT, ATTINY-aangedrewe mini-ligvolger: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hallo mense, dit was 'n rukkie sedert ek my laaste instruksies geplaas het. Wel, daar is baie dinge wat nou in my kop rondloop, maar ek het daarin geslaag om my "eerste stappe" te dokumenteer met die ATTiny-reeks skyfies in hierdie kort instruksies vir u.
Ek het 'n paar ATTINY85 monsters bestel net omdat ek dit wou toets:-) (almal hou daarvan om dinge te toets, nie waar nie?). Daarna het ek 'n paar idees in my notaboek begin teken. Om eerlik te wees, die eerste ding wat ek gedoen het, was om 'n LED te knipper, wat altyd 'n goeie begin is om te kyk of u opstelling/werktuigketting werk. Ek het ook 'n temperatuur- en humiditeitsregistreerder probeer met DHT22 en SoftwareSerial. Dit was 'n moeilike een, want die DHT -biblioteke is hoofsaaklik vir 'n 16Mhz -klok (as u van plan is om so iets te doen, kyk hoe u die interne klok vooraf kan afskaal). Maar ek het besluit om jou iets te wys wat wel snaaks is. BTW: Ek het een van my tekeninge vir jou opgelaai, dit is nie 'n Rembrandt nie, maar dit sal jou wys hoe ek hierdie (regtig) dom idee op 'n stuk papier gekry het: -P.
Ek het slegs dinge wat ek gehad het, gebruik om hierdie projek so goedkoop as moontlik te hou (vir my). Die resultaat van hierdie klein avontuur is 'n lekker klein "robot" vir ongeveer 10-15 $ (3 $ vir my:-P)
Dus, as u self in ATTINY belangstel, lees net verder.
BTW: jammer vir my swak Engels (ek is nie 'n moedertaalspreker nie)
Stap 1: Aan die gang met ATTiny en gereedskap en materiaal
Wat u nodig het om te begin:
- 'n ATTiny85 -chip
- 'n Arduino UNO of soortgelyke
-'n bord met 'n stuk draad of 'n ATTINY-programmeerder, of maak self 'n programmeringsskerm vir Arduino (kyk na die aangehegte foto's, daar is 'n skematiese weergawe van avdweb.nl). Ek het hierdie een ook gemaak en ek is regtig gelukkig daarmee. Die enigste verandering wat ek aangebring het, was dat ek 'n aansluiting vir die ATTinyx4-reeks bygevoeg het (verwys na die prentjie en die pinout-diagramme).
- die Arduino IDE (kry dit hier)
- die hardwarebestande vir die ArduinoIDE (laai dit af en installeer dit)
Info-skakel na die speelplek-skakel Skakel na die github-lêers wat ek gebruik het
- laai die Arduino as ISP -skets op die UNO (dit is u programmeerder)
- volg hierdie instruksie (https://highlowtech.org/) of hierdie instruksies (deur ardutronix) en probeer die "knip" -skets (verander die PIN -nr. gebruik die ATTINY -prent as verwysing! u benodig die voorafgeplaasde ATTINY 'n LED en 'n weerstand van ~ 220 Ohm daarvoor)
Maak 'n klein broodbord om alles na te gaan. As u alles reg gedoen het, knipper die LED en is u gereed om te gaan
GEREEDSKAP
- Soldeerbout- 'n paar soldeersels- 'n klein wirecutter- 'n dremel of ander roterende gereedskap (net om die PCB te sny!)- 'n paar warmgom- pincet- drade
MATERIAAL
- prototipe PCB (~ 4cmx6cm sal dit doen)- 2x LDR- 5x 10k Weerstand (2x vir die LDR's en 2x vir die transistors BE, 1x LED)- 1x 330Ohm Weerstand (1x NEOPIXELS)- 2x LDR- 1x LED (kleur van u keuse, in plaas van die wielwiel)- 3x NEOPIXEL WS2812- 2x Transistor (BD137 of soortgelyk)- 2x Diode (1N4001 of soortgelyk)- 2x mikromotor (bv. vanaf 'n Hubsan mikro-quadcopter)- 1x ATTINY85 + opsioneel (aanbeveel) 8PIN IC Socket- 1x 1s LIPO (ek het 'n 140Ah van 'n ou RC-helikopter gebruik)- 'n paar speldekop/voetstukke- shrinktube (LDR-behuising)
Laat ons voortgaan met die bou van die hardeware …
Stap 2: Hardeware
As u na die skema's wat ek aangeheg het, kyk, is die hardeware -opstelling redelik eenvoudig. As u dus skemas kan lees en 'n soldeerbout kan gebruik, is dit die helfte van die truuk. Kyk ook na die foto's, ek het 'n paar notas vir u bygevoeg.
Ek gee nie 'n plan om die PCB te sny nie; u het die vryheid om u eie ontwerp te maak (wees kreatief en wys ons u Tiny Bots). Die plasing van al die elektroniese komponente is ook aan u. 'N Paar wenke van my kant af:
Probeer om die motors presies in lyn te bring (kyk na die hoek!) Ons gebruik slegs die motoras in plaas van wiele. (dit sal minder energie verbruik) toetse is nodig).
Verder beveel ek aan om 'n klein aan/af -trui te maak, sodat die battery nie so maklik verdwaal nie.
As daar iets onduidelik is of as u vrae het, vra my dit net. Dit sal nie veel senes maak om 'n proefskrif te maak van hierdie klein projek nie.
Stap 3: sagteware
Laai en installeer ADAFRUIT Neopixel -biblioteek in die eerste plek
Hier is my kode met 'n paar belangrike beskrywings (ek het ook die sketslêer bygevoeg). Ek het nie elke stap kommentaar gelewer nie, want ek dink dit is nie nodig nie.
Laai die skets op u ATTiny85 op en geniet dit met u nuwe speelding
Idees vir 'persoonlikheid'-funksie + miskien is kode-voorbeelde baie welkom:-)
As daar enige vrae is, vra dit gerus.
Ek hoop dat u my kort instruksies en die klein uitstappie in die wêreld van ATTINY's geniet het.
/* ATTINY85-Rata eenvoudige ATTINY85 aangedrewe ligvolgende robot. Weergawe 2.0, deur Auer Markus */
#insluit
#insluit
// motors
#definieer LMOTOR 0 #definieer RMOTOR 1 // LED's #definieer PIXELPIN 2 #definieer NUMPIXEL 3 // LDR's #definieer LLDR A2 #definieer RLDR A3
// anderint emo = 0; vlotterkalib; booleaanse emostaat; lang oumillies; // definieer NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
leemte opstelling ()
{// luukse klok anders sal u probleme met tydsberekening ondervind (die neopixel lib word vir 16MHz geskryf) #as gedefinieer (_AVR_ATtiny85_) as (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif
// PINMODE pinMode (LMOTOR, UITGANG); pinMode (RMOTOR, UITPUT); pinMode (LLDR, INVOER); pinMode (LLDR, INVOER); // initialiseer pixels PIXEL.begin (); PIXEL.show (); vertraging (500); // beginvolgorde vir (int i = 0; i
leemte lus ()
{if (lightfollow () == 1) {links (); } anders as (lightfollow () == 2) {right (); } anders as (lightfollow () == 0) {forward (); } emosie (); }
int lightfollow () {
int treshold = 14; int resultaat = 0; dryf links = 0; dryf regs = 0; int monsters = 1; // lees LDR's vir (int j = 0; j <samples; j ++) {
links = links + analogRead (LLDR); regs = regs + (analogRead (RLDR)*kalib);
}
// bereken die resultaat (uit watter rigting kom die lig?)
if ((links/monsters)> ((regs/monsters)+drempel)) {result = 2;}
anders as ((links/monsters) <((regs/monsters) -treshold)) {result = 1;}
anders {resultaat = 0;}
terugkeer resultaat; } 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 (); }
leegte links () {
// LINKS 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 (); }
nietig reg () {
// REGS analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
// dit is vir verdere eksperimente, probeer om hierdie persoonlikheid 'n bietjie persoonlikheid te gee:-) ek toets wat ek kan doen, maar nog geen goeie idees nie.
leemte emosie () {int emotimer = 2500; int duur = ewekansig (250, 750); as (millis () - oldmillis> emotimer) {oldmillis = millis (); emo = ewekansig (1, 4); } if (millis () - oldmillis> duration) {emostate =! emostate; } if (emostate == true) {switch (emo) {case 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show (); breek; geval 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.show (); breek; geval 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.show (); breek; standaard: PIXEL.setPixelColor (1, PIXEL. Color (random (0, 255), random (0, 255), random (0, 255))); PIXEL.show (); breek; }} anders {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show (); }}
Aanbeveel:
Deur alarm met ATTiny: 6 stappe
Deuralarm met ATTiny: Hallo almal, op hierdie bladsy gaan ek jou wys hoe ek 'n eenvoudige deuralarm gemaak het wat kompak, luidrugtig en met batterye aangedryf is
N Klein programmeerder vir ATTINY mikrobeheerders met Arduino UNO: 7 stappe
N Klein programmeerder vir ATTINY -mikrobeheerders Met Arduino UNO: Dit is tans interessant om mikro -beheerders in die ATTINY -reeks te gebruik vanweë hul veelsydigheid, lae prys, maar ook die feit dat dit maklik geprogrammeer kan word in omgewings soos Arduino IDE. Programme wat ontwerp is vir Arduino -modules kan maklik oordra
Program 'n ATtiny With Arduino: 7 stappe (met foto's)
Programmeer 'n ATtiny Met Arduino: Die aanwysings volg vir die programmering van die ATtiny -mikrobeheerders met behulp van die Arduino IDE. In eenvoudige Engels kan u 8-pins Atmel-skyfies so programmeer soos u normaalweg met 'n Arduino sou doen. Dit is gaaf, want die ATtiny is klein, en dit kan
Blaaier -koppelvlak ATTiny Fuse Editor: 4 stappe
Browser Interface ATTiny Fuse Editor: Hierdie instruksie is vir 'n ATTiny -lontredakteur met 'n ESP8266 en 'n blaaiergebaseerde gebruikerskoppelvlak.Dit maak die verandering van enige van die instellings wat deur die 2 lontbytes beheer word 'n baie eenvoudige aktiwiteit. Die toestel het die volgende funksies. Webbediener veronderstel
Hallo Trein! ATtiny 1614: 8 stappe (met prente)
Hallo Trein! ATtiny 1614: Vir my Fab Academy -klas moet ek 'n bord skep met 'n mikrobeheerder, 'n knoppie en 'n LED. Ek sal Eagle gebruik om dit te skep