Alle Arduino-borde wat bestaan  Lys ‚Ė∑ 2021

Deesdae daar is baie vooruitgang wat geskep is verwysend na die gebied van elektronika en programmering, een van hulle is Arduino.

Arduino is in 2003 geskep, en dit is ‘n toestel wat deur studente van die loopbane gebruik word: elektronika, programmering en megatronika tot gebruik u kennis.

Al die vooruitgang wat tot dusver gemaak is en wat nog sal bly, is buitengewoon, aangesien, omdat dit ‘n gratis sagteware en hardeware is, studente of aanhangers van hierdie gebied is vry om die kode en die Arduino-bord te wysig, om dit so aan te pas by die vereistes van u projekte.

Leer al die Arduino-borde wat u tot vandag toe ontwikkel het, wat u kan koop om te leer hoe u u eie toestelle kan ontwikkel

Voordat u die onderwerp van die verskillende Arduino-borde wat bestaan, is dit nodig om die basiese konsepte om vinniger kennis te maak met die onderwerp, aangesien ons, soos ons vorder, dit sal sien weerspie√ęl in die eienskappe van elke plaat.

Onder hulle is die volgende:

  • Mikrobeheerder: dit is ‘n ge√Įntegreerde stroombaan wat inligting kan verwerk. Dit het verskillende funksies, tussen hulle beheer die invoer- / uitvoerelemente, soos in die geval van rekenaars.
  • Insetspanning: dit moet 7 tot 12V wees.
  • Digitale penne: hierdie tipe penne ontvang waardes van 0v of 5v.
  • Analoog penne: Dit kan gebruik word om spanningswaardes van 0 tot 5v te lees. In Arduino het dit ‘n notasie van A0 tot A5.
  • Spoedklok: Arduino-borde het ‘n interne spoed, aangesien meer funksies bygevoeg word, neem die kloksnelheid af.
  • Blits geheue: Dit is die geheue van die program, die grootte daarvan hang af van die mikrobeheerder, sommige kan 16 kb wees, terwyl ander 32 kb is. By die ontwikkeling van ‘n program moet die soorte veranderlikes in ag geneem word om die minste hoeveelheid geheue te gebruik.
  • PWM-kanale: pulswydte modulasiekanale dit word gebruik om analoog resultate op digitale wyse te verkry.
  • Spanningsreguleerder: stabiliseer die uitsetstroom, die funksie van die omskakeling van die spanning vervul sodat dit in elektroniese komponente gebruik kan word.

Arduino-borde het tot op hede ontwikkel

Weet wat ons hierbo genoem het, gaan ons voort met die visualisering van die lys van die verskillende Arduino-borde wat tot dusver ontwikkel is:

ARDUINO UNO R3

ARDUINO UNO R3

Dit is een van die bekendste plate, en Dit word gekenmerk deur ‘n ATmega328-mikrobeheerder, die insetspanning is gelyk aan of groter as sewe en kan op twaalf volt beperk word. Ook, Arduino UNO-bord kan ge√Įntegreer word met 6 analoog-insette en 14 digitale I / O-penne. Van al sy eienskappe is die 32 KB-geheue en die 16 MHz-kloksnelheid die belangrikste.

ARDUINO MEGA 2560 R3

ARDUINO MEGA 2560 R3

Hierdie Arduino-bord, anders as die vorige Dit bied ons ‘n groter kapasiteit tot 256 KB flashgeheue. Die spanning van die drywers word gehandhaaf, maar die aantal penne is groter; dit is 54 invoer / uitvoer, waarvan 14 PWM is.

ARDUINO LEONARDO

ARDUINO LEONARDO

LEONARDO is die Arduino-bord, dit het ‘n beheerder wat geskik is vir baie programmeringwaarvan die weergawe die ATmega32u4 is. Dit het net 20 digitale invoer- / uitvoerpennetjies, waarvan sewe as PWM-kanale gebruik word en twaalf vir ADC’s. Die snelheid van die klok laat die korrekte uitvoering van eenvoudige take toe, sowel as die 32 KB-geheue-kapasiteit. Hierdie bord Dit is miskien die ideale een vir u as u u kennis van programmering wil toepas.

ARDUINO WEENS

ARDUINO WEENS

Sy beheerde mikrofoon is AT91SAM3X8E, en Dit het ‘n flitsgeheue van 512 KB, uitstekend vir die gebruik van SRAM-toepassings, Hierdie kapasiteit kan vergroot word omdat dit ge√Įntegreer is in twee sekuriteitsbanke, een van 64 KB en die ander van 32 KB. Hierdie Arduino Due-bord is een van die vinnigste, aangesien, sy horlosie het ‘n spoed van 84 MHz. Wat penne betref, dit integreer met 54, waarvan 12 PWM-uitsette is.

ARDUINO Y√öN

ARDUINO Y√öN

Arduino Y√öN Dit is een van die ge√Įntegreerde borde met Micro USB- en PoE 802.3af-insetteDit is een van die vele kenmerke wat dit ‘n sterk aanbevole bord vir enige soort programmering maak. Twaalf van die vier-en-vyftig invoer- en uitvoerpennetjies is PWM en die flitsgeheue daarvan is 32 KB, maar slegs 28 KB kan gebruik word, aangesien 4 KB uitsluitlik vir die selflaaiprogram is.

ARDUINO PRO MINI 328, 5V, 16 MHz

 ARDUINO PRO MINI 328, 5V, 16 MHz

Soos die Arduino-bord hierbo getoon, het dit ‘n USB-aansluiting op die bord, wat dit as ‘n unieke kenmerk toevoeg ‘n toleransie van 0,5% as gevolg van sy eksterne resonator van 16 HMz. Die uitsetspanning is maksimum vyf volt. Dit word aanbeveel om ‘n plaat te beskerm teen die gevare van spanning of oorstroom, net soos dit ‘n skild hou teen die omkering van polariteit.

ARDUINO ETHERNET

ARDUINO ETHERNET

Hierdie Arduino-bord bevat ‘n ATmga328-mikrobeheerder, en ‘n spanning van vyf volt vir die korrekte werking daarvan, sy uitset het 7-12 volt aansluiting, en sy inset 6-20 volt. Elke invoer- of uitvoerpen moet maksimum 40 mA gebruik, en 3,3 50mA-penne. Omdat dit ‘n bord is wat geori√ęnteerd is op Ethernet-verbindings, kan dit integreer met ‘n W 5100 TCP / IP-beheerder, met ‘n 2 KB programmeerbare geheue en 1 KB vir die EEPROM.

ARDUINO NANO

ARDUINO NANO

Arduino NANO, bevat ‘n ATMega328 mikrobeheerder, wat ons toelaat om ‘n geheuekapasiteit van 1 KB te gebruik, hoewel die flitsgeheue slegs 32 KB is. Die klok werk met ‘n frekwensiesnelheid van 16 MHz, en die afmetings daarvan is 0,73×1,70 duim.

ARDUINO FIO

ARDUINO FIO

Die tegniese struktuur van hierdie Arduino-bord stel ons in staat om gemaklik met enige programmering te werk. U beheerder of verwerker werk teen ‘n frekwensie van 8 MHz, en dit blyk heeltemal versoenbaar te wees met litium polimeer batterye. Dit bestaan ‚Äč‚Äčuit ‘n reset-knoppie vir die geval dat u die bord herbegin, sowel as aan- en afknoppies.

ARDUINO LYLIPAD 328

ARDUINO LYLIPAD 328

Om mee te eindig met die lys Arduino-borde ons verlaat Arduino LYLIPAD 328. Die naam bevat die syfers 328 omdat die mikrobeheerder die ATMega328V is, wat korrek werk met ‘n frekwensie van 8MHz. Wat die afmetings betref, het dit buitendiameter 50 mm, en dikte 0,8 mm. Dit is een van die nuutste borde, dus dit integreer ‘n outomatiese reset wanneer ‘n stelselstorting opgespoor word.

Die beste Arduino-projekte wat u self kan doen om te leer hoe om gratis hardeware te skep

Skep ‘n gratis hardeware dit is nie ‘n onmoontlike taak nie, die eerste ding is weet watter een sy funksie gaan doen, en die algoritme vir die Programmering.

As u nog nie dink aan watter projek u moet doen om te leer hoe om in Arduino te skep nie, is hier ‘n paar eenvoudige en erkende projekte:

Eenvoudige drukknop

Eenvoudige drukknop

As u in die elektroniese gebied begin, kan u met hierdie projek begin, dit is gebaseer op die druk op ‘n skakelaar om ‘n led aan te skakel. Van al die projekte wat u kan vind, is dit die eenvoudigste en maklikste om te gebruik. Alhoewel ‘n knoppie nutteloos lyk, is dit die begin van alle elektroniese programmering. Leer hoe om ‘n drukknop soos hierdie te skep, is die basis begin behoorlik in die Arduino-w√™reld. U benodig ‘n UNO-bord, ses LED’s en ses skakelaars om ‘n klein agtste klavier te skep.

Die kodes wat u moet skryf, is:

#include "pitches.h"

const int  buttonPin1  =  13 ;     //C

const int  buttonPin2  =  12 ;   // CS

const int  buttonPin3  =  11 ;   //D

const int  buttonPin4  =  10 ;   // DS

const int  buttonPin5  =  9 ;    // E

const int  buttonPin6  =  8 ;    //F

const int  buttonPin7  =  7 ;    // FS

const int  buttonPin8  =  6 ;    //GRAMO

const int  buttonPin9  =  5 ;    // GS

const int  buttonPin10  =  4 ;   //A

const int  buttonPin11  =  3 ;   //COMO

const int  buttonPin12  =  2 ;   //B

const int  buttonPin13  =  1 ;   //C

const int  dip1  =  A0 ;  // LSB, 1

const int  dip2  =  A1 ; // 2

const int  dip3  =  A2 ; // 3

const int  dip4  =  A3 ; // 4

const int  dip5  =  A4 ; // 5

const int  dip6  =  A5 ;  // MSB, 6

int dip1state  =  0 ;

int dip2state  =  0 ;

int dip3state  =  0 ;

int dip4state  =  0 ;

int dip5state  =  0 ;

int dip6state = 0;

int buttonState1 = 0;

int buttonState2 = 0;

int buttonState3 = 0;

int buttonState4 = 0;

int buttonState5 = 0;

int buttonState6 = 0;

int buttonState7 = 0;

int buttonState8 = 0;

int buttonState9 = 0;

int buttonState10 = 0;

int buttonState11 = 0;

int buttonState12 = 0;

int buttonState13 = 0;

void setup() {

pinMode(buttonPin1, INPUT);

pinMode(buttonPin2, INPUT);

pinMode(buttonPin3, INPUT);

pinMode(buttonPin4, INPUT);

pinMode(buttonPin5, INPUT);

pinMode(buttonPin6, INPUT);

pinMode(buttonPin7, INPUT);

pinMode(buttonPin8, INPUT);

pinMode(buttonPin9, INPUT);

pinMode(buttonPin10, INPUT);

pinMode(buttonPin11, INPUT);

pinMode(buttonPin12, INPUT);

pinMode(buttonPin13, INPUT);

pinMode(dip1, INPUT);

pinMode(dip2, INPUT);

pinMode(dip3, INPUT);

pinMode(dip4, INPUT);

pinMode(dip5, INPUT);

pinMode(dip6, INPUT);

}

void loop(){

// read the state of the pushbutton value:

buttonState1 = digitalRead(buttonPin1);

buttonState2 = digitalRead(buttonPin2);

buttonState3 = digitalRead(buttonPin3);

buttonState4 = digitalRead(buttonPin4);

buttonState5 = digitalRead(buttonPin5);

buttonState6 = digitalRead(buttonPin6);

buttonState7 = digitalRead(buttonPin7);

buttonState8 = digitalRead(buttonPin8);

buttonState9 = digitalRead(buttonPin9);

buttonState10 = digitalRead(buttonPin10);

buttonState11 = digitalRead(buttonPin11);

buttonState12 = digitalRead(buttonPin12);

buttonState13 = digitalRead(buttonPin13);

dip1state = digitalRead(dip1);

dip2state = digitalRead(dip2);

dip3state = digitalRead(dip3);

dip4state = digitalRead(dip4);

dip5state = digitalRead(dip5);

dip6state = digitalRead(dip6);

if (dip1state == LOW //00 or 19 in HEX; C4

&& dip2state == LOW

&& dip3state == LOW

&& dip4state == LOW

&& dip5state == LOW

&& dip6state == LOW

|| dip1state == HIGH

&& dip2state == LOW

&& dip3state == LOW

&& dip4state == HIGH

&& dip5state == HIGH

&& dip6state == LOW )

{ if (buttonState1 == LOW) {

tone(0, NOTE_C4);}

else if (buttonState2 == LOW) {

tone(0, NOTE_CS4);}

else if(buttonState3 == LOW) {

tone(0, NOTE_D4);}

else if(buttonState4 == LOW) {

tone(0, NOTE_DS4);}

else if(buttonState5 == LOW) {

tone(0, NOTE_E4);}

else if(buttonState6 == LOW) {

tone(0, NOTE_F4);}

else if(buttonState7 == LOW) {

tone(0, NOTE_FS4);}

else if(buttonState8 == LOW) {

tone(0, NOTE_G4);}

else if(buttonState9 == LOW) {

tone(0, NOTE_GS4);}

else if(buttonState10 == LOW) {

tone(0, NOTE_A4);}

else if(buttonState11 == LOW) {

tone(0, NOTE_AS4);}

else if(buttonState12 == LOW) {

tone(0, NOTE_B4);}

else if(buttonState13 == LOW) {

tone(0, NOTE_C5);}

else {

noTone(0); }

}

else if (dip1state == HIGH        //01 in HEX; C2

&& dip2state == LOW

&& dip3state == LOW

&& dip4state == LOW

&& dip5state == LOW

&& dip6state == LOW)

{ if (buttonState1 == LOW) {

tone(0, NOTE_C2);}

else if (buttonState2 == LOW) {

tone(0, NOTE_CS2);}

else if(buttonState3 == LOW) {

tone(0, NOTE_D2);}

else if(buttonState4 == LOW) {

tone(0, NOTE_DS2);}

else if(buttonState5 == LOW) {

tone(0, NOTE_E2);}

else if(buttonState6 == LOW) {

tone(0, NOTE_F2);}

else if(buttonState7 == LOW) {

tone(0, NOTE_FS2);}

else if(buttonState8 == LOW) {

tone(0, NOTE_G2);}

else if(buttonState9 == LOW) {

tone(0, NOTE_GS2);}

else if(buttonState10 == LOW) {

tone(0, NOTE_A2);}

else if(buttonState11 == LOW) {

tone(0, NOTE_AS2);}

else if(buttonState12 == LOW) {

tone(0, NOTE_B2);}

else if(buttonState13 == LOW) {

tone(0, NOTE_C3);}

else {

noTone(0); }

}

else if (dip1state == LOW        //02 in HEX; CS2

&& dip2state == HIGH

&& dip3state == LOW

&& dip4state == LOW

&& dip5state == LOW

&& dip6state == LOW)

{if (buttonState1 == LOW) {

tone(0, NOTE_CS2);}

else if (buttonState2 == LOW) {

tone(0, NOTE_D2);}

else if(buttonState3 == LOW) {

tone(0, NOTE_DS2);}

else if(buttonState4 == LOW) {

tone(0, NOTE_E2);}

else if(buttonState5 == LOW) {

tone(0, NOTE_F2);}

else if(buttonState6 == LOW) {

tone(0, NOTE_FS2);}

else if(buttonState7 == LOW) {

tone(0, NOTE_G2);}

else if(buttonState8 == LOW) {

tone(0, NOTE_GS2);}

else if(buttonState9 == LOW) {

tone(0, NOTE_A2);}

else if(buttonState10 == LOW) {

tone(0, NOTE_AS2);}

else if(buttonState11 == LOW) {

tone(0, NOTE_B2);}

else if(buttonState12 == LOW) {

tone(0, NOTE_C3);}

else if(buttonState13 == LOW) {

tone(0, NOTE_CS3);}

else {

noTone(0); }

}

//realiza los mismos pasos hasta llegar al 15 in GS3

else if (dip1state == HIGH       // 15 in HEX; GS3

&& dip2state == LOW

&& dip3state == HIGH

&& dip4state == LOW

&& dip5state == HIGH

&& dip6state == LOW)

{ if (buttonState1 == LOW) {

tone(0, NOTE_GS3);}

else if (buttonState2 == LOW) {

tone(0, NOTE_A3);}

else if(buttonState3 == LOW) {

tone(0, NOTE_AS3);}

else if(buttonState4 == LOW) {

tone(0, NOTE_B3);}

else if(buttonState5 == LOW) {

tone(0, NOTE_C4);}

else if(buttonState6 == LOW) {

tone(0, NOTE_CS4);}

else if(buttonState7 == LOW) {

tone(0, NOTE_D4);}

else if(buttonState8 == LOW) {

tone(0, NOTE_DS4);}

else if(buttonState9 == LOW) {

tone(0, NOTE_E4);}

else if(buttonState10 == LOW) {

tone(0, NOTE_F4);}

else if(buttonState11 == LOW) {

tone(0, NOTE_FS4);}

else if(buttonState12 == LOW) {

tone(0, NOTE_G4);}

else if(buttonState13 == LOW) {

tone(0, NOTE_GS4);}

else {

noTone(0); }

}

else if (dip1state == LOW

&& dip2state == HIGH

&& dip3state == HIGH

&& dip4state == LOW

&& dip5state == HIGH

&& dip6state == LOW)

{ if (buttonState1 == LOW) {

tone(0, NOTE_A3);}

else if (buttonState2 == LOW) {

tone(0, NOTE_AS3);}

else if(buttonState3 == LOW) {

tone(0, NOTE_B3);}

else if(buttonState4 == LOW) {

tone(0, NOTE_C4);}

else if(buttonState5 == LOW) {

tone(0, NOTE_CS4);}

else if(buttonState6 == LOW) {

tone(0, NOTE_D4);}

else if(buttonState7 == LOW) {

tone(0, NOTE_DS4);}

else if(buttonState8 == LOW) {

tone(0, NOTE_E4);}

else if(buttonState9 == LOW) {

tone(0, NOTE_F4);}

else if(buttonState10 == LOW) {

tone(0, NOTE_FS4);}

else if(buttonState11 == LOW) {

tone(0, NOTE_G4);}

else if(buttonState12 == LOW) {

tone(0, NOTE_GS4);}

else if(buttonState13 == LOW) {

tone(0, NOTE_A4);}

else {

noTone(0); }

}

else if (dip1state == HIGH

&& dip2state == HIGH

&& dip3state == HIGH

&& dip4state == LOW

&& dip5state == HIGH

&& dip6state == LOW)

{ if (buttonState1 == LOW) {

tone(0, NOTE_AS3);}

else if (buttonState2 == LOW) {

tone(0, NOTE_B3);}

else if(buttonState3 == LOW) {

tone(0, NOTE_C4);}

else if(buttonState4 == LOW) {

tone(0, NOTE_CS4);}

else if(buttonState5 == LOW) {

tone(0, NOTE_D4);}

else if(buttonState6 == LOW) {

tone(0, NOTE_DS4);}

else if(buttonState7 == LOW) {

tone(0, NOTE_E4);}

else if(buttonState8 == LOW) {

tone(0, NOTE_F4);}

else if(buttonState9 == LOW) {

tone(0, NOTE_FS4);}

else if(buttonState10 == LOW) {

tone(0, NOTE_G4);}

else if(buttonState11 == LOW) {

tone(0, NOTE_GS4);}

else if(buttonState12 == LOW) {

tone(0, NOTE_A4);}

else if(buttonState13 == LOW) {

tone(0, NOTE_AS4);}

else {

noTone(0); }

}

else if (dip1state == LOW

&& dip2state == LOW

&& dip3state == LOW

&& dip4state == HIGH

&& dip5state == HIGH

&& dip6state == LOW)

{ if (buttonState1 == LOW) {

tone(0, NOTE_B3);}

else if (buttonState2 == LOW) {

tone(0, NOTE_C4);}

else if(buttonState3 == LOW) {

tone(0, NOTE_CS4);}

else if(buttonState4 == LOW) {

tone(0, NOTE_D4);}

else if(buttonState5 == LOW) {

tone(0, NOTE_DS4);}

else if(buttonState6 == LOW) {

tone(0, NOTE_E4);}

else if(buttonState7 == LOW) {

tone(0, NOTE_F4);}

else if(buttonState8 == LOW) {

tone(0, NOTE_FS4);}

else if(buttonState9 == LOW) {

tone(0, NOTE_G4);}

else if(buttonState10 == LOW) {

tone(0, NOTE_GS4);}

else if(buttonState11 == LOW) {

tone(0, NOTE_A4);}

Elektroniese sterfstuk

Elektroniese sterfstuk

As jy lief is vir bordspeletjies, hierdie projek is vir u, want dit gaan oor ‘n elektroniese sterfstuk te skep, met ‘n Arduino UNO-raad. Die matrijs bestaan ‚Äč‚Äčuit 7 LED’s, wat as die gebruiker op die knoppie druk, die getalle van 1 tot 6 willekeurig vertoon sal word.

Die instruksies wat u by die IDE moet voeg, is:

// Definición de pines LED

int ledPins [ 7 ]  =  { 2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 };

int dicePatterns [ 7 ] [ 7 ]  =  {

{ 0 , 0 ,  0 ,  0 ,  0 ,  0 ,  1 },  // 1

{ 0 , 0 ,  1 ,  1 ,  0 ,  0 ,  0 },  // 2

{ 0 , 0 ,  1 ,  1 ,  0 ,  0 ,  1 },  // 3

{ 1 , 0 ,  1 ,  1 ,  0 ,  1 ,  0 },  // 4

{ 1 , 0 ,  1 ,  1 ,  0 ,  1 ,  1 },  // 5

{ 1 , 1 ,  1 ,  1 ,  1 ,  1 ,  0 },  // 6

{ 0 , 0 ,  0 ,  0 ,  0 ,  0 ,  0 }  // En blanco

};

int switchPin  =  9 ;    // Definición de pin de botón

int blanco  =  6 ;

configuración vacía ()

{

para ( int  i  =  0 ;  i  <  7 ;  i ++ )

{

pinMode ( ledPins [ i ], SALIDA );

digitalWrite ( ledPins [ i ], BAJO );

}

randomSeed(analogRead(0));

}

void loop()

{

if (digitalRead(switchPin))

{

rollTheDice();

}

delay(100);

}

void rollTheDice()

{

int result = 0;

int lengthOfRoll = random(15, 25);

for (int i = 0; i < lengthOfRoll; i++)

{

result = random(0, 6);

show(result);

delay(50 + i * 10);

}

for (int j = 0; j < 3; j++)

{

show(blank);

delay(500);

show(result);

delay(500);

}

}

void show(int result)

{

para ( int  i  =  0 ;  i  <  7 ;  i ++ )

{

digitalWrite ( ledPins [ i ], dicePatterns [ resultado ] [ i ]);

}

}

Ligte spoorsnyer

Ligte spoorsnyer

Hierdie projek is gebaseer op ‘n eenvoudige ligspoorsnyer / spoorsnyer, Dit bestaan ‚Äč‚Äčuit twee fotoresistore (‘n komponent wat sensitief is vir lig) wat ‘n fundamentele rol in die projek speel. As dit die lig opspoor, sal dit deur middel van ‘n servo beweeg.

Om dit te laat werk, moet u die Nano R3-bord programmeer met die volgende instruksies:

#include <Servo.h>

Servo myServoEW ;

Servo myServoNS ;

int farkNS ;

int farkEW ;

int degNS ;

int degEW ;

int ldrN ;

int ldrW ;

int ldrS ;

int ldrE ;

configuración vacía () {

// Escribe a continuación tu código de configuración

begin ( 115200 ) ;

attach ( 5 ) ;

attach ( 4 ) ;

retraso ( 500 ) ;

degNS=90;

degEW=90;

write(degNS);

write(degEW);

}

void loop() {

ldrN=analogRead(A0);

ldrW=analogRead(A1);

ldrS=analogRead(A2);

ldrE=analogRead(A3);

print("ldrN:");

print(ldrN);

print(" ldrW:");

print(ldrW);

print(" ldrS:");

print(ldrS);

print(" ldrE:");

print(ldrE);

print(" degEW");

print(degEW);

print(" degNS");

println(degNS);

delay(100);

if (ldrN>ldrS)

{

farkNS=ldrN-ldrS;

if (farkNS>5)

{

degNS++;

write(degNS);

}

}

if (ldrS>ldrN)

{

farkNS=ldrS-ldrN;

if (farkNS>5)

{

degNS--;

write(degNS);

}

}

if (ldrW>ldrE)

{

farkEW=ldrW-ldrE;

if (farkEW>5)

{

degEW++;

write(degEW);

}

}

if ( ldrE> ldrW )

{

farkEW = ldrE-ldrW ;

si ( farkEW> 5 )

{

degEW-- ;

write ( degEW ) ;

}

}

}

Kyk na die omgewingslig

Kyk na die omgevingslig

As u wil weet wat die vlak van klank en lig is u kan Arduino kies. Hierdie tipe projek is die een wat aangedui word om te weet of die geraas en beligting optimaal is vir die vasgestelde parameters. Die groen led gaan aan, en as hulle afneem, sal die geel en rooi led brand.

Stel u Arduino UNO op met die volgende kodes:

const int ledCount = 12; // numero de leds

int sensorReading; // lectura del ADC 0-1024

int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};

void setup() {

begin(9600); //inicamos el puerto Serial

for (int thisLed = 0; thisLed < ledCount; thisLed++) {pinMode(ledPins[thisLed], OUTPUT);}

}

void loop() {

sensorReading = analogRead(A1);

println(sensorReading);

int ledLevel = map(sensorReading, 200,500, 0, ledCount);

for (int thisLed = 0; thisLed < ledCount; thisLed++) {

if (thisLed < ledLevel) {

digitalWrite(ledPins[thisLed], HIGH);// encendemos los LED segun la intensidad de la se√Īal

}

else {

digitalWrite(ledPins[thisLed], LOW);// apagamos los LED segun la intensidad de la se√Īal

}

}

delay(10);

}

Halloween-projek

Halloween-projek

‘N Skedel om pret te h√™ op Halloween, baie eenvoudig en onderhoudend, Die komponente wat gebruik moet word, is: 1 servomotor in die boks, 1 infrarooi sensor, laasgenoemde is verantwoordelik om op te spoor of daar ‘n voorwerp in die boks is, en indien wel, sal die boks met behulp van die servomotor toegemaak word.

Om hierdie projek uit te voer, moet u die volgende opdragte in die Arduino IDE byvoeg:

importar transmisiones

de floyd.rtttl  importar  rtttl

importar subprocesos

# importar módulo toishield

de toishield  importar  toishield

# importar módulo neopixel

de neopixel  importar  ledstrips  como  neo

arroyos . serial ()

# establecer detección habilitada y calabaza inactiva de forma predeterminada

toishield . micrófono . detecciónEnabled =  Verdadero

toishield . micrófono . activePumpkin =  Falso

# establecer alguna variable para la detección de sonido

toishield . micrófono . staticMin =  4096

toishield . micrófono . staticMax =  - 4096

toishield . micrófono . resetMinMaxCounter =  0

# ¬°Declare que los leds parpadeen!

leds =  neo . ledstrip ( toishield . led_pin ,  16 )

setall(0,0,0)

on()

# semaphore initialized to 0 -> red: if a thread tries to acquire the semaphore

# it blocks if the semaphore has not been turned 'green' (released)

semaphore = threading.Semaphore(0)

# define a RTTTL Halloween melody to be played by passing it the RTTTL string.

hsong = rtttl.tune('Halloween:d=4,o=5,b=180:8d6,8g,8g,8d6,8g,8g,8d6,8g,8d#6,8g,8d6,8g,8g,8d6,8g,8g,8d6,8g,8d#6,8g,8c#6,8f#,8f#,8c#6,8f#,8f#,8c#6,8f#,8d6,8f#,8c#6,8f#,8f#,8c#6,8f#,8f#,8c#6,8f#,8d6,8f#')

# toishield.buzzer_pin=D9.PWM

def blink():

# blink while the pumpkin is active

while toishield.microphone.activePumpkin:

setall(255,0,0)

on()

sleep(500)

setall(255,140,0)

on()

sleep(500)

setall(0,0,0)

on()

release()

def playHalloween():

# plays halloween song two times, then disables pumpkin, but also waits

# at the semaphore to synchronize with blinking thread

for i in range(2):

play(toishield.buzzer_pin)

microphone.activePumpkin = False

acquire()

sleep(1000)

print("enabled again")

microphone.detectionEnabled = True

def scare():

# this is called when the sound exceeds the threshold, waits one second

# and starts scaring!

sleep(1000)

thread(playHalloween)

thread(blink)

# define a function that takes a sensor object as parameter and checks the

# maximum peak to peak extension of the signal in a preset window

# look at this

# example for details on how the sound detector works

def detectSound(obj):

if (obj.resetMinMaxCounter == obj._observationWindowN):

extension = obj.staticMax - obj.staticMin

if (extension > 1000):

if obj.detectionEnabled:

detectionEnabled = False

activePumpkin = True

thread(scare)

staticMax, obj.staticMin = -4096, 4096

resetMinMaxCounter = 0

else:

c = obj.currentSample()

if (c > obj.staticMax):

staticMax = c

elif (c < obj.staticMin):

staticMin = c

resetMinMaxCounter += 1

# establecer 'detectSound' como la función que se aplicará al objeto en cada paso de muestreo

toishield . micrófono . doEverySample ( detectar sonido )

toishield . micrófono . startSampling ( 1 , 50 , "raw" )

As u vrae het, laat dit in die kommentaar, ons sal u so spoedig moontlik antwoord, en dit sal ook vir meer lede van die gemeenskap van groot hulp wees. Dankie! ūüėČ

Mario Jose

Skrywer: Mario José

Afgestudeer in joernalistiek, gespesialiseerd in ondersoek, soek ek die waarheid van alle dinge. Nou is 100% gefokus op tegnologie, rekenaars en die internet.

U mag ook belangstel:

Leave a Comment