Innholdsfortegnelse:
- Trinn 1: Prosjektmål
- Trinn 2: Programmeringsfleksibilitet
- Trinn 3: Maskinvare
- Trinn 4: Tastaturavbrudd
- Trinn 5: Bruke timeren
- Trinn 6: Menyskjermbilder
- Trinn 7: Design av systemet
- Trinn 8: Strømforsyning
- Trinn 9: CPU -kort
- Trinn 10: Konklusjon på flytkoden
- Trinn 11: Valgfritt I2C -relékort
- Trinn 12: Valgfri RF -kobling
- Trinn 13: Sluttprodukt
Video: 8 kanalers programmerbar timer: 13 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Introduksjon
Jeg har brukt Microchips PIC -utvalg av mikrokontroller for prosjektene mine siden 1993, og har gjort all min programmering på assembler -språk ved å bruke Microchip MPLab IDE. Prosjektene mine spenner fra enkle trafikklys og blinkende lysdioder, til USB -joystick -grensesnitt for R/C -modeller og koblingsanalysatorer som brukes i industrien. Utviklingen tok mange dager, og noen ganger tusenvis av linjer med assembler -kode.
Etter å ha mottatt Matrix Multimedia Flowcode 4 Professional, var jeg ganske skeptisk til programvaren. Det så for lett ut til å tro. Jeg bestemte meg for å prøve det, og testet alle de forskjellige komponentmakroene, alle med stor suksess. Den beste delen med å bruke Flowcode var at enkle prosjekter kunne kodes på en enkelt natt. Etter å ha spilt med I²C og en DS1307 sanntidsklokke, bestemte jeg meg for å designe 8 -kanalstimeren ved hjelp av Flowcode. Jeg var ikke et lite og enkelt prosjekt, og jeg trodde at dette ville være et flott prosjekt å lære meg selv Flowcode.
Velge en mikroprosessor og andre komponenter
På grunn av antall I/O -pinner som kreves, var det klart at en 40 -pinners enhet vil være nødvendig. PIC 18F4520 ble valgt, hovedsakelig for sitt 32K programminne, og 1536 byte dataminne. Alle brukte komponenter er standard gjennomgående hull, noe som gjør det mulig å bygge kretsen på Vero-kortet om nødvendig. Dette hjalp også med utviklingen på et brødbrett.
Trinn 1: Prosjektmål
Mål
- Nøyaktig tidsoppbevaring, med batteribackup.
- Alle programmer og data skal beholdes, selv etter tap av strøm.
- Enkelt brukergrensesnitt.
- Programmeringsfleksibilitet.
Tidsoppbevaring
Hvis du bor i et område som er utsatt for strømbrudd, vil ikke standard 50/60Hz fra kraftledningene være tilstrekkelig for nøyaktig tidsoppbevaring. En sanntidsklokke var viktig, og etter å ha testet flere RTC-brikker bestemte jeg meg for DS1307 på grunn av den enkle oscillatoren og batteriets sikkerhetskopieringskonfigurasjon. Ganske nøyaktig tidsoppbevaring ble oppnådd ved bruk av bare en 32.768 kHz krystall som var koblet til DS1307. Nøyaktigheten var innen 2 sekunder over en 2 måneders prøveperiode ved bruk av 4 forskjellige krystaller.
Datalagring
Alle timerprogramdata må beholdes, selv under strømbrudd. Med opptil 100 forskjellige programmer og forskjellige konfigurasjonsdata ble det klart at 256 byte innebygd EEPROM på PIC ikke vil være stort nok. En 24LC256 I²C EEPROM brukes til å lagre all programmeringsinformasjon.
Enkelt brukergrensesnitt
Brukergrensesnittet består av bare 2 elementer, en 16 x 4 linjers LCD -skjerm med LED -bakgrunnsbelysning og et 4 x 3 tastatur. All programmering kan gjøres med bare noen få knapper. Tillegg til grensesnittet er en hørbar piezo -summer og visuell blinkende LCD -bakgrunnsbelysning.
Trinn 2: Programmeringsfleksibilitet
For å sikre nok programfleksibilitet har timeren 100 programmer som kan settes individuelt. For hvert program kan På -tid, Av -tid, Utgangskanaler og ukedag stilles inn. Hvert program har tre moduser:
- Auto: På -tid, Av -tid, Utgangskanal og ukedag er angitt.
- Av: Det enkelte programmet kan deaktiveres uten å slette innstillingene. For å aktivere programmet igjen, bare velg en annen modus.
- Dag/natt: På tid, Av tid, Utgangskanal og ukedag er angitt. Fungerer på samme måte som Auto -modus, men vil
Slå bare på utgangene mellom På og Av når det er mørkt. Dette muliggjør også full dag/natt -kontroll
som den ekstra fleksibiliteten for å slå på lys ved solnedgang, og av ved soloppgang.
Eksempel 1: Tenner lyset etter klokken 20.00, og lyset slås av ved soloppgang:
På: 20:00, Av: 12.00, Eksempel 2: Lyser ved solnedgang, og lyset slås av kl. 23.00.
På: 12:00
Av: 23:00
Eksempel 3: Lyser ved solnedgang, og lys slås av ved soloppgang.
På: 12:01
Av: 12:00
Ytterligere alternativer tilgjengelig, alle jobber uavhengig av de 100 på/av -programmene.
Programkanaler aktive: I stedet for å slå av flere programmer, kan individuelle utgangskanaler deaktiveres uten å måtte endre programmene.
Ekstra innganger: To digitale innganger er tilgjengelige, slik at visse utgangskanaler kan slås på for en bestemt tid. Den kan for eksempel brukes til å slå på visse lys når du kommer hjem sent på kvelden, når du trykker på en knapp på en fjernkontroll, eller for å slå på en annen lampe når husalarmen utløses.
Ekstrautganger: To ekstra utganger (bortsett fra de 8 utgangskanalene) er tilgjengelige. De kan programmeres til å slå på med bestemte utgangskanaler, eller med de digitale inngangene. I min installasjon har jeg utganger 6-8 som styrer vanningen min, som fungerer på 24V. Jeg bruker kanal 6-8 for å slå på en av tilleggsutgangene, for å slå på en 24V strømforsyning for vanningssystemet.
Manuell på: Når du er i hovedskjermen, kan knappene 1-8 brukes til å slå kanaler manuelt på eller av.
Trinn 3: Maskinvare
Strømforsyning: Strømforsyningen består av en likeretter, utjevningskondensator og en 1 Amp sikring for overbelastningsbeskyttelse. Denne forsyningen blir deretter regulert av en 7812 og 7805 regulator. 12V -forsyningen brukes til å drive utgangsreléene, og alle andre kretser drives av 5V -forsyningen. Siden 7805 -regulatoren er koblet til utgangen til 7812 -regulatoren, må den totale strømmen begrenses til 1 ampere gjennom 7812 -regulatoren. Det anbefales å montere disse regulatorene på en egnet kjøleribbe.
I²C Bus: Selv om Flowcode tillater maskinvare I²C -kontroll, bestemte jeg meg for å bruke programvaren I²C -konfigurasjon. Dette gir større fleksibilitet i pin -oppgaver. Selv om den er tregere (50 kHz), fungerer den fortsatt bra sammenlignet med maskinvaren I²C -bussen. Både DS1307 og 24LC256 er koblet til denne I²C -bussen.
Sanntidsklokke (DS1307): Under oppstart leses RTC-registret 0 og 7 for å avgjøre om det inneholder gyldig tid og konfigurasjonsdata. Når oppsettet er riktig, leses RTC -tiden og tiden lastes inn i PIC. Dette er den eneste gangen denne tiden blir lest fra RTC. Etter oppstart vil en 1Hz puls være tilstede på pinne 7 i RTC. Dette 1Hz -signalet er koblet til RB0/INT0, og via en avbruddsrutine oppdateres PIC -tiden hvert sekund.
Ekstern EEPROM: Alle programdata og alternativer lagres på den eksterne EEPROM. EEPROM-dataene lastes inn ved oppstart, og en kopi av dataene lagres i PIC-minnet. EEPROM -data oppdateres bare når programinnstillingene endres.
Dag/natt sensor: En standard lysavhengig motstand (LDR) brukes som dag/natt sensor. Siden LDR kommer i mange former og varianter, alle med forskjellige motstandsverdier under de samme lysforholdene, brukte jeg en analog inngangskanal for å lese lysnivået. Dag- og nattnivået er justerbart, og gir mulighet for litt fleksibilitet for forskjellige sensorer. For å sette opp noen hysterese, kan individuelle verdier for dag og natt settes. Tilstanden vil bare endres hvis lysnivået er under dagen, eller over settpunktene for natten, i mer enn 60 sekunder.
LCD-skjerm: 4-linjers display med 16 tegn brukes, siden alle dataene ikke kunne vises på en 2-linjers skjerm. Prosjektet inneholder noen egendefinerte tegn, som er definert i LCD_Custom_Char -makroen.
Aux -innganger: Begge inngangene er bufret med en NPN -transistor. +12v og 0V er også tilgjengelig på kontakten, noe som gir mulighet for mer fleksible tilkoblinger til eksterne tilkoblinger. Som et eksempel kan en fjernkontrollmottaker kobles til strømforsyningen.
Utganger: Alle utganger er elektrisk isolert fra kretsen ved hjelp av et 12V relé. Reléene som brukes, er vurdert til 250V AC, ved 10 ampere. De normalt åpne og normalt lukkede kontaktene bringes ut til terminalene.
Tastatur: Tastaturet som brukes er et 3 x 4 matrisetastatur, og er tilkoblet PORTB: 2..7.
Trinn 4: Tastaturavbrudd
Jeg ønsket å bruke PORTB Interrupt on Change interrupt ved et tastetrykk. For dette måtte det opprettes et egendefinert avbrudd i Flowcode for å sikre at PORTB -retningen og dataene er satt opp riktig før og etter hvert tastaturavbrudd. Et avbrudd genereres hver gang en knapp trykkes eller slippes. Avbruddsrutinen reagerer bare når du trykker på en tast.
TILPASSET AVBRYT
Aktiver kode
portb = 0b00001110; trisb = 0b11110001;
intcon. RBIE = 1;
intcon2. RBIP = 1;
intcon2. RBPU = 1;
rcon. IPEN = 0;
Behandlerkode
if (intcon & (1 << RBIF))
{FCM_%n ();
portb = 0b00001110;
trisb = 0b11110001;
wreg = portb;
clear_bit (intcon, RBIF);
}
Problemer funnet
Under et avbrudd må avbruddsrutinen under INGEN betingelser ringe til en annen makro som kan brukes et sted i resten av programmet. Dette vil til slutt føre til stabelflow -problemer, ettersom avbruddet kan oppstå samtidig som hovedprogrammet også er i samme underprogram. Dette blir også identifisert som en ALVORLIG FEIL etter Flowcode når koden kompileres.
I den egendefinerte koden på tastaturet under GetKeyPadNumber er det et slikt anrop til Delay_us -makroen, noe som vil føre til at en bunke flyter over. For å overvinne dette har jeg fjernet kommandoen Delay_us (10), og erstattet den med 25 linjer med "wreg = porta;" kommandoer. Denne kommandoen leser PORTA, og plasserer verdien i W -registeret, bare for å få litt forsinkelse. Denne kommandoen vil bli samlet til en enkelt instruksjon som ligner assembler movf porta, 0. For 10MHz -klokken som ble brukt i prosjektet, vil hver instruksjon være 400ns, og for å få 10us forsinkelse trengte jeg 25 av disse instruksjonene.
Merk på den andre linjen i figur 3: GetKeypadNumber Custom Code, at den opprinnelige delay_us (10) kommandoen er deaktivert med “//”. Under dette har jeg lagt til mine 25 “wreg = porta;” kommandoer for å få en ny 10us forsinkelse. Uten anrop til noen makroer i den egendefinerte koden Keypad_ReadKeypadNumber, kan tastaturmakroen nå brukes i en avbruddsrutine.
Det skal bemerkes at komponentene i Flowcode-tastaturet og eBlocks ikke bruker standard pull-up-motstander på inngangslinjene. I stedet bruker den 100K nedtrekksmotstander. På grunn av noen forstyrrelser som ble funnet på tastaturet under utviklingen, ble 100K -motstandene alle erstattet med 10K, og alle 10K -motstandene erstattet med 1K5. Tastaturet ble testet for å fungere korrekt med ledninger på 200 mm.
Trinn 5: Bruke timeren
Alle skjermene er satt opp for å indikere all nødvendig informasjon for brukeren for å gjøre raske endringer i innstillingene. Linje 4 brukes til å hjelpe deg med navigering gjennom menyene og programalternativene. Totalt 22 skjermer er tilgjengelige under normal drift.
LINE 1: Tid og status
Viser gjeldende dag og tid, etterfulgt av statusikoner:
A - Indikerer at Aux Input A ble utløst, og Aux Input A timer kjører.
B - Indikerer at Aux Input B ble utløst, og Aux Input B -timeren kjører.
C - Indikerer at Aux -utgang C er slått på.
D - Indikerer at Aux -utgang D er slått på.
} - Dag/natt sensorstatus. Hvis det er tilstede, indikerer det at det er natt.
LINE 2: Programutganger
Viser kanalene som har blitt slått på av de forskjellige programmene. Kanaler vises i utgangstallene, og en "-" indikerer at den spesifikke utgangen ikke er slått på. Kanaler som er deaktivert i "Programutganger aktive" vil fortsatt bli angitt her, men de virkelige utgangene vil ikke bli angitt.
LINE 3: Real Outputs
Viser hvilke kanaler som slås på av de forskjellige programmene, Aux -innganger A & B, eller manuelle utganger som er angitt av brukeren. Ved å trykke 0 vil alle manuelt aktiverte utganger slås av og nullstillingene for Aux B -utganger A og B tilbakestilles.
LINE 4: Meny og viktige alternativer (på alle menyer)
Angir funksjonen til “*” og “#” -tastene.
Den midtre delen angir hvilke numeriske taster (0-9) som er aktive for det valgte skjermbildet.
Inngangsstatusen til Aux Input A & B vises også ved hjelp av et åpent eller lukket bryterikon.
Utgangene kan slås av/på manuelt ved å trykke på den tilhørende tasten på tastaturet.
I menyene brukes stjerne- og hashtastene for å navigere gjennom de forskjellige programalternativene. Tastene 0-9 brukes til å angi alternativene. Når flere alternativer er tilgjengelige på en enkelt skjerm eller programmeringsmeny, brukes Hash -tasten for å gå gjennom de forskjellige alternativene. Det gjeldende valgte alternativet vil alltid bli indikert med ">" - tegnet til venstre på skjermen.
0-9 Angi tidsverdier
1-8 Endre kanalvalg
14 36 Gå gjennom programmer, 1-trinns tilbake, 4-trinns tilbake 10 programmer, 3-trinns fremover, 6-trinns fremover 10
programmer
1-7 Angi ukedager. 1 = søndag, 2 = mandag, 3 = tirsdag, 4 = onsdag, 5 = torsdag, 6 = fredag, 7 = lørdag
0 I hovedskjermbildet fjerner du alle manuelle overstyringer og Input A & Input B -tidtakere. I andre menyer endres
valgte alternativer
# På hovedskjermen deaktiverer alle manuelle overstyringer, inngang A og inngang B -tidtakere og programutganger, til
neste arrangement.
* og 1 Start timeren på nytt
* og 2 Fjern alle programmer og alternativer, gjenopprett innstillingene til standard.
* og 3 Sett timeren i standby. Trykk på hvilken som helst tast for å slå timeren på igjen.
Under feil oppføringer av en hvilken som helst tidsverdi blinker LCD -bakgrunnsbelysningen 5 ganger for å indikere en feil. På samme tid vil summeren høres. Kommandoer Avslutt og Neste fungerer bare når gjeldende oppføring er riktig.
LCD -bakgrunnsbelysning
Ved første oppstart vil LCD-bakgrunnsbelysningen slås på i 3 minutter, med mindre:
- Det er en maskinvarefeil (EEPROM eller RTC ikke funnet)
- Tid ikke angitt i RTC
LCD -bakgrunnsbelysningen slås på igjen i 3 minutter på alle brukerinnganger på tastaturet. Hvis LCD -bakgrunnsbelysningen er av, vil en hvilken som helst tastaturkommando først slå på LCD -bakgrunnsbelysningen og ignorere tasten som ble trykket. Dette sikrer at brukeren vil kunne lese LCD -displayet før du bruker tastaturet. LCD -bakgrunnsbelysningen slås også på i 5 sekunder hvis Aux Input A eller Aux Input B er aktivert.
Trinn 6: Menyskjermbilder
Ved hjelp av tastaturet kan hvert av alternativene programmeres enkelt. Bildene gir litt informasjon om hva hver skjerm gjør.
Trinn 7: Design av systemet
All utvikling og testing ble utført på brødbrett. Når jeg så på alle delene av systemet, delte jeg systemet ned i tre moduler. Denne beslutningen skyldtes hovedsakelig PCB -størrelsesbegrensninger (80 x 100 mm) av gratisversjonen av Eagle.
Modul 1 - Strømforsyning
Modul 2 - CPU -kort
Modul 3 - Relébrett
Jeg bestemte meg for at alle komponenter må være lett tilgjengelige, og at jeg ikke ønsket å bruke overflatemonterte komponenter.
La oss gå gjennom hver av dem.
Trinn 8: Strømforsyning
Strømforsyningen er rett frem, og forsyner CPU og relékort med 12V og 5V.
Jeg monterte spenningsregulatorene på anstendig kjøleribber, og brukte også overvurderte kondensatorer for forsyningen.
Trinn 9: CPU -kort
Alle komponenter, unntatt LCD -skjerm, tastatur og reléer er montert på CPU -kortet.
Terminalblokker ble lagt til for å forenkle forbindelsene mellom strømforsyningen, to digitale innganger og lyssensoren.
Toppstifter/kontakter gjør det enkelt å koble til LCD -skjermen og tastaturet.
For utgangene til reléene brukte jeg ULN2803. Den inneholder allerede alle nødvendige drivmotstander og flyback -dioder. Dette sikret at CPU -kortet fortsatt kan lages ved hjelp av gratisversjonen av Eagle. Reléene er koblet til de to ULN2803 -ene. Den nederste ULN2803 brukes for de 8 utgangene, og den øverste ULN2803 for de to hjelpeutgangene. Hver tilleggsutgang har fire transistorer. Tilkoblinger til reléene er også gjennom toppnål/stikkontakter.
PIC 18F4520 var utstyrt med en programmeringsuttak for enkel programmering via PicKit 3 -programmereren.
MERK:
Du vil legge merke til at brettet inneholder en ekstra 8 -pinners IC. Den øverste IC er en PIC 12F675, og koblet til en digital inngang. Dette ble lagt til under PCB -utformingen. Dette gjør det lettere å forhåndsbehandle den digitale inngangen. I søknaden min er en av de digitale inngangene koblet til alarmsystemet mitt. Hvis alarmen lyder, tennes visse lys i huset mitt. Når du aktiverer og deaktiverer alarmsystemet mitt, gir det forskjellige pip på sirenen. Ved å bruke PIC 12F675, kan jeg nå skille mellom arm/frakobling og en ekte alarm. 12F675 er også utstyrt med en programmeringsstikkontakt.
Jeg sørget også for en I2C -port via toppnål/kontakt. Dette vil komme til nytte senere med relébrettene.
Brettet inneholder noen få hoppere, som bør loddes før IC -kontaktene monteres.
Trinn 10: Konklusjon på flytkoden
Siden jeg er vant til å jobbe på registernivå i montering, var det noen ganger vanskelig og frustrerende å bruke komponentmakroene. Dette skyldtes hovedsakelig min mangel på kunnskap om Flowcodes programmeringsstruktur. De eneste stedene jeg har brukt C- eller ASM -blokkene, var å slå på utganger inne i en avbruddsrutine og i Do_KeyPressed -rutinen for å deaktivere/aktivere tastaturavbruddet. PIC er også plassert i SLEEP ved hjelp av en ASM -blokk, når EEPROM eller RTC ikke blir funnet.
Hjelp til bruk ved bruk av de forskjellige I²C -kommandoene, ble alle hentet fra hjelpefilene til Flowcode. Det er nødvendig å vite nøyaktig hvordan de forskjellige I²C -enhetene fungerer, før kommandoene kan brukes vellykket. Design av en krets krever at designeren har alle relevante datablad tilgjengelig. Dette er ikke en mangel på Flowcode.
Flowcode klarte virkelig testen, og anbefales på det sterkeste for personer som ønsker å begynne å jobbe med Microchip -serien av mikroprosessorer.
Flowcode programmering og konfigurasjon for PIC ble angitt i henhold til bildene
Trinn 11: Valgfritt I2C -relékort
CPU -kortet har allerede overskriftstilkoblinger for 16 reléer. Disse utgangene er åpne kollektortransistorer via de to ULN2803 -brikkene. Disse kan brukes til å drive reléene direkte.
Etter de første testene av systemet likte jeg ikke alle ledningene mellom CPU -kortet og releer. Siden jeg inkluderte en I2C -port på CPU -kortet, bestemte jeg meg for å designe relékortet for å koble til I2C -porten. Ved å bruke en 16 -kanals MCP23017 I/O Port Expander -brikke og en ULN2803 -transistormatrise reduserte jeg forbindelsene mellom CPU og reléer til 4 ledninger.
Siden jeg ikke kunne passe 16 reléer på en 80 x 100 mm PCB, bestemte jeg meg for å lage to brett. Hver MCP23017 bruker bare 8 av sine 16 porter. Brett 1 håndterer de 8 utgangene, og brett 2 de to hjelpeutgangene. Den eneste forskjellen på brettene er adressene til hvert brett. Dette settes enkelt med en minigenser. Hvert kort har kontakter for å levere strøm og I2C -data til det andre kortet.
MERK:
Om nødvendig sørger programvaren for kun ett kort som kan bruke alle 16 porter. Alle utgangsrelédata er tilgjengelig på det første kortet.
Siden kretsen er valgfri og veldig enkel, laget jeg ikke en skjematisk. Hvis det er nok etterspørsel, kan jeg legge det til senere.
Trinn 12: Valgfri RF -kobling
Etter at prosjektet var fullført, skjønte jeg snart at jeg må trekke mange 220V AC -ledninger til timeren. Jeg utviklet en RF -kobling ved hjelp av standard 315MHz moduler som tillot timeren å bli plassert inne i et skap, og relékortene inne i taket, nær alle 220V -ledningene.
Koblingen bruker en AtMega328P som kjører på 16MHz. Programvaren for både sender og mottaker er den samme, og modusen velges av en minihopper.
Sender
Senderen er ganske enkelt koblet til CPU I2C -porten. Ingen tilleggsoppsett er nødvendig, ettersom AtMega328P lytter til de samme dataene som I2C -relékortene.
Data oppdateres en gang i sekundet på I2C -porten, og senderen sender denne informasjonen over RF -lenken. Skulle senderen ikke motta I2C -data på omtrent 30 sekunder, sender senderen kontinuerlig data for å slå av alle releer til mottakerenheten.
Strøm til sendermodulen kan velges mellom 12V og 5V med en minihopper på PC -kortet. Jeg driver senderen min med 12V.
Mottaker
Mottakeren lytter etter kodede data fra senderen, og plasserer dataene på en I2C -port. Relékortet kobles ganske enkelt til denne porten, og fungerer på samme måte som det ble plugget inn i CPU -kortet.
Skulle mottakeren ikke motta gyldige data på 30 sekunder, sender mottakeren kontinuerlig data på I2C -porten for å slå av alle reléer på relékortene.
Skjemaer
En dag, hvis det er etterspørsel etter det. Arduino -skissen inneholder all nødvendig informasjon for å bygge kretsen uten et kretsdiagram.
Område
I min installasjon er senderen og mottakeren omtrent 10 meter fra hverandre. Timeren er inne i et skap, og reléenheten på toppen av taket.
Trinn 13: Sluttprodukt
Hovedenheten ble montert i en gammel prosjektboks. Den inneholder følgende:
- 220V/12V transformator
- Strømforsyningskort
- CPU -kort
- LCD-skjerm
- Tastatur
- RF Link -sender
- Ekstra fjernkontrollenhet for hjemmet som lar meg slå lysene på/av via fjernkontrollen
Reléenheten består av følgende:
- 220V/12V transformator
- Strømforsyningskort
- RF Link -mottaker
- 2 x I2C stafettplater
Alle brettene var designet med samme dimensjon, noe som gjør det enkelt å stable dem oppå hverandre med 3 mm avstandsstykker.
Anbefalt:
Renegade-i (programmerbar IC-tester som føles som den virkelige tingen): 3 trinn (med bilder)
Renegade-i (programmerbar IC-tester som føles som den virkelige tingen): THE MILLION DOLLAR DREAM. Har du noen gang drømt om å ha din egen IC-tester hjemme? Ikke bare en gadget som kan teste IC, men en "programmerbar" maskin som føles som et av flaggskipsproduktene til de største aktørene i semikon -testindustrien, lykkes
Servometronom, programmerbar for forskjellige hastigheter: 3 trinn
Servometronom, programmerbar for forskjellige hastigheter: Lag din egen metronom. Alt du trenger er Arduino Mega 2560 startpakke og en kompatibel datamaskin
Stranger Things programmerbar hettegenser: 9 trinn (med bilder)
Stranger Things Programmable Hoodie: Du trenger kanskje ikke å tilbringe tid i en marerittfylt verden av monstre, men noen ganger vil du bare ha på deg en skjorte som sier at du helt KAN leve der hvis du ville. Siden en slik skjorte ikke eksisterer på det åpne markedet, bestemte vi oss for å lage vår
Programmerbar politi -LED -blinker med STM8 [72 lysdioder]: 9 trinn
Programmerbar politi-LED-blinker med en STM8 [72 lysdioder]: STM8S001J3 er en 8-biters mikrokontroller som tilbyr 8 Kbyte Flash-programminne, pluss en integrert ekte data EEPROM. Det omtales som en enhet med lav tetthet i STM8S-mikrokontrollerfamilien. Denne MCU tilbys i en liten SO8N -pakke
Programmerbar syklisk sett på-av-timer med reléutgang: 4 trinn
Programmerbar syklisk sett på-av-timer med reléutgang: Dette prosjektet er å bygge syklisk på-av-programmerbar timer. I dette prosjektet kan brukeren stille PÅ -timer og Av -tid ved hjelp av taster og 7 -segmenters display. Relé leveres som utgang, der reléet forblir PÅ i PÅ -tid og det slås AV etter PÅ ti