Indholdsfortegnelse:
Video: ATTiny-RAT, ATTINY Powered Mini Lightfollower: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Hej folkens, det er et stykke tid siden jeg postede min sidste instruerbare. Godt, der er mange ting, der går rundt i mit hoved lige nu, men det lykkedes mig at dokumentere mine "første trin" med ATTiny-serien af chips i denne korte instruerbare til dig.
Jeg bestilte nogle ATTINY85 prøver, bare fordi jeg ville teste dem:-) (alle elsker at teste ting, ikke?). Derefter begyndte jeg at trække nogle ideer ind i min notesbog. For at være ærlig var det første, jeg gjorde, at blinke med en LED, der som altid er en god start for at kontrollere, om din opsætning/værktøjskæde fungerer. Jeg prøvede også en temperatur- og fugtighedslogger med DHT22 og SoftwareSerial. Det var en vanskelig, fordi DHT -bibliotekerne hovedsageligt er til 16Mhz -ur (hvis du planlægger at gøre sådan noget, skal du kontrollere, hvordan du forskalerer internklokken). Men jeg besluttede at vise dig noget, der er, ja, bare sjovere. BTW: Jeg har uploadet en af mine tegninger til dig, det er ikke en Rembrandt, men det vil vise dig, hvordan jeg fik denne (virkelig) dumme idé på et stykke papir: -P.
Jeg brugte kun ting, jeg havde liggende, for at holde dette projekt så billigt som muligt (for mig). Resultatet af dette lille eventyr er en dejlig lille "lightfollower robot" til omkring 10-15 $ (3 $ for mig:-P)
Så hvis du er interesseret i ATTINY selv, skal du bare læse videre.
BTW: undskyld mit dårlige engelsk (jeg er ikke en indfødt højttaler)
Trin 1: Kom godt i gang med ATTiny & Tools & Materials
Hvad skal du bruge for at komme i gang:
- en ATTiny85 -chip
- en Arduino UNO eller lignende
-abreadboard med noget jumper-wire eller en ATTINY programmerer eller lav selv en programmeringsskjold til Arduino (tjek de vedhæftede billeder, der er en skematisk oversigt fra avdweb.nl). Jeg lavede også denne, og jeg er virkelig glad for den, den eneste ændring, jeg lavede, var, at jeg tilføjede en stikkontakt til ATTinyx4-serien (se billedet og pinout-diagrammerne).
- Arduino IDE (få det her)
- hardwarefiler til ArduinoIDE (download og installer dem)
Info-Link til legepladsdirekt Link til de github-filer, jeg brugte
- indlæs Arduino som ISP -skitse til UNO (dette vil være din programmør)
- følg denne instruktion (https://highlowtech.org/) eller denne instruerbare (af ardutronix) og prøv "blink" -skitsen (modificer PIN -koden. brug ATTINY -billedet som reference! du skal bruge den forhåndsflasket ATTINY en LED og en ~ 220Ohm modstand til det)
Lav et lille breadboard-setup for at kontrollere alt. Hvis du har gjort alt rigtigt, blinker LED'en, og du er klar til at gå
VÆRKTØJ
- Loddejern- noget loddemetal- en lille wirecutter- en dremel eller andet roterende værktøj (bare til at skære printet!)- nogle hotlim- pincet- tråde
MATERIALER
- prototype PCB (~ 4cmx6cm vil gøre det)- 2x LDR- 5x 10k modstand (2x til LDR'erne og 2x til transistorerne BE, 1x LED)- 1x 330Ohm modstand (1x NEOPIXELS)- 2x LDR- 1x LED (farve på din valg, i stedet for hjulet)- 3x NEOPIXEL WS2812- 2x Transistor (BD137 eller lignende)- 2x Diode (1N4001 eller lignende)- 2x mikromotor (f.eks. fra en Hubsan mikro-quadcopter)- 1x ATTINY85 + valgfri (anbefales) 8PIN IC Socket- 1x 1s LIPO (jeg brugte en 140Ah fra en gammel RC-helikopter)- nogle pinheaders/sockets- shrinktube (LDR-hus)
Lad os fortsætte med at bygge hardware …
Trin 2: Hardware
Hvis du kigger på de skemaer, jeg vedhæfter, er hardwareopsætningen ret enkel. Så hvis du er i stand til at læse skemaer og bruge et loddejern, er det halve tricket. Se også på fotos, jeg tilføjede nogle noter til dig.
Jeg giver ikke en plan for at skære printet, du har friheden til at lave dit eget design (vær kreativ og vis os dine Tiny Bots). Placeringen af alle de elektroniske komponenter er også op til dig. Nogle tip fra min side:
Prøv at tilpasse motorerne præcist (se vinklen!) Vi bruger kun motorakslen i stedet for hjul. (dette vil forbruge mindre energi) Jeg anbefaler at placere motorerne under batteriet (vægt) og at bruge LDR'erne på forsiden (45 ° vinklet) parret med på LED (jeg forsøger at bruge denne kombination for at undgå forhindring, yderligere test er påkrævet).
Yderligere anbefaler jeg at lave en lille tænd/sluk -jumper, så batteriet ikke går tabt så let.
Hvis der er noget uklart, eller hvis du har spørgsmål, så spørg mig bare. Det vil ikke få mange sener til at lave en tese ud af dette lille projekt.
Trin 3: Software
Først og fremmest download og installer ADAFRUIT Neopixel Library
Her er min kode med nogle større beskrivelser (jeg tilføjede også skitsefilen). Jeg kommenterede ikke hvert trin, fordi jeg tror, det ikke er nødvendigt.
Upload skitsen på din ATTiny85, og hav det sjovt med dit nye legetøj
Ideer til "personlighed" -funktion + måske kodeeksempler er meget velkomne:-)
Hvis der er spørgsmål, er du velkommen til at stille.
Jeg håber, at du nød min korte instruktive og den lille tur i ATTINYs verden.
/* ATTINY85-Rata enkel ATTINY85 drevet lysfølger robot. Version 2.0, af Auer Markus */
#omfatte
#omfatte
// motorer
#define LMOTOR 0 #definer RMOTOR 1 // LED'er #definer PIXELPIN 2 #definer NUMPIXEL 3 // LDR'er #definer LLDR A2 #definer RLDR A3
// andenint emo = 0; flyde kalib; boolsk emostat; lang oldmillis; // definere NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
ugyldig opsætning ()
{// opskalere ur ellers vil du støde på nogle timingproblemer (neopixel lib er skrevet til 16MHz) #if defineret (_AVR_ATtiny85_) hvis (F_CPU == 16000000) clock_prescale_set (clock_div_1); #Afslut Hvis
// PINMODE pinMode (LMOTOR, OUTPUT); pinMode (RMOTOR, OUTPUT); pinMode (LLDR, INPUT); pinMode (LLDR, INPUT); // initialiser pixel PIXEL.begin (); PIXEL.show (); forsinkelse (500); // startsekvens for (int i = 0; i
hulrum ()
{if (lightfollow () == 1) {venstre (); } ellers hvis (lightfollow () == 2) {right (); } ellers hvis (lightfollow () == 0) {forward (); } følelser (); }
int lightfollow () {
int treshold = 14; int resultat = 0; flyde til venstre = 0; flyde til højre = 0; int prøver = 1; // læs LDR'er for (int j = 0; j <samples; j ++) {
venstre = venstre + analogRead (LLDR); højre = højre + (analogRead (RLDR)*kalib);
}
// beregne resultatet (hvilken retning kommer lyset fra?)
hvis ((venstre/prøver)> ((højre/prøver)+grænseværdi)) {resultat = 2;}
ellers hvis ((venstre/prøver) <((højre/prøver) -treshold)) {result = 1;}
ellers {resultat = 0;}
returnere resultat; } void forward () {// Frem analogWrite (LMOTOR, 230); analogWrite (RMOTOR, 230); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
tomrum tilbage () {
// LEFT 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 (); }
ugyldig ret () {
// HØJRE analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
// dette er til yderligere eksperimenter, forsøger at give denne lidt personlighed:-) jeg tester, hvad der kunne være i stand til, men ingen gode ideer endnu.
void emotion () {int emotimer = 2500; int varighed = tilfældig (250, 750); hvis (millis () - oldmillis> emotimer) {oldmillis = millis (); emo = tilfældig (1, 4); } hvis (millis () - oldmillis> varighed) {emostate =! emostate; } hvis (emostate == true) {switch (emo) {case 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show (); pause; case 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.show (); pause; case 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.show (); pause; standard: PIXEL.setPixelColor (1, PIXEL. Color (tilfældig (0, 255), tilfældig (0, 255), tilfældig (0, 255))); PIXEL.show (); pause; }} andet {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show (); }}
Anbefalede:
Muscle Powered Flappy Bird: 9 trin (med billeder)
Muscle Powered Flappy Bird: Du husker måske, da Flappy Bird tog verden med storm og til sidst blev så populær, at skaberen fjernede den fra appbutikker for at undgå uønsket omtale. Dette er Flappy Bird, som du aldrig har set før; ved at kombinere et par stykker fra hylden
Arduino Powered Painting Robot: 11 trin (med billeder)
Arduino Powered Painting Robot: Har du nogensinde spekuleret på, om en robot kunne lave fascinerende malerier og kunst? I dette projekt forsøger jeg at gøre det til en realitet med en Arduino Powered Painting Robot. Målet er, at robotten skal kunne lave malerier på egen hånd og bruge en ref
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Tekst til tale Klik på et ARMbasic Powered UChip og andre ARMbasic Powered SBC'er: 3 trin
Tekst til tale Klik på et ARMbasic Powered UChip og andre ARMbasic Powered SBC'er: Intro: God dag. Jeg hedder Tod. Jeg er en luftfarts- og forsvarsprofessionel, der også er lidt af en nørde i hjertet.Inspiration: Jeg stammer fra en epoke med opkalds-BBS, 8-bit mikrokontroller, Kaypro/Commodore/Tandy/TI-994A personlige computere, da R
Hjemmeautomatisering Trin for trin Brug af Wemos D1 Mini Med PCB -design: 4 trin
Hjemmeautomatisering Trin for trin Brug af Wemos D1 Mini Med PCB -design: Hjemmeautomatisering Trin for trin ved hjælp af Wemos D1 Mini med PCB -design For et par uger siden udgav vi en tutorial "Home Automation using Raspberry Pi" i rootsaid.com, som blev godt modtaget blandt hobbyfolk og universitetsstuderende. Så kom et af vores medlemmer