Vá sempre além do que é esperado
// the setup function runs once when you press reset or power the board void setup() { // initialize digital pin 8 as an output. pinMode(8, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(8, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(8, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
// the setup function runs once when you press reset or power the board void setup() { // initialize digital pin 7 as an output. pinMode(7, OUTPUT); // Relay is instaled on pin 7 } // the loop function runs over and over again forever void loop() { digitalWrite(7, HIGH); // turn the Relay on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(7, LOW); // turn the Relay off by making the voltage LOW delay(1000); // wait for a second }
#include //INCLUSÃO DA BIBLIOTECA NECESSÁRIA const int pinoServo = 10; //PINO DIGITAL UTILIZADO PELO SERVO Servo s; //OBJETO DO TIPO SERVO int pos; //POSIÇÃO DO SERVO void setup (){ s.attach(pinoServo); //ASSOCIAÇÃO DO PINO DIGITAL AO OBJETO DO TIPO SERVO s.write(0); //INICIA O MOTOR NA POSIÇÃO 0º } void loop(){ for(pos = 0; pos < 120; pos++){ //PARA "pos" IGUAL A 0, ENQUANTO "pos" MENOR QUE 120, INCREMENTA "pos" s.write(pos); //ESCREVE O VALOR DA POSIÇÃO QUE O SERVO DEVE GIRAR delay(15); //INTERVALO DE 15 MILISSEGUNDOS } delay(1000); //INTERVALO DE 1 SEGUNDO for(pos = 120; pos >= 0; pos--){ //PARA "pos" IGUAL A 120, ENQUANTO "pos" MAIOR OU IGUAL QUE 0, DECREMENTA "pos" s.write(pos); //ESCREVE O VALOR DA POSIÇÃO QUE O SERVO DEVE GIRAR delay(15); //INTERVALO DE 15 MILISSEGUNDOS } }
#include <Wire.h> // Biblioteca utilizada para fazer a comunicação com o I2C #include <LiquidCrystal_I2C.h> // Biblioteca utilizada para fazer a comunicação com o display 20x4 #define col 16 // Serve para definir o numero de colunas do display utilizado #define lin 2 // Serve para definir o numero de linhas do display utilizado #define ende 0x27 // Serve para definir o endereço do display. LiquidCrystal_I2C lcd(ende,col,lin); // Chamada da funcação LiquidCrystal para ser usada com o I2C void setup() //Incia o display { lcd.init(); // Serve para iniciar a comunicação com o display já conectado lcd.backlight(); // Serve para ligar a luz do display lcd.clear(); // Serve para limpar a tela do display } void loop() { lcd.setCursor(2,0); // Coloca o cursor do display na coluna 2 e linha 0 lcd.print("Quer aprender"); // Comando de saída com a mensagem que deve aparecer na coluna 2 e linha 0. lcd.setCursor(4,1); //Coloca o cursor do display na coluna 4 e linha 1 lcd.print("Arduino?"); // Comando de saida com a mensagem que deve aparecer na coluna 4 e linha 1 delay(5000); // delay de 5 segundos com todas as mensagens na tela lcd.clear(); // Limpa o display até o loop ser reiniciado lcd.setCursor(4,0); // Coloca o cursor do display na coluna 4 e linha 0 lcd.print("PCB AL-1 "); // Comando de saída com a mensagem que deve aparecer na coluna 4 e linha 0. lcd.setCursor(2,1); //Coloca o cursor do display na coluna 2 e linha 1 lcd.print("Plug & Play "); // Comando de saida com a mensagem que deve aparecer na coluna 2 e linha 1 delay(5000); // delay de 5 segundos com todas as mensagens na tela lcd.clear(); // Limpa o display até o loop ser reiniciado }
// defines pins numbers const int trigPin = 5; const int echoPin = 4; // defines variables long duration; float distance; void setup() { pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output pinMode(echoPin, INPUT); // Sets the echoPin as an Input Serial.begin(9600); // Starts the serial communication } void loop() { // Clears the trigPin digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance = duration * 0.034 / 2; // Prints the distance on the Serial Monitor Serial.print("Distance: "); Serial.print(distance, 2); Serial.println(" cm"); delay(1000); }
#include <Wire.h> // Biblioteca utilizada para fazer a comunicação com o I2C #include <LiquidCrystal_I2C.h> // Biblioteca utilizada para fazer a comunicação com o display 20x4 #include "DHT.h" #define col 16 // Serve para definir o numero de colunas do display utilizado #define lin 2 // Serve para definir o numero de linhas do display utilizado #define ende 0x27 // Serve para definir o endereço do display. #define DHTPIN 9 // pino que estamos conectado #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(ende,col,lin); // Chamada da funcação LiquidCrystal para ser usada com o I2C byte umidade; float temperatura; void setup() //Incia o display { dht.begin(); lcd.init(); // Serve para iniciar a comunicação com o display já conectado lcd.backlight(); // Serve para ligar a luz do display lcd.clear(); // Serve para limpar a tela do display } void loop() { umidade = dht.readHumidity(); temperatura = dht.readTemperature(); lcd.setCursor(0,0); // Coloca o cursor do display na coluna 0 e linha 0 lcd.print("Temp: "); // Comando de saída com a mensagem que deve aparecer na coluna 0 e linha 0. lcd.setCursor(6,0); //Coloca o cursor do display na coluna 6 e linha 0 lcd.print(temperatura,1); // Comando de saida com a mensagem que deve aparecer na coluna 6 e linha 0 lcd.setCursor(11,0); //Coloca o cursor do display na coluna 11 e linha 0 lcd.print("C"); // Comando de saida com a mensagem que deve aparecer na coluna 11 e linha 0 lcd.setCursor(0,1); // Coloca o cursor do display na coluna 0 e linha 1 lcd.print("Umid: "); // Comando de saída com a mensagem que deve aparecer na coluna 0 e linha 1. lcd.setCursor(6,1); //Coloca o cursor do display na coluna 6 e linha 1 lcd.print(umidade); // Comando de saida com a mensagem que deve aparecer na coluna 6 e linha 1 lcd.setCursor(9,1); //Coloca o cursor do display na coluna 9 e linha 1 lcd.print("%"); // Comando de saida com a mensagem que deve aparecer na coluna 9 e linha 1 delay(5000); // delay de 5 segundos com todas as mensagens na tela lcd.clear(); // Limpa o display até o loop ser reiniciado }
// Define pin connections & motor's steps per revolution const int dirPin = A0; const int stepPin = A1; const int slpPin = A2; const int rstPin = A3; const int stepsPerRevolution = 200; void setup() { // Declare pins as Outputs pinMode(stepPin, OUTPUT); pinMode(dirPin, OUTPUT); pinMode(slpPin, OUTPUT); pinMode(rstPin, OUTPUT); digitalWrite(slpPin, HIGH); digitalWrite(rstPin, HIGH); } void loop() { // Set motor direction clockwise digitalWrite(dirPin, HIGH); // Spin motor slowly for(int x = 0; x < stepsPerRevolution; x++) { digitalWrite(stepPin, HIGH); delayMicroseconds(2000); digitalWrite(stepPin, LOW); delayMicroseconds(2000); } delay(1000); // Wait a second // Set motor direction counterclockwise digitalWrite(dirPin, LOW); // Spin motor quickly for(int x = 0; x < stepsPerRevolution; x++) { digitalWrite(stepPin, HIGH); delayMicroseconds(1000); digitalWrite(stepPin, LOW); delayMicroseconds(1000); } delay(1000); // Wait a second }
#define TxRxPin 6 //HIGH:TX e LOW:RX Para o RS-485 #define LedPin 8 void setup() { Serial.begin(9600); pinMode(TxRxPin, OUTPUT); pinMode(LedPin, OUTPUT); } void loop() { digitalWrite(TxRxPin, HIGH); // RS485 como transmissor Serial.println("--> Que horas são?"); delay(20); // Aguarda um pouco emcuanto envia a mensagem digitalWrite(TxRxPin, LOW); // RS485 como receptor digitalWrite(LedPin, HIGH); // Led indica que estara aguardando uma resposta while(Serial.available() == 0){} // Espera por algum dado disponivel digitalWrite(LedPin, LOW); // Led desliga indicando que chegou uma mensagem String text = Serial.readString(); // Lê até o timeout text.trim(); // Remove \r \n whitespace do final do string Serial.print("<-- "); Serial.println(text); delay(5000); }