Indholdsfortegnelse:
- Trin 1: Projektmål
- Trin 2: Programmeringsfleksibilitet
- Trin 3: Hardware
- Trin 4: Tastaturafbrydelser
- Trin 5: Brug af timeren
- Trin 6: Menuskærmbilleder
- Trin 7: Design af systemet
- Trin 8: Strømforsyning
- Trin 9: CPU -kort
- Trin 10: Konklusion af flowkode
- Trin 11: Valgfrit I2C relækort
- Trin 12: Valgfri RF -link
- Trin 13: Slutprodukt
Video: 8 kanal programmerbar timer: 13 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Introduktion
Jeg har brugt Microchips PIC -udvalg af mikrokontroller til mine projekter siden 1993 og har udført al min programmering i assembler -sprog ved hjælp af Microchip MPLab IDE. Mine projekter spænder fra simple trafiklys og blinkende lysdioder til USB -joystick -grænseflader til R/C -modeller og koblingsanalysatorer, der bruges i industrien. Udviklingen tog mange dage, og nogle gange tusinder af linjer med assembler -kode.
Efter at have modtaget Matrix Multimedia Flowcode 4 Professional var jeg ret skeptisk over for softwaren. Det så for let ud til at tro. Jeg besluttede mig for at prøve det og testede alle de forskellige komponentmakroer, alle med stor succes. Den bedste del ved at bruge Flowcode var, at enkle projekter kunne kodes på en enkelt nat. Efter at have spillet med I²C og et DS1307 real -time ur, besluttede jeg at designe 8 -kanals timeren ved hjælp af Flowcode. Da jeg ikke var et lille og let projekt, troede jeg på, at dette ville være et godt projekt at lære mig selv Flowcode.
Valg af en mikroprocessor og andre komponenter
På grund af antallet af I/O -ben, der kræves, var det klart, at der skal bruges en 40 -pins enhed. PIC 18F4520 blev valgt, hovedsageligt på grund af sin 32K programhukommelse og 1536 bytes datahukommelse. Alle anvendte komponenter er standard gennemgående huller, hvilket gør det muligt at bygge kredsløbet på Vero-kortet, hvis det kræves. Dette hjalp også med udviklingen på et brødbræt.
Trin 1: Projektmål
Mål
- Nøjagtig tidsregistrering med batteribackup.
- Alle programmer og data skal bevares, selv efter tab af strøm.
- Enkel brugergrænseflade.
- Programmeringsfleksibilitet.
Tidshold
Hvis du bor i et område, der er udsat for strømsvigt, er standard 50/60Hz fra elledningerne ikke tilstrækkelig til nøjagtig tidsopbevaring. Et ur i realtid var vigtigt, og efter at have testet flere RTC-chips besluttede jeg mig for DS1307 på grund af dets enkle oscillator og batteri-backup-konfiguration. Ganske præcis tidsregistrering blev opnået ved hjælp af kun en 32.768 kHz krystal, der var forbundet til DS1307. Nøjagtigheden var inden for 2 sekunder over en prøveperiode på 2 måneder ved hjælp af 4 forskellige krystaller.
Datalagring
Alle timerprogramdata skal bevares, selv under strømsvigt. Med op til 100 forskellige programmer og forskellige konfigurationsdata blev det klart, at 256 bytes indbygget EEPROM i PIC ikke vil være stort nok. En 24LC256 I²C EEPROM bruges til at gemme al programmeringsinformation.
Enkel brugergrænseflade
Brugergrænsefladen består af kun 2 elementer, et 16 x 4 linies LCD -display med LED -baggrundsbelysning og et 4 x 3 tastatur. Al programmering kan udføres med et tryk på få knapper. Tilføjelser til grænsefladen er en hørbar piezo -summer og visuelt blinkende LCD -baggrundsbelysning.
Trin 2: Programmeringsfleksibilitet
For at sikre tilstrækkelig programfleksibilitet har timeren 100 programmer, der kan indstilles individuelt. For hvert program kan On -time, Off Time, Output Channels og Ugedag indstilles. Hvert program har tre tilstande:
- Auto: On Time, Off time, Output Channel og ugedag er indstillet.
- Fra: Det enkelte program kan deaktiveres uden at slette indstillingerne. For at aktivere programmet igen, vælg blot en anden tilstand.
- Dag/nat: On Time, Off time, Output Channel og ugedag er indstillet. Fungerer det samme som Auto -tilstand, men vil
Tænd kun udgangene mellem tænd- og slukketiderne, når det er mørkt. Dette muliggør også fuld dag/nat kontrol
som den ekstra fleksibilitet til at tænde lys ved solnedgang og slukke ved solopgang.
Eksempel 1: Tænder lyset efter 20:00 og slukker lyset ved solopgang.:
Den: 20:00, Fra: 12.00, Eksempel 2: Tænder lyset ved solnedgang og slukker lyset kl. 23:00.
På: 12:00
Fra: 23:00
Eksempel 3: Tænder lys ved solnedgang og slukker lys ved solopgang.
Den: 12:01
Fra: 12:00
Yderligere muligheder tilgængelige, alle arbejder uafhængigt af de 100 tænd/sluk -programmer.
Programkanaler aktive: I stedet for at slukke flere programmer kan individuelle outputkanaler deaktiveres uden behov for at ændre programmerne.
Hjælpeindgange: To digitale indgange er tilgængelige, så visse udgangskanaler kan tændes i et bestemt tidspunkt. Det kan f.eks. Bruges til at tænde bestemte lys, når du kommer hjem sent om aftenen, når der trykkes på en knap på en fjernbetjening, eller til at tænde en anden lyssignal, når husalarmen udløses.
Ekstraudgange: To ekstra udgange (bortset fra de 8 udgangskanaler) er tilgængelige. De kan programmeres til at tænde med bestemte udgangskanaler eller med de digitale indgange. I min installation har jeg output 6-8, der styrer min kunstvanding, som fungerer på 24V. Jeg bruger kanaler 6-8 til at tænde for en af hjælpeudgange, til at tænde for en 24V strømforsyning til kunstvandingssystemet.
Manuel tændt: På hovedskærmen kan knapperne 1-8 bruges til manuelt at tænde eller slukke kanaler.
Trin 3: Hardware
Strømforsyning: Strømforsyningen består af en ensretter, udjævningskondensator og en 1 Amp sikring til beskyttelse mod overbelastning. Denne forsyning reguleres derefter af en 7812 og 7805 regulator. 12V -forsyningen bruges til at drive outputrelæerne, og alle andre kredsløb drives af 5V -forsyningen. Da 7805 -regulatoren er tilsluttet 7812 -regulatorens output, skal den samlede strøm begrænses til 1 amp gennem 7812 -regulatoren. Det tilrådes at montere disse regulatorer på en passende køleplade.
I²C Bus: Selvom Flowcode giver mulighed for hardware I²C -kontrol, besluttede jeg at gøre brug af software I²C -konfigurationen. Dette giver mulighed for mere fleksibilitet i pin -tildelinger. Selvom den er langsommere (50 kHz), fungerer den stadig godt i forhold til hardware I²C -bussen. Både DS1307 og 24LC256 er forbundet til denne I²C -bus.
Real Time Clock (DS1307): Under opstart læses RTC-registret 0 og 7 for at afgøre, om det indeholder gyldige tid- og konfigurationsdata. Når opsætningen er korrekt, læses RTC -tiden, og tiden indlæses i PIC. Dette er den eneste gang, at tiden læses fra RTC. Efter opstart vil der være en 1 Hz puls på pin 7 i RTC. Dette 1Hz signal er forbundet til RB0/INT0, og via en afbrydelsesrutine opdateres PIC -tiden hvert sekund.
Ekstern EEPROM: Alle programdata og muligheder gemmes på den eksterne EEPROM. EEPROM-data indlæses ved opstart, og en kopi af dataene gemmes i PIC-hukommelsen. EEPROM -data opdateres kun, når programindstillinger ændres.
Dag/nat sensor: En standard lysafhængig modstand (LDR) bruges som dag/nat sensor. Da LDR'er findes i mange former og varianter, alle med forskellige modstandsværdier under de samme lysforhold, brugte jeg en analog indgangskanal til at aflæse lysniveauet. Dag- og natniveauerne er justerbare og giver mulighed for en vis fleksibilitet for forskellige sensorer. For at konfigurere noget hysterese kan individuelle værdier for dag og nat indstilles. Tilstanden ændres kun, hvis lysniveauet er under dagen eller over indstillingspunkterne for natten i mere end 60 sekunder.
LCD Display: 4 linier, 16 tegn display bruges, da alle data ikke kunne vises på et 2-linjes display. Projektet indeholder nogle brugerdefinerede tegn, der er defineret i LCD_Custom_Char -makroen.
Hjælpeindgange: Begge indgange er bufret med en NPN -transistor. +12v og 0V er også tilgængelig på stikket, hvilket giver mulighed for mere fleksible forbindelser til eksterne forbindelser. Som et eksempel kan en fjernbetjeningsmodtager tilsluttes forsyningen.
Udgange: Alle udgange er elektrisk isoleret fra kredsløbet ved hjælp af et 12V relæ. De anvendte relæer er klassificeret til 250V AC ved 10 ampere. De normalt åbne og normalt lukkede kontakter bringes ud til terminalerne.
Tastatur: Det anvendte tastatur er et 3 x 4 matrix tastatur og er forbundet PORTB: 2..7.
Trin 4: Tastaturafbrydelser
Jeg ville gøre brug af PORTB Interrupt on Change interrupt ved et vilkårligt tastetryk. Til dette skulle der oprettes en brugerdefineret afbrydelse i Flowcode for at sikre, at PORTB -retning og data er konfigureret korrekt før og efter hvert tastaturafbrydelse. En afbrydelse genereres hver gang der trykkes på en knap eller slippes. Afbrydelsesrutinen reagerer kun, når der trykkes på en tast.
TILPASET AFBrydelse
Aktiver kode
portb = 0b00001110; trisb = 0b11110001;
intcon. RBIE = 1;
intcon2. RBIP = 1;
intcon2. RBPU = 1;
rcon. IPEN = 0;
Handler kode
hvis (intcon & (1 << RBIF))
{FCM_%n ();
portb = 0b00001110;
trisb = 0b11110001;
wreg = portb;
clear_bit (intcon, RBIF);
}
Problemer fundet
Under en afbrydelse skal afbrydelsesrutinen under INGEN betingelser kalde enhver anden makro, der kan bruges et sted i resten af programmet. Dette vil i sidste ende føre til problemer med stakoverløb, da afbrydelsen kan forekomme samtidig med, at hovedprogrammet også er i den samme underprogram. Dette identificeres også som en ALVORLIG FEJL efter Flowcode, når koden kompileres.
I brugerdefineret kode på tastaturet under GetKeyPadNumber er der sådan et opkald til Delay_us -makroen, hvilket vil forårsage en stakoverløb. For at overvinde dette har jeg fjernet kommandoen Delay_us (10) og erstattet den med 25 linjer med "wreg = porta;" kommandoer. Denne kommando læser PORTA og placerer dens værdi i W -registret, bare for at få lidt forsinkelse. Denne kommando kompileres til en enkelt instruktion, der ligner assembler movf porta, 0. Til det 10MHz -ur, der blev brugt i projektet, vil hver instruktion være 400ns, og for at få en 10us forsinkelse havde jeg brug for 25 af disse instruktioner.
Bemærk på den anden linje i figur 3: GetKeypadNumber Custom Code, at den oprindelige delay_us (10) kommando er blevet deaktiveret med “//”. Under dette har jeg tilføjet mine 25 “wreg = porta;” kommandoer for at få en ny 10us forsinkelse. Uden opkald til nogen makroer inde i tastaturet_ReadKeypadNumber brugerdefineret kode, kan tastaturmakroen nu bruges i en afbrydelsesrutine.
Det skal bemærkes, at komponenterne i Flowcode-tastaturet og eBlocks ikke bruger de standard pull-up-modstande på indgangslinjerne. I stedet bruger den 100K pull-down modstande. På grund af en vis interferens, der blev fundet på tastaturet under udviklingen, blev 100K -modstandene alle udskiftet med 10K, og alle 10K -modstande blev erstattet med 1K5. Tastaturet blev testet til at fungere korrekt med ledninger på 200 mm.
Trin 5: Brug af timeren
Alle skærmbilleder er konfigureret til at angive alle nødvendige oplysninger, så brugeren kan foretage hurtige ændringer af indstillingerne. Linje 4 bruges til at hjælpe med navigation gennem menuer og programindstillinger. I alt 22 skærme er tilgængelige under normal drift.
LINE 1: Tid og status
Viser aktuel dag og tid efterfulgt af statusikoner:
A - Angiver, at Aux Input A blev udløst, og Aux Input A -timer kører.
B - Angiver, at Aux Input B blev udløst, og Aux Input B -timer kører.
C - Angiver, at Aux -udgang C er tændt.
D - Angiver, at Aux -udgang D er tændt.
} - Status for dag/nat -sensor. Hvis det er til stede, angiver det, at det er nat.
LINE 2: Programoutput
Viser de kanaler, der er blevet tændt af de forskellige programmer. Kanaler vises i deres output-numre, og et “-“angiver, at det specifikke output ikke er tændt. Kanaler, der er blevet deaktiveret i "Programudgange aktive", vil stadig blive angivet her, men de reelle udgange vil ikke blive indstillet.
LINE 3: Real Outputs
Viser hvilke kanaler der tændes af de forskellige programmer, Aux -indgange A & B eller manuelle udgange, der er indstillet af brugeren. Ved at trykke på 0 vil alle manuelt aktiverede udgange blive slukket og nulstille Aux Output A & B -timerne.
LINE 4: Menu og nøgleindstillinger (på alle menuer)
Angiver funktionen af “*” og “#” tasterne.
Den midterste del angiver, hvilke numeriske taster (0-9) der er aktive for den valgte skærm.
Inputstatus for Aux Input A & B vises også ved hjælp af et ikon for åben eller lukket kontakt.
Udgange kan slås til/fra manuelt ved at trykke på den tilsvarende tast på tastaturet.
I hele menuerne bruges stjerne- og hashtasterne til at navigere gennem de forskellige programindstillinger. Tasterne 0-9 bruges til at indstille indstillingerne. Hvor flere muligheder er tilgængelige på en enkelt skærm eller programmeringsmenu, bruges Hash -tasten til at gennemgå de forskellige muligheder. Den aktuelt valgte indstilling vil altid blive angivet med ">" - tegnet til venstre på skærmen.
0-9 Indtast tidsværdier
1-8 Skift kanalvalg
14 36 Gå gennem programmer, 1-trin tilbage, 4-trin tilbage 10 programmer, 3-trin frem, 6-trin frem 10
programmer
1-7 Angiv ugedage. 1 = søndag, 2 = mandag, 3 = tirsdag, 4 = onsdag, 5 = torsdag, 6 = fredag, 7 = lørdag
0 I hovedskærmen skal du slette alle manuelle tilsidesættelser og Input A & Input B -timere. I andre menuer ændres
valgte indstillinger
# På hovedskærmen deaktiveres alle manuelle tilsidesættelser, Input A & Input B -timere og programoutput, indtil
den næste begivenhed.
* og 1 Genstart timeren
* og 2 Ryd alle programmer og muligheder, gendan indstillingerne til standard.
* og 3 Sæt timeren i standby. Tryk på en vilkårlig tast for at tænde timeren igen.
Under forkerte indtastninger af enhver tidsværdi blinker LCD -baggrundsbelysningen 5 gange for at angive en fejl. På samme tid lyder summeren. Kommandoer Exit og Next fungerer kun, når den aktuelle post er korrekt.
LCD baggrundsbelysning
Ved første opstart tændes LCD-baggrundsbelysningen i 3 minutter, medmindre:
- Der er en hardwarefejl (EEPROM eller RTC ikke fundet)
- Tid ikke angivet i RTC
LCD -baggrundsbelysningen tændes igen i 3 minutter på enhver brugerindgang på tastaturet. Hvis LCD -baggrundsbelysningen er slukket, tænder enhver tastaturkommando først LCD -baggrundsbelysningen og ignorerer den tast, der blev trykket på. Dette sikrer, at brugeren vil være i stand til at læse LCD -displayet, før du bruger tastaturet. LCD -baggrundsbelysningen tændes også i 5 sekunder, hvis Aux -indgang A eller Aux -indgang B er aktiveret.
Trin 6: Menuskærmbilleder
Ved hjælp af tastaturet kan hver af muligheder let programmeres. Billederne giver nogle oplysninger om, hvad hver skærm gør.
Trin 7: Design af systemet
Al udvikling og test blev udført på brødbræt. Når jeg kiggede på alle sektioner af systemet, brød jeg systemet ned i tre moduler. Denne beslutning skyldtes hovedsageligt PCB -størrelsesbegrænsninger (80 x 100 mm) af den gratis version af Eagle.
Modul 1 - Strømforsyning
Modul 2 - CPU -kort
Modul 3 - Relækort
Jeg besluttede, at alle komponenter skal være let tilgængelige, og at jeg ikke ønskede at bruge overflademonterede komponenter.
Lad os gå igennem hver af dem.
Trin 8: Strømforsyning
Strømforsyningen er lige fremad, og forsyner CPU og relækort med 12V og 5V.
Jeg monterede spændingsregulatorerne på anstændige kølelegemer og brugte også overvurderede kondensatorer til forsyningen.
Trin 9: CPU -kort
Alle komponenter undtagen LCD -skærm, tastatur og relæer er monteret på CPU -kortet.
Terminalblokke blev tilføjet for at forenkle forbindelserne mellem forsyningen, to digitale indgange og lyssensoren.
Header pins/sockets gør det muligt at tilslutte let til LCD -skærmen og tastaturet.
Til output til relæerne brugte jeg ULN2803. Den indeholder allerede alle nødvendige drivmodstande og flyback -dioder. Dette sikrede, at CPU -kortet stadig kan laves ved hjælp af den gratis version af Eagle. Relæerne er forbundet til de to ULN2803'er. Den nederste ULN2803 bruges til de 8 udgange, og den øverste ULN2803 til de to hjælpeudgange. Hver ekstraudgang har fire transistorer. Forbindelser til relæerne sker også gennem hovedstifter/stik.
PIC 18F4520 var udstyret med en programmeringsstik, så det er let at programmere via PicKit 3 programmereren.
BEMÆRK:
Du vil bemærke, at kortet indeholder en ekstra 8 -polet IC. Den øverste IC er en PIC 12F675 og forbundet til en digital indgang. Dette blev tilføjet under PCB -designet. Dette gør det lettere at forbehandle det digitale input. I min applikation er en af de digitale indgange forbundet til mit alarmsystem. Hvis alarmen lyder, tændes visse lys i mit hus. Til- og frakobling af mit alarmsystem giver forskellige bip på sirenen. Ved at bruge PIC 12F675 kan jeg nu skelne mellem arm/frakobling og en rigtig alarm. 12F675 er også udstyret med en programmeringsstik.
Jeg sørgede også for en I2C port via header pin/socket. Dette vil være praktisk senere med relæbrædderne.
Brættet indeholder et par jumpere, som skal loddes, før IC -stikkene monteres.
Trin 10: Konklusion af flowkode
Da jeg er vant til at arbejde på registerniveau i montage, var det nogle gange svært og frustrerende at bruge komponentmakroerne. Dette skyldtes hovedsageligt min mangel på viden om Flowcodes programmeringsstruktur. De eneste steder, jeg har brugt C- eller ASM -blokke, var at tænde output i en afbrydelsesrutine og i Do_KeyPressed -rutinen for at deaktivere/aktivere tastaturafbrydelsen. PIC'en placeres også i SLEEP ved hjælp af en ASM -blok, når EEPROM eller RTC ikke findes.
Hjælp til brugen af de forskellige I²C -kommandoer blev alle hentet inde fra Flowcode -hjælpefilerne. Det er nødvendigt at vide nøjagtigt, hvordan de forskellige I²C -enheder fungerer, før kommandoerne kan bruges med succes. Design af et kredsløb kræver, at designeren har alle relevante datablade til rådighed. Dette er ikke en mangel på Flowcode.
Flowcode stod virkelig for testen og kan varmt anbefales til personer, der ønsker at begynde at arbejde med Microchip -serien af mikroprocessorer.
Flowcode programmering og konfiguration for PIC blev indstillet som pr. Billeder
Trin 11: Valgfrit I2C relækort
CPU -kortet har allerede headerforbindelser til 16 relæer. Disse udgange er åbne kollektortransistorer via de to ULN2803 -chips, der kan bruges til at drive relæerne direkte.
Efter de første test af systemet kunne jeg ikke lide alle ledningerne mellem CPU -kortet og relæerne. Da jeg inkluderede en I2C -port på CPU -kortet, besluttede jeg at designe relækortet til at forbinde til I2C -porten. Ved hjælp af en 16 -kanals MCP23017 I/O Port Expander -chip og et ULN2803 -transistormatrix reducerede jeg forbindelserne mellem CPU og relæer til 4 ledninger.
Da jeg ikke kunne passe 16 relæer på et 80 x 100 mm printkort, besluttede jeg at lave to brædder. Hver MCP23017 bruger kun 8 af sine 16 porte. Kort 1 håndterer de 8 udgange, og bord 2 de to hjælpeudgange. Den eneste forskel på tavlerne er adresserne på hvert bræt. Dette indstilles let med en minitrøje. Hvert kort har stik til at levere strøm og I2C -data til det andet kort.
BEMÆRK:
Om nødvendigt sørger softwaren for kun ét kort, der kan bruge alle 16 porte. Alle outputrelædata er tilgængelige på det første bord.
Da kredsløbet er valgfrit og meget enkelt, lavede jeg ikke en skematisk. Hvis der er nok efterspørgsel, kan jeg tilføje det senere.
Trin 12: Valgfri RF -link
Efter afslutningen af projektet indså jeg hurtigt, at jeg er nødt til at trække en masse 220V AC -ledninger til timeren. Jeg udviklede et RF -link ved hjælp af standard 315MHz -moduler, der tillod timeren at blive placeret inde i et skab, og relæbrædderne inde i taget, tæt på alle 220V -ledningerne.
Linket bruger en AtMega328P, der kører ved 16MHz. Softwaren til både sender og modtager er den samme, og tilstanden vælges af en minihopper.
Senderen
Senderen er simpelthen tilsluttet CPU I2C -porten. Der kræves ingen yderligere opsætning, da AtMega328P lytter til de samme data som I2C -relækortene.
Data opdateres en gang i sekundet på I2C -porten, og senderen sender disse oplysninger via RF -forbindelsen. Skulle transmitteren ikke modtage I2C -data i cirka 30 sekunder, sender transmitteren kontinuerligt data for at slukke alle relæer til modtagerenheden.
Strøm til transmittermodulet kan vælges mellem 12V og 5V med en mini -jumper på pc -kortet. Jeg tænder min sender ved hjælp af 12V.
Modtager
Modtageren lytter efter kodede data fra senderen og placerer dataene på en I2C -port. Relækortet tilsluttes simpelthen denne port og fungerer på samme måde som det blev tilsluttet CPU -kortet.
Hvis modtageren ikke modtager gyldige data i 30 sekunder, sender modtageren løbende data på I2C -porten for at slukke alle relæer på relækortene.
Skemaer
En dag, hvis der er efterspørgsel efter det. Arduino -skitsen indeholder alle nødvendige oplysninger for at bygge kredsløbet uden et kredsløbsdiagram.
Rækkevidde
I min installation er senderen og modtageren cirka 10 meter fra hinanden. Timeren er inde i et skab, og relæenheden oven på loftet.
Trin 13: Slutprodukt
Hovedenheden blev monteret i en gammel projektkasse. Den indeholder følgende:
- 220V/12V Transformer
- Strømforsyningskort
- CPU -kort
- LCD display
- Tastatur
- RF Link -sender
- Ekstra hjemmemodtagermodtager, så jeg kan tænde/slukke lys via fjernbetjeningen
Relæenheden består af følgende:
- 220V/12V Transformer
- Strømforsyningskort
- RF Link -modtager
- 2 x I2C relækort
Alle brædder blev designet med samme dimension, hvilket gør det let at stable dem oven på hinanden med 3 mm afstandsstykker.
Anbefalede:
Renegade-i (programmerbar IC-tester, der føles som den virkelige ting): 3 trin (med billeder)
Renegade-i (programmerbar IC-tester, der føles som den virkelige ting): MILLION DOLLAR DREAM. Har du nogensinde drømt om at have din egen IC-tester derhjemme? Ikke bare en gadget, der kan teste IC, men en "programmerbar" maskine, der føles som et af flagskibsproduktet fra de største spillere i semikon -testindustrien, lykkes
Servometronom, programmerbar til forskellige hastigheder: 3 trin
Servometronom, programmerbar til forskellige hastigheder: Lav din egen metronom. Alt du behøver er Arduino Mega 2560 startsættet og en kompatibel computer
PixelPad Indian: Programmerbar elektronisk badge: 11 trin
PixelPad Indian: Programmerbar elektronisk badge: PixelPad er et elektronisk udviklingsmærke baseret på en ATmega32U4 mikrokontroller og leveres med en masse indbyggede funktioner. PCB -kunsten er inspireret af indisk kultur, kunst og tegninger. Ved hjælp af PixelPad kan du enten bruge det som en bærbar udvikling
Stranger Things programmerbar hættetrøje: 9 trin (med billeder)
Stranger Things Programmerbar hættetrøje: Du behøver måske aldrig nogensinde at bruge tid i en mareridtfuld verden af monstre, men nogle gange vil du bare have en skjorte på, der siger, at du helt KUNDE leve der, hvis du ville. Da en sådan skjorte ikke findes på det åbne marked, besluttede vi at lave vores
Programmerbar cyklisk indstilling til og fra-timer med relæudgang: 4 trin
Programmerbar cyklisk indstillet tænd-sluk-timer med relæudgang: Dette projekt skal bygge cyklisk tænd-sluk programmerbar timer. I dette projekt kan brugeren indstille ON -timer og slukketid ved hjælp af taster og 7 -segment display. Relæ leveres som output, hvor relæet forbliver TIL i ON -tid, og det slukker efter ON ti