IC timer 555 adalah sirkuit terpadu (chip) yang digunakan dalam berbagai pembangkit timer, pulsa dan aplikasi osilator. Komponen ini digunakan secara luas, berkat kemudahan dalam penggunaan, harga rendah dan stabilitas yang baik
Kami bantu anda untuk memahami lebih jelas mengenai migrasi tv digital, apa sebabnya dan bagaimana efek terhadap kehidupan. Jasa teknisi juga tersedia dan siap membantu instalasi - setting perangkat - pengaturan antena dan distribusi televisi digital ke kamar kos / hotel
Project Sederhana dengan Dot Matrix dan Attiny2313. Bisa menjadi hadiah buat teman atau pacarmu yang ulang tahun dengan tulisan dan animasi yang dapat dibuat sendiri.
Jika anda pencinta IC TTL datau CMOS maka project jam digital ini akan menunjukkan bahwa tidak ada salahnya balik kembali ke dasar elektronika digital , sebab semuanya BISA dibuat dengan teknologi jadul
Sangat jarang saya menulis blog setelah youtube nya duluan saya upload, jadi mungkin terbawa perasaan kehilangan teman yang sering bikin vlog, jadi beberapa hari belakangan saya rajin mengunggah video tutorial. Bahasan yg di tampilkan adalah mengenai cara menulis data dan menampilkan grafik dari Arduino ke microsoft excel, walau diluaran sana sudah ada tools langsung jadi tapi kini saya bahas lebih mudah menggunakan bantuan python / xlwings. Jadi dengan tutorial kali ini maka tidak susah-susah lagi menggunakan mysql+php pada windows (xamp) cukup excel aja.
Sensor sejuta umat DHT11 mungkin paling sering dibahas dimana-mana termasuk pada blog ini dimana untuk DHT11 vs MQTT sudah pernah saya bahas di :http://www.aisi555.com/2019/10/iot-lebih-lanjut-dengan-mqtt.html , jadi kali ini saya anggap pembaca sudah paham cara mengirim data MQTT nya. Kita akan lebih ke library python nya yang saya gunakan yaitu XLWINGS.
import xlwings as xw #library
wb = xw.Book('Book1.xlsx') #nama file excel
sht = wb.sheets['coba'] #nama sheets
sht.range('C1').value= 10
sht.range('C2:C10').value='aku menulis'
for x in range(1,50):
a='A'+str(x)
b='B'+str(x)
sht.range(a).value= x*3
sht.range(b).value= x*2
Sangat jelas dan singkat script python diatas jadi tidak perlu dibahas lagi dan jika dijalankan hasilnya akan seperti berikut:
xlwings merupakan library paling bagus menurut saya kalau dilihat dari segi metode penulisannya yang langsung saat excel terbuka, jadi sangat cocok untuk menampilkan grafik realtime dari pengukuran DHT11. Script dari wemos-esp8266-wifi-mqtt yang saya gunakan seperti berikut :
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include "DHT.h"
const char *ssid = "myIOT"; //ubah sesuai wifi anda
const char *pass = "selaluterhubung";
//broker gratisan hivemq.com
const char *mqtt_server = "broker.hivemq.com";
const int mqtt_port = 1883;
const char *mqtt_user = "";
const char *mqtt_pass = "";
const char *mqtt_client_name = "ahocool445566";
//inisialisasi DHT
#define DHTPIN 5
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
WiFiClient wclient;
PubSubClient client(wclient);
#define TOPIKDHT "/test/dht11" //topik yang digunakan
//koneksi wifi
void setupwifi()
{
if (WiFi.status() != WL_CONNECTED) {
Serial.print("Connecting to Wifi: ");
Serial.print(ssid);
Serial.println("...");
WiFi.begin(ssid, pass);
if (WiFi.waitForConnectResult() != WL_CONNECTED)
return;
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
}
void setup() {
Serial.begin(9600); //serial monitoring
setupwifi();
client.setServer(mqtt_server, mqtt_port); // server mqtt
dht.begin(); //mulai dht
}
void kirim(String kata) //publish ke topik
{
Serial.println("publish to topic: " );
Serial.print(TOPIKDHT);
Serial.print(" : ");
Serial.println(kata);
char message_buff[kata.length() + 1];
kata.toCharArray(message_buff, kata.length() + 1);
client.publish(TOPIKDHT,message_buff);
}
void reconnectmqtt() //konek mqtt lagi jika putus
{
Serial.println("Connecting to MQTT server..");
if (client.connect(mqtt_client_name,mqtt_user, mqtt_pass)) {
Serial.println("Connected to MQTT server");
} else {
Serial.println("Could not connect to MQTT server");
}
}
void loop() {
if (!client.connected()) //cek koneksi mqtt
{
reconnectmqtt();
}
//baca suhu dan kelembaban
float h = dht.readHumidity();
float t = dht.readTemperature();
// Cek jika pembacaan sensor benar lalu kirim
if (isnan(h) || isnan(t)) {
Serial.println(F("Failed to read from DHT sensor!"));
}
else{
//kirim ke serial monitoring
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
//kirim ke mqtt data "suhu,kelembaban"
kirim( String(t) + ","+ String(h) );
}
delay(5000); //delay pengiriman mqtt
}
Sangat sederhana tujuan script diatas berupa pengiriman ke sebuah TOPIK MQTT yaitu : "/test/dht11" berupa data string "suhu , kelembaban" (contoh : "30.5,70.00") lalu oleh python akan di subscribe dan jika ada data masuk akan ditulis oleh library python XLWINGS seperti script berikut:
import paho.mqtt.client as mqtt #library mqtt
import xlwings as xw #library menulis excel
wb = xw.Book('Book1.xlsx') #nama book/file excel
sht = wb.sheets['data'] #nama sheets
row = 1
########## menulis ke excel #########
def to_excel(data):
print(data)
datae = data.split(",") #bikin list delim koma
global row #ini reset row kembali ke 2
if row == 51:
row=2
else:
row=row+1 #increment row tiap ada data masuk
rowsuhu='A'+str(row) #kolom suhu
rowhumi='B'+str(row) #kolom kelembaban
sht.range(rowsuhu).value= float(datae[0]) #tulis suhu
sht.range(rowhumi).value= float(datae[1]) #tulis kelembaban
############ call back pesan mqtt masuk ##########
def on_message(client, userdata, message):
print("message received " ,str(message.payload.decode("utf-8")))
print("message topic=",message.topic)
print("message qos=",message.qos)
print("message retain flag=",message.retain)
to_excel(str(message.payload.decode("utf-8"))) #tulis ke excel
########################################
broker_address="broker.hivemq.com" #broker mqtt
broker_port=1883
broker_user=""
broker_pass=""
print("creating new instance")
client = mqtt.Client("P1") #create new instance
client.on_message=on_message #attach function to callback
client.username_pw_set(broker_user,broker_pass)
print("connecting to broker")
client.connect(broker_address,broker_port) #connect to broker
#start the loop
print("Subscribing to topic","/test/dht")
client.subscribe("/test/dht11")
client.loop_forever()
Jadi jika kita run script pythonnya dan data kemudian akan ditulis ke excel sehingga grafik terupdate.
Ini cocok digunakan untuk sensor yang jarak jauh dan ingin ditampilkan sebagai monitoring langsung dan karena excel umum digunakan maka pengaturan tampilannya dapat disesuaikan dengan mudah. Jika alat yang dimonitoring letaknya dekat maka cukup menggunakan serial port dan akan dibahas pada tulisan selanjutnya.
#daring #daringadalah daring adalah mpls #sekolah #guru #google classroom google classroom sekolah online guru kelas zoom webcam